Hallo,
bin neu in diesen Forum darum nicht gleich schlage wenn ich im falschen Forum gepostet habe oder nicht in der lage war die such richtig zu nutzen
ich hab ein kleine Problem und zwar hab ich ein Programm in den ich mehrere Prozesse und Runtime erzeuge ganz simple nach folgenden muster:
.
.
.
p = r.exec("cmd /c " + command);
p.waitFor();
.
.
.
command beinhaltet meistens ein FFMPEG Aufruf mit allen dazugehörigen Parametern. Das klappt soweit auch alles ganz gut. Nun zu mein Problem:
Ich erzeuge halt nach und nach durch das obige Muster eine neue Videodatei (beispielsweise: rohmaterial.mp4) Sobald ich aber nun einen neuen Prozess starte in dem FFMPEG auf die erstellte Datei zugreifen soll bleibt es hängen.
Ich persönlich glaube dass die Datei noch irgend wie gespart ist und das Programm deshalb hängen bleibt. Kann das sein? Wenn ja wie kann ich diese sperre aufheben? Bzw. ist meine Vermutung völlig falsch?
Hier noch ein bisschen mehr code:
private void sound_video_zusammenfuegen (String pfad_Sound, String pfad_Video, String pfad_ffmpeg, String pfad_Ziel_Video) {
String command;
Runtime r = Runtime.getRuntime();
Process p;
String ret;
command = pfad_ffmpeg + " -i " + pfad_Video + " -i " + pfad_Sound + " -vcodec copy " + pfad_Ziel_Video ;
try {
p = r.exec("cmd /c " + command);
p.waitFor();
} catch(Exception e) {
System.out.println("norp");
}
}
Ich ruf in der main methode eigentlich sound_video_zusammenfuegen auf und möchte danach eine andere Methode aufrufen welche wiederum auf das erstellte Video String pfad_Ziel_Video String pfad_Ziel_Video zugreifen soll und dort hängt sich mein Programm auf.
Ich hoffe ich konnte mein Problem beschreiben und mir kann jemand ein Denkanstoß geben. Wie immer vielen dank für jegliche Hilfe.
bin neu in diesen Forum darum nicht gleich schlage wenn ich im falschen Forum gepostet habe oder nicht in der lage war die such richtig zu nutzen
ich hab ein kleine Problem und zwar hab ich ein Programm in den ich mehrere Prozesse und Runtime erzeuge ganz simple nach folgenden muster:
.
.
.
p = r.exec("cmd /c " + command);
p.waitFor();
.
.
.
command beinhaltet meistens ein FFMPEG Aufruf mit allen dazugehörigen Parametern. Das klappt soweit auch alles ganz gut. Nun zu mein Problem:
Ich erzeuge halt nach und nach durch das obige Muster eine neue Videodatei (beispielsweise: rohmaterial.mp4) Sobald ich aber nun einen neuen Prozess starte in dem FFMPEG auf die erstellte Datei zugreifen soll bleibt es hängen.
Ich persönlich glaube dass die Datei noch irgend wie gespart ist und das Programm deshalb hängen bleibt. Kann das sein? Wenn ja wie kann ich diese sperre aufheben? Bzw. ist meine Vermutung völlig falsch?
Hier noch ein bisschen mehr code:
private void sound_video_zusammenfuegen (String pfad_Sound, String pfad_Video, String pfad_ffmpeg, String pfad_Ziel_Video) {
String command;
Runtime r = Runtime.getRuntime();
Process p;
String ret;
command = pfad_ffmpeg + " -i " + pfad_Video + " -i " + pfad_Sound + " -vcodec copy " + pfad_Ziel_Video ;
try {
p = r.exec("cmd /c " + command);
p.waitFor();
} catch(Exception e) {
System.out.println("norp");
}
}
Ich ruf in der main methode eigentlich sound_video_zusammenfuegen auf und möchte danach eine andere Methode aufrufen welche wiederum auf das erstellte Video String pfad_Ziel_Video String pfad_Ziel_Video zugreifen soll und dort hängt sich mein Programm auf.
Ich hoffe ich konnte mein Problem beschreiben und mir kann jemand ein Denkanstoß geben. Wie immer vielen dank für jegliche Hilfe.