Good for Theora
public String[] buildWithoutPreview() {
List<String> params = new ArrayList<String>();
params.add(":dshow-adev=none");
params.add(String.format(":dshow-vdev=%s", getDeviceName()));
params.add(String.format(":dshow-aspect-ratio=%s", getAspectRatio()));
params.add(":live-caching=300");
if(width > 0 && height > 0)
params.add(String.format(":dshow-size=%dx%d", width, height));
/* StringBuilder chain = new StringBuilder(":sout=#");
chain.append("duplicate{dst='")
.append(buildTranscodeParams())
.append("'}");
params.add(chain.toString());
*/
//params.add(String.format(":sout=#transcode{vcodec=h264,vb=1024,fps=15,scale=0,width=%d,height=%d}", width, height));
//params.add(String.format(":std{access=file,mux=mp4,dst='C:\\test.mp4'}"));
params.add(String.format(":sout=#transcode{vcodec=theo,vb=1024,fps=15,scale=0,width=%d,height=%d}:std{access=file,mux=ogg,dst='C:\\testTheo.mp4'}", width, height));
// params.add(String.format(":sout=#transcode{vcodec=h264,vb=1024,fps=15,scale=0,width=%d,height=%d}:std{access=file,mux=mp4,dst='C:\\test.mp4'}", width, height));
String[] result = params.toArray(new String[params.size()]);
logger.log(Level.INFO, Arrays.toString(result));
// params.add(String.format(":sout=#transcode{vcodec=h264,vb=512,fps=%d,scale=0,width=%d,height=%d,acodec=mpga,ab=128,channels=2,samplerate=44100}:std{access=file,mux=mp4,dst='C:\\test.mp4'}", getFramerate(), width, height));
// String[] result = {"sout=#transcode{vcodec=h264,vb=1024,fps=15,scale=0,width=1280,height=720,acodec=mpga,ab=128,channels=2,samplerate=44100}:std{access=file,mux=mp4,dst='C:\\test.mp4'}"};
return result;
}