需求修改conf配置内容,节点内容如下 listen 1935; max_connections 1000; #daemon off; #srs_log_tank console; vhost defaultVhost { ingest livestream { enabled on; input { type file; url rtsp://guest:guest@192.168.0.59:554/stream0/low; } ffmpeg ./objs/ffmpeg/bin/ffmpeg; engine { enabled off; output rtmp://192.168.0.45/live/10002-002-L; } } ingest livestest { enabled on; input { type file; url rtsp://guest:guest@192.168.0.59:554/stream0/high; } ffmpeg ./objs/ffmpeg/bin/ffmpeg; engine { enabled off; output rtmp://192.168.0.45/live/10001-001-L; } } }

创建实体对象 public class IngestModleVo {

private List<IngestVo> list;	//节点信息

public IngestModleVo() {
	this.list = new ArrayList<IngestVo>();
}


public List<IngestVo> getList() {
	return list;
}

public void setList(List<IngestVo> list) {
	this.list = list;
}

@Override
public String toString() {
	StringBuffer sb = new StringBuffer();
	sb.append("# use ffmpeg to ingest file/stream/device to SRS").append("\n");
	sb.append("# @see https://github.com/ossrs/srs/wiki/v1_CN_SampleIngest").append("\n");
	sb.append("# @see full.conf for detail config.").append("\n\n");
	sb.append("listen              1935;").append("\n");
	sb.append("max_connections     1000;").append("\n");
	sb.append("#daemon              off;").append("\n");
	sb.append("#srs_log_tank        console;").append("\n");
	sb.append("vhost __defaultVhost__ {").append("\n");
	for (IngestVo vo : getList()) {
		sb.append(" ").append(vo.toString()).append("\n");
	}
	sb.append("}");
	return sb.toString();
}

}

public class IngestVo { private String keyName; //键的名称 private String isEnabled; //是否启用,即有效 private String type; private String urlAdd; private String ffmpeg; private String enginEnabled; private String enginOutput;

public String getKeyName() {
	return keyName;
}
public void setKeyName(String keyName) {
	this.keyName = keyName;
}
public String getIsEnabled() {
	return isEnabled;
}
public void setIsEnabled(String isEnabled) {
	this.isEnabled = isEnabled;
}
public String getType() {
	return type;
}
public void setType(String type) {
	this.type = type;
}
public String getUrlAdd() {
	return urlAdd;
}
public void setUrlAdd(String urlAdd) {
	this.urlAdd = urlAdd;
}
public String getFfmpeg() {
	return ffmpeg;
}
public void setFfmpeg(String ffmpeg) {
	this.ffmpeg = ffmpeg;
}
public String getEnginEnabled() {
	return enginEnabled;
}
public void setEnginEnabled(String enginEnabled) {
	this.enginEnabled = enginEnabled;
}
public String getEnginOutput() {
	return enginOutput;
}
public void setEnginOutput(String enginOutput) {
	this.enginOutput = enginOutput;
}


@Override
public String toString() {
	StringBuffer sb = new StringBuffer();
	sb.append("ingest").append("  ").append(keyName).append("{").append("\n");
	sb.append("    enabled").append("  ").append(isEnabled).append(";\n");
	sb.append("    input {").append("\n");
	sb.append("        type").append("  ").append(type).append(";\n");
	sb.append("        url").append("  ").append(urlAdd).append(";\n");
	sb.append("    }").append("\n");
	sb.append("    ffmpeg").append("  ").append(ffmpeg).append(";\n");
	sb.append("    engine {").append("\n");
	sb.append("        enabled").append("  ").append(enginEnabled).append(";\n");
	sb.append("        output").append("  ").append(enginOutput).append(";\n");
	sb.append("    }").append("\n");
	sb.append("}");
	return sb.toString();
}

}

public class GeneralFileTest {

public static void main(String[] args) {

	List<IngestVo> list = new ArrayList<>();
	IngestVo vo = new IngestVo();
	vo.setKeyName("livestream");
	vo.setIsEnabled("on");
	vo.setType("file");
	vo.setUrlAdd("rtsp://guest:guest@192.168.0.59:554/stream0/low");
	vo.setEnginEnabled("off");
	vo.setEnginOutput("rtmp://192.168.0.45/live/10002-002-L");
	vo.setFfmpeg("./objs/ffmpeg/bin/ffmpeg");
	list.add(vo);
	
	IngestVo v1 = new IngestVo();
	v1.setKeyName("livestest");
	v1.setIsEnabled("on");
	v1.setType("file");
	v1.setUrlAdd("rtsp://guest:guest@192.168.0.59:554/stream0/high");
	v1.setEnginEnabled("off");
	v1.setEnginOutput("rtmp://192.168.0.45/live/10001-001-L");
	v1.setFfmpeg("./objs/ffmpeg/bin/ffmpeg");
	list.add(v1);
	
	IngestModleVo liIngestModleVo = new IngestModleVo();
	liIngestModleVo.setList(list);
	
	File file = new File("E:\\ingest.conf");
    if (!file.exists()) {
        try {
            file.createNewFile();
        } catch (IOException e) {
        	Log.infoStackTrace(e);
        }
    }
    
    PrintWriter ini = null;
    try {
        ini = new PrintWriter(new OutputStreamWriter(new FileOutputStream(file)));
    } catch (Exception e) {
    	Log.infoStackTrace(e);
    }
    
    ini.print(liIngestModleVo.toString());
    ini.flush();
    ini.close();
    
		
	
}

}