JAva confファイルの内容の変更


conf構成内容を変更する必要があり、ノード内容は以下のlisten 1935である.max_connections 1000;#daemon off;#srs_log_tank console;vhost defaultVhost {ingest livestream {enabled on;input {type file;url rtsp://guest:[email protected]: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:[email protected]: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 list;    //    

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

public List getList() {
    return list;
}

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

@Override
public String toString() {
    StringBuffer sb = new StringBuffer();
    sb.append("# use ffmpeg to ingest file/stream/device to SRS").append("
"); sb.append("# @see https://github.com/o***s/srs/wiki/v1_CN_SampleIngest").append("
"); sb.append("# @see full.conf for detail config.").append("

"); sb.append("listen 1935;").append("
"); sb.append("max_connections 1000;").append("
"); sb.append("#daemon off;").append("
"); sb.append("#srs_log_tank console;").append("
"); sb.append("vhost __defaultVhost__ {").append("
"); for (IngestVo vo : getList()) { sb.append(" ").append(vo.toString()).append("
"); } 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("
"); sb.append(" enabled").append(" ").append(isEnabled).append(";
"); sb.append(" input {").append("
"); sb.append(" type").append(" ").append(type).append(";
"); sb.append(" url").append(" ").append(urlAdd).append(";
"); sb.append(" }").append("
"); sb.append(" ffmpeg").append(" ").append(ffmpeg).append(";
"); sb.append(" engine {").append("
"); sb.append(" enabled").append(" ").append(enginEnabled).append(";
"); sb.append(" output").append(" ").append(enginOutput).append(";
"); sb.append(" }").append("
"); sb.append("}"); return sb.toString(); }

}
public class GeneralFileTest {
public static void main(String[] args) {

    List list = new ArrayList<>();
    IngestVo vo = new IngestVo();
    vo.setKeyName("livestream");
    vo.setIsEnabled("on");
    vo.setType("file");
    vo.setUrlAdd("rtsp://guest:[email protected]: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:[email protected]: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();

}

}