Runtime exec und mplayer (linux)

Status
Nicht offen für weitere Antworten.

lordcarlos

Mitglied
Guten Tag liebes Java-forum.
Ich bin der neue :)

Ich versuche den video player, mplyer, mit meinem Java Programm zu starten, aber da läuft was schief wenn ich Daten mit einem Leerzeichen öffnen will.

Folgendes Beispiel funktioniert:
Java:
Runtime rt = Runtime.getRuntime();
String befehl = "/usr/bin/mplayer /home/carlos/downloads/benny.mkv &";  //debug
System.out.println(befehl);  //debug
rt.exec(befehl); //video starten

Aber wie spiele ich jetzt Filme mit Leerzeichen im Namen ab?
Habe auch schon ein wenig erfolglos getestet.
Java:
String befehl = "/usr/bin/mplayer /home/carlos/downloads/Alex\\ Gaudino\\ -\\ Destination\\ Calabria.mkv &";
Java:
String befehl = "/usr/bin/mplayer '/home/carlos/downloads/Alex Gaudino - Destination Calabria.mkv' &";

Die Zeile dir mir System.out.println(befehl); gibt lässt sich Problemlos in der Konsole ausführen. Die Datei ist also vorhanden.
Ich würde jetzt gerne noch eine Fehlermeldung posten, aber Runtime unterdrückt ja den ganzen output von mplayer.

Mfg Lord-carlos
 

lordcarlos

Mitglied
danke für die schnelle Antwort!

Java:
ProcessBuilder process = new ProcessBuilder();
process.command(befehl);

Das geht mit keinem der drei befehl Möglichkeiten.

Ich habe auch mal folgendes getestet:
Java:
Process process = new ProcessBuilder(befehl).start();
Geht auch nicht aber ich bekomme ein fehler.

Code:
SCHWERWIEGEND: null
java.io.IOException: Cannot run program "/usr/bin/mplayer /home/carlos/downloads/benny.mkv &": java.io.IOException: error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:474)
        at pronsort.Main.main(Main.java:42)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
        at java.lang.ProcessImpl.start(ProcessImpl.java:81)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:467)
        ... 1 more
Was aber komisch ist, weil die file ist da und der Befehl vom sout immer noch funktioniert.
 

Wildcard

Top Contributor
Java:
command("/usr/bin/mplayer", "/home/carlos/downloads/benny.mkv");
 

lordcarlos

Mitglied
Danke, das geht leider auch nicht. mplayer wird gar nicht erst gestartet.
Kann ich dem ProcessBuilder das er eine Fehlermeldung ausgeben soll?
 

Wildcard

Top Contributor
Das Process Objekt hat einen ErrorStream und einen OutputStream. Beide solltest du lesen und ausgeben (oder mit redirectErrorStream beide in den OutputStream laufen lassen und nur diesen lesen).
 

lordcarlos

Mitglied
ah, .start() vergessen.
Java:
ProcessBuilder process = new ProcessBuilder();
process.command("/usr/bin/mplayer", "/home/carlos/downloads/benny.mkv").start();
Jetzt geht wenigsten das benny video wieder. Die anderen gehen immer noch nicht. Ich werde mal weiter fummeln.
 

lordcarlos

Mitglied
Ich habe jetzt ein wenig umgestellt, und auch ein guten code als Vorlage gefunden:
http://www.avpresentations.com/code/java_mplayer_control_example.txt
Code:
    static InputStream is;
    static OutputStream os;
    static InputStreamReader isr;
    static OutputStreamWriter osw;
    static BufferedReader br;
    static BufferedWriter bw;
    static PrintWriter pw;
    static Process process;
etc.

Java:
                String datei = "/home/carlos/downloads/Alex\\ Gaudino\\ -\\ Destination\\ Calabria.mkv";
                String datei2 = "/'/home/carlos/downloads/Alex Gaudino - Destination Calabria.mkv";
                String datei3 = "/home/carlos/downloads/benny.mkv";
                //rt.exec(befehl); //video starten
                
                //ProcessBuilder process = new ProcessBuilder();
                //process.command("/usr/bin/mplayer", datei3).start();
                
                process = new ProcessBuilder("/usr/bin/mplayer", datei2).start();
                
                is = process.getInputStream();
                os = process.getOutputStream();
                isr = new InputStreamReader(is);
                osw = new OutputStreamWriter(os);
                br = new BufferedReader(isr);
                bw = new BufferedWriter(osw);
                pw = new PrintWriter(bw);
                String line;

                while ((line = br.readLine()) != null) {
                    System.out.println(line);
                }

und jetzt guck dir doch mal den output an -.-

Code:
MPlayer dev-SVN-r29170129 audio & 259 video codecs

Playing /'/home/carlos/downloads/Alex Gaudino - Destination Calabria.mkv.


Exiting... (End of file)

Was soll das denn jetzt? ;(
 

lordcarlos

Mitglied
Huch? Wie ist das denn darein gekommen? Das tut mir leid, habe ich wohl übersehen.
nach ein wenig googeln habe ich auch das hier gefunden. Leerzeichen in cmd eingabe - Java @ tutorials.de: Forum, Tutorial, Anleitung, Schulung & Hilfe

Java:
String[] play = {"/usr/bin/mplayer", "/home/carlos/downloads/Alex Gaudino - Destination Calabria.mkv"};
process = new ProcessBuilder(play).start();

Das geht erste Sahne. :toll:

Danke an deine Hilfe! Nettes forum, weiter so.

Mfg Lord-carlos
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Registry Autostart Eintrag ertstellen mit Java (Runtime.getRuntime().exec()) Allgemeine Java-Themen 0
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
Thallius Runtime.getRuntime().exec " escapen? Allgemeine Java-Themen 9
N Runtime.getRuntime().exec Problem mit find Allgemeine Java-Themen 3
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
truesoul Runtime.getRuntime().exec nebenbei ausführen Allgemeine Java-Themen 12
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
M Runtime.getRuntime().exec(cmd); auf windows ... Allgemeine Java-Themen 2
T Runtime.exec() Allgemeine Java-Themen 3
X Wann ist Runtime.getRuntime().exec mit Copy fertig? Allgemeine Java-Themen 10
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
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
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
M Runtime.exec unter Vista (Administrator Rechte) Allgemeine Java-Themen 2
K Probleme mit Runtime.getRuntime().exec Allgemeine Java-Themen 6
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
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
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
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
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
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().exec("cmd /c START") Allgemeine Java-Themen 3
M Runtime.exec() => java.io.exception: too many open files Allgemeine Java-Themen 10
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
K Threads Runtime und Process Probleme Allgemeine Java-Themen 3
H Runtime reagiert erst wenn Programm abbricht Allgemeine Java-Themen 1
J Probleme mit der Java-Runtime Allgemeine Java-Themen 10
D Java Objekt als Service in Runtime registrieren Allgemeine Java-Themen 1
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
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
S Runtime Exceptions in eine Datei schreiben Allgemeine Java-Themen 7
N Internet Explorer mit bestimter Java Runtime starten Allgemeine Java-Themen 2
S Runtime.getRuntime()... Allgemeine Java-Themen 6
S Rückgabewert runtime Allgemeine Java-Themen 11
martin82 Java Runtime Update >17 - SwingWorker Änderungen? Allgemeine Java-Themen 7
W java ohne runtime Allgemeine Java-Themen 2
G Runtime? Allgemeine Java-Themen 3
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
T ausführbares jar File mit integriertem Java Runtime 6+JOGL Allgemeine Java-Themen 7
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
G Programm wird von java cmd runtime nicht aufgerufen? Allgemeine Java-Themen 13
A Runtime Process bricht nicht ab! Allgemeine Java-Themen 7
C Rechte unter WinXP, MySQL-Server per Runtime herunterfahren? Allgemeine Java-Themen 6
G Java Runtime Verzeichnis ermitteln Allgemeine Java-Themen 3
9 J2SE Runtime Environment 5.0 Allgemeine Java-Themen 6
G Runtime.getRuntime() Allgemeine Java-Themen 10
S Programm starten mit Runtime aktuelles Verzeichnis wechseln Allgemeine Java-Themen 7
M exec() funktioniert nicht Allgemeine Java-Themen 1
R Exec. Jar läd Bilder nicht! Allgemeine Java-Themen 5
S exec( "cmd /c") aber Konsole soll offen bleiben Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben