Threads Runtime und Process Probleme

kosa

Mitglied
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.
 

kosa

Mitglied
So... ich glaub ich habe mein problem falsch geschildert. Darum versuche ich es noch mal neu:
Ich hab mein Java Programm in der es folgende Methode gibt (Button wird Betätigt):

Java:
private void MyButtonActionPerformed(java.awt.event.ActionEvent evt) {
   // TODO add your handling code here:
   // Welcher schnitt wurde gewählt
   switch (auftrag.videotyp) { // 1 -> Highlightschnitt 2 -> Zusammenfassung 3 -> Torschnitt 4 -> Ganze Spiel
     case 1:
       // code
       break;
     case 2:
       // code
       break;
     case 3:
       // code
       break;
     case 4:
       // rohVideo[1] = speicherpfad + "/Rohmaterial/KameraMZuschnittOhneSound.mp4";
       // video_schneiden (auftrag.kamera[1], auftrag.pfad_ffmpeg, rohVideo[1], auftrag.kameravorlauf[1],String.valueOf(Integer.parseInt(rohvideolaenge[1]) - Integer.parseInt(auftrag.kameranachlauf[1])));
       // rohvideolaenge[1].substring(0,rohvideolaenge[1].indexOf('.'));
       String zs1 = videolaenge_ermitteln (rohVideoSound[1],auftrag.pfad_ffprobe);
       zs1 = zs1.substring(0, zs1.indexOf('.'));
       
       int beginnzweitehalbzeit = (Integer.parseInt(auftrag.LaengeHalbzeit) + Integer.parseInt(auftrag.PauseLaenge));
       int dauerzweitehalbzeit = Integer.parseInt(zs1) - beginnzweitehalbzeit;
       
       String[] zs = new String[2];
       zs[0] = speicherpfad + "/Schnitt/GanzeSpielEineKameraErsteHalbzeit.mp4";
       zs[1] = speicherpfad + "/Schnitt/GanzeSpielEineKameraZweiteHalbzeit.mp4";
       
       video_schneiden (rohVideoSound[1], auftrag.pfad_ffmpeg, zs[0], "0", auftrag.LaengeHalbzeit);
       video_schneiden (rohVideoSound[1], auftrag.pfad_ffmpeg, zs[1], Integer.toString(beginnzweitehalbzeit) , Integer.toString(dauerzweitehalbzeit));
       video_zusammenfuegen (zs, auftrag.pfad_ffmpeg, speicherpfad + "/End-Video/GanzeSpielEineKamera.mp4");
       
       split_screen (rohVideoSound[1], rohVideoSound[1], "" , auftrag.pfad_ffmpeg, speicherpfad + "/End-Video/split.mp4");
       
       if (auftrag.kameraanzahl == 4) {
         // code
       }
       break;
   }
}


Und nun kommt das Problem... Bei der Methode split_screen:



Java:
private void split_screen (String pfad_Video_1, String pfad_Video_2, String pfad_Video_3, String pfad_ffmpeg, String pfad_Ziel_video) {
   String command;
   Runtime r = Runtime.getRuntime();
   Process p;

   // ffmpeg -i input0 -i input1 -filter_complex vstack output
   command = pfad_ffmpeg + " -i " + pfad_Video_1 + " -i " + pfad_Video_2 + " -filter_complex vstack " + pfad_Ziel_video;

   try {
     p = r.exec("cmd /c " + command);
     //p.waitFor();
   } catch(Exception e) {
     System.out.println("norp");
   }
}



Was soll nun eigentlich passieren:

Wenn der Button betätigt wurde finden ein prüfung statt was eigentlich gemacht werden soll und anhand dessen werden verschieden Methoden ausgeführt (Switch, private void MyButtonActionPerformed)


Wenn die Auswahl 4 getroffen wurde soll die Methode split_screen aufgerufen werden welche übber FFMPEG die übergebenen Videopfade zu einen splitscreen zusammenfügen.


Das Problem ist die Methode split_screen:

Die Ausgangsdatei wird erstellt und ist 1kb groß... Dabei bleibt es aber auch, der Prozess wird nicht weiter ausgeführt... erst wenn ich die Java Anwendung beende startet mein Rechner durch und ffmpeg arbeitet in Hintergrund und erstellt die komplette Datei.

Was muss ich tun oder abändern dass FFMPEG weiterarbeitet und nicht erst los legt wenn ich die ganze Anwendung beende?
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Runtime Process bricht nicht ab! Allgemeine Java-Themen 7
M Registry Autostart Eintrag ertstellen mit Java (Runtime.getRuntime().exec()) Allgemeine Java-Themen 0
M this application requires a java runtime environment 1.8.0 Allgemeine Java-Themen 2
S Gibt es eine Moeglichkeit die Runtime Ausführung zu analysieren..? Allgemeine Java-Themen 7
J Verschiedene Runtime Versionen gleichzeitig? Allgemeine Java-Themen 12
H Runtime reagiert erst wenn Programm abbricht Allgemeine Java-Themen 1
J Probleme mit der Java-Runtime Allgemeine Java-Themen 10
M Runtime.exec() verursacht auf manchen Systemen Probleme - Ursache unklar Allgemeine Java-Themen 2
S Command funktioniert in Kommandzeile aber nicht mit ProcessBuilder bzw. Runtime.exec auf MAC Allgemeine Java-Themen 3
D Java Objekt als Service in Runtime registrieren Allgemeine Java-Themen 1
Thallius Runtime.getRuntime().exec " escapen? Allgemeine Java-Themen 9
W Threads Mit Thread und Runtime externe Programme öffnen Allgemeine Java-Themen 0
C Runtime Problem Allgemeine Java-Themen 1
P programm öffnen mit der runtime Allgemeine Java-Themen 9
N Runtime.getRuntime().exec Problem mit find Allgemeine Java-Themen 3
W JavaDoc Runtime-Exceptions: Wie sinnvoll anzeigen? Allgemeine Java-Themen 14
P Runtime bzw. RAM-Auslastung eines Prozesses Allgemeine Java-Themen 9
M Befehl in Runtime ausführen der Eingabe benötigt Allgemeine Java-Themen 3
aze Jar ausführen über Runtime.execute funktioniert nicht Allgemeine Java-Themen 4
T Bluescreen bei Runtime.exec(); Allgemeine Java-Themen 8
I Runtime.getRuntime().exec Problem Allgemeine Java-Themen 4
G Runtime.exec beendet Programm unter Linux, wenn Java Programm beendet wird Allgemeine Java-Themen 3
N Runtime.exec() Exception Problem Allgemeine Java-Themen 3
N Runtime.exec() Allgemeine Java-Themen 7
S Runtime Exceptions in eine Datei schreiben Allgemeine Java-Themen 7
N Internet Explorer mit bestimter Java Runtime starten Allgemeine Java-Themen 2
truesoul Runtime.getRuntime().exec nebenbei ausführen Allgemeine Java-Themen 12
S Runtime.getRuntime()... Allgemeine Java-Themen 6
Z Runtime.getRuntime().exec-Problem Allgemeine Java-Themen 4
J Runtime.exec setzt Fokus auf Frame Allgemeine Java-Themen 2
V Probleme mit Runtime.exec() Allgemeine Java-Themen 3
M Runtime.exec() - Performance / Frage zu Threads Allgemeine Java-Themen 5
S Rückgabewert runtime Allgemeine Java-Themen 11
M Runtime.getRuntime().exec(cmd); auf windows ... Allgemeine Java-Themen 2
martin82 Java Runtime Update >17 - SwingWorker Änderungen? Allgemeine Java-Themen 7
T Runtime.exec() Allgemeine Java-Themen 3
X Wann ist Runtime.getRuntime().exec mit Copy fertig? Allgemeine Java-Themen 10
W java ohne runtime Allgemeine Java-Themen 2
G Output eines über Runtime.getRuntime.exec gestarteten Jars Allgemeine Java-Themen 6
N runtime.exec() Problem Allgemeine Java-Themen 6
W Runtime.getRuntime().exec() Allgemeine Java-Themen 10
lordcarlos Runtime exec und mplayer (linux) Allgemeine Java-Themen 11
C JApplet und Runtime.getRuntime().exec() Allgemeine Java-Themen 2
K Runtime.exec mit Timeout Allgemeine Java-Themen 5
0 Runtime.exec() VLC starten klappt nicht Allgemeine Java-Themen 9
G Runtime.exec - Prozess "mittendrin" "einfach Allgemeine Java-Themen 4
G Runtime? Allgemeine Java-Themen 3
J Runtime.exec unter win vista? Allgemeine Java-Themen 10
M Probleme Runtime.getRuntime().exec(Start.cmd); Allgemeine Java-Themen 10
F Problem mit Runtime.exec() Allgemeine Java-Themen 8
S Problem mit Runtime. Allgemeine Java-Themen 2
E Programm mit der Runtime ausführen Allgemeine Java-Themen 8
M Runtime & Exception Allgemeine Java-Themen 3
J ServiceInterface - Runtime() > jemand eine idee? Allgemeine Java-Themen 2
A Runtime oder ProcessBuilder exe starten Allgemeine Java-Themen 3
V Java-Programm vom USB-Stick ohne Runtime-Installation Allgemeine Java-Themen 18
W In Runtime Output schreiben Allgemeine Java-Themen 5
J Probiert mal bitte aus (Thread + Runtime) Allgemeine Java-Themen 10
A Installierte Runtime ermitteln Allgemeine Java-Themen 3
M Runtime.exec unter Vista (Administrator Rechte) Allgemeine Java-Themen 2
K Probleme mit Runtime.getRuntime().exec Allgemeine Java-Themen 6
T ausführbares jar File mit integriertem Java Runtime 6+JOGL Allgemeine Java-Themen 7
A Runtime.getRuntime().exec mit Warte auf Beendigung - Wie? Allgemeine Java-Themen 7
R Problem mit Runtime.getRuntime().exec() Allgemeine Java-Themen 4
the[V]oid Ausführen von "javac" über Runtime.exec() Allgemeine Java-Themen 4
W Runtime Error216 Runtime error 217 Allgemeine Java-Themen 6
B Runtime Verzeichniss wechseln Allgemeine Java-Themen 8
C Java SE Runtime 6 Update 1 - IE 7 und FF 2.0 - Allgemeine Java-Themen 6
F Runtime.getRuntime().exec mit Linux und Leerzeichen Allgemeine Java-Themen 3
D runtime.exec --> Prozess hängt sich auf Allgemeine Java-Themen 7
T Runtime.exec -> Prozesskontrolle abgeben ? Allgemeine Java-Themen 11
B Probleme mit Runtime.getRuntime().exec("cmd.exe") Allgemeine Java-Themen 4
M Runtime.getRuntime().exec(txt_rsync_option.getText()); Allgemeine Java-Themen 12
M Rückgabewert von Runtime.getRuntime().exec() Allgemeine Java-Themen 2
G Programm wird von java cmd runtime nicht aufgerufen? Allgemeine Java-Themen 13
S Runtime.exec() berechtigungen Allgemeine Java-Themen 5
S Runtime.exec und X Umgebung Allgemeine Java-Themen 2
F Shell-Programme per Runtime.exec() starten und mehr? Allgemeine Java-Themen 4
K Runtime.exec und DFÜ-Verbindung Allgemeine Java-Themen 5
C Rechte unter WinXP, MySQL-Server per Runtime herunterfahren? Allgemeine Java-Themen 6
P Copy mit Runtime.exec() unter Unix Allgemeine Java-Themen 4
D Problem mit Runtime.getRuntime().exec() Allgemeine Java-Themen 14
L Runtime.getRuntime.exec() Allgemeine Java-Themen 7
T Probleme mit Runtime.exec in Jar File Allgemeine Java-Themen 2
M Runtime.exec unter Linux Allgemeine Java-Themen 11
G Java Runtime Verzeichnis ermitteln Allgemeine Java-Themen 3
X Problem mit Runtime.getRuntime().exec("cls"); Allgemeine Java-Themen 18
S Runtime.getRunTime().exec("jar cvf .) hängt sich auf Allgemeine Java-Themen 3
9 J2SE Runtime Environment 5.0 Allgemeine Java-Themen 6
M Runtime.getRuntime().exec() - Fehler abfangen Allgemeine Java-Themen 5
S Runtime exec unter MacOS X will nicht "open pfad" Allgemeine Java-Themen 7
S dvbscan mit Runtime.getInstance().exec() ausführen ? Allgemeine Java-Themen 24
B Problem mit Runtime.getRuntime().exec() Allgemeine Java-Themen 4
G Runtime.getRuntime() Allgemeine Java-Themen 10
G Runtime.getRuntime().exec("cmd /c START") Allgemeine Java-Themen 3
M Runtime.exec() => java.io.exception: too many open files Allgemeine Java-Themen 10
S Programm starten mit Runtime aktuelles Verzeichnis wechseln Allgemeine Java-Themen 7
D Compiler-Fehler child process exited with code 1 Allgemeine Java-Themen 1
P Herausfinden, ob ein Process ein Fenster hat Allgemeine Java-Themen 1
D Java Process OutputStream ist null Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben