Ik vond op internet een handige tutorial om een xvid/divx om te zetten naar een DVD, voor Linux. Erg handig allemaal, maar alles was commandline. Dus besloot ik in Java een frontend ervoor te schrijven.
Met een simpel formuliertje kunnen alle parameters ingesteld worden, waarna deze in een "commando" gepropt worden, en door "exec()" wordt uitgevoerd.
Dit gaat in principe prima. Maar na 1minuut stopt het commando. Transcode begint netjes video te encoderen maar na 1 minuut stopt het gewoon. Terwijl als ik het gewoon uitvoer vanaf de commandline, dan gaat het prima. (en heb ik na ongeveer 10min een bruikbaar videobestand)
Ik had al geprobeerd om "waitFor()" te gebruiken. Gevolg is dat het commando wederom stopt, alleen dan crasht de JRE er ook gratis bij. Ik krijg overigens ook nooit die "Er ging iets mis!" te zien.
Iemand een idee?
Ik code overigens met Eclipse 3.2 in Linux voor JDK 1.5.
Met een simpel formuliertje kunnen alle parameters ingesteld worden, waarna deze in een "commando" gepropt worden, en door "exec()" wordt uitgevoerd.
code:
1
2
3
4
5
6
7
8
9
| public void execute(){
String command = "/usr/bin/transcode -i " + this.i + " -y " + this.y + " --export_prof " + this.export_prof + " --export_asr " + this.export_asr + " -o " + this.output_dir + "/" + this.o + " -D" + this.D + " -b " + this.b + " -N " + this.N + " -m " + this.output_dir + "/" + this.m + " -J " + this.J + " --export_fps " + this.export_fps;
try {
System.out.println(command);
Runtime.getRuntime().exec(command);
} catch (IOException e) {
System.out.println("Er ging iets mis! :O");
}
} |
Dit gaat in principe prima. Maar na 1minuut stopt het commando. Transcode begint netjes video te encoderen maar na 1 minuut stopt het gewoon. Terwijl als ik het gewoon uitvoer vanaf de commandline, dan gaat het prima. (en heb ik na ongeveer 10min een bruikbaar videobestand)
Ik had al geprobeerd om "waitFor()" te gebruiken. Gevolg is dat het commando wederom stopt, alleen dan crasht de JRE er ook gratis bij. Ik krijg overigens ook nooit die "Er ging iets mis!" te zien.
Iemand een idee?