Java Runtime.getRuntime (). Exec () mit Anführungszeichen

Ich versuche, ffmpeg über den exec-Aufruf unter Linux auszuführen. Jedoch muss ich Anführungszeichen im Befehl verwenden (ffmpeg erfordert es). Ich habe in der Java-Dokumentation nach Processbuilder und Exec gesucht und habe Fragen zu Stackoverflow, aber ich kann anscheinend keine Lösung finden.

Ich muss @ ausführ

ffmpeg -i "rtmp://127.0.0.1/vod/sample start=1500 stop=24000" -re -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/qltv

Ich muss Anführungszeichen in die folgende Argumentzeichenfolge einfügen. Beachten Sie, dass das einfache Hinzufügen von einfachen oder doppelten Anführungszeichen mit vorangestelltem Backslash aufgrund der Art und Weise, wie Processbuilder die Befehle analysiert und ausführt, nicht funktioniert.

String argument = "ffmpeg -i rtmp://127.0.0.1/vod/"
                    + nextVideo.getFilename()
                    + " start=" + nextVideo.getStart()
                    + " stop=" + nextVideo.getStop()
                    + " -re -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/qltv";

Jede Hilfe wäre sehr dankbar.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage