Sto cercando di eseguire ffmpeg tramite la chiamata exec su linux. Comunque devo usare le virgolette nel comando (ffmpeg lo richiede). Ho cercato attraverso java doc per processbuilder ed exec e domande su stackoverflow ma non riesco a trovare una soluzione.Java Runtime.getRuntime(). Exec() con le virgolette
ho bisogno di correre
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
ho bisogno di inserire citazioni nella stringa di argomento di seguito. Nota: l'aggiunta di virgolette singole o doppie precedute da una barra rovesciata non funziona a causa della natura di come il programma di elaborazione analizza ed esegue i comandi.
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";
Qualsiasi aiuto sarebbe molto apprezzato.
è possibile rimuovere i caratteri "new String []"; le parentesi graffe produrranno automaticamente un array di stringhe per te. –
Questo non funzionerà come rtmp: //127.0.0.1/vod/sample start = xxx stop = xxx deve avere le virgolette intorno. Mettere l'argomento in un array di stringhe non aiuta. –
Spiacente, non aiuta se si inseriscono virgolette di escape, come segue: "\" rtmp: //127.0.0.1/vod/sample start = 1500 stop = 24000 \ "" – laher