2016-04-04 14 views
1

Ich versuche Größe ein Video erneut, die nicht im selben Verzeichnis von PHP exec Code ist, das ist mein ffmpeg Code: FFmpeg Eingang Ausgabe

ffmpeg.exe -i ../Gotten Movies/test.mp4 -s hd480 -c:v libx264 -crf 23 -c:a aac -strict -2 ../Gotten Movies/test2o.mp4
Der Fehler, die ich erhalte ist: ../Gotten: Invalid data found when processing input ich glaube, das Problem ist, weil vorheriges Verzeichnis mit ../ Ich habe versucht,
cd Gotten Movies; ffmpeg.exe -i ../Gotten Movies/test.mp4 -s hd480 -c:v libx264 -crf 23 -c:a aac -strict -2 ../Gotten Movies/test2o.mp4
Aber es hat nicht funktioniert, was kann ich tun, um das Problem zu beheben, danke.

+0

Verwenden \ statt/ – Mulvya

+0

gleichen Problem seine zeigt '.. \ Gotten: Ungültige Daten bei der Verarbeitung in gefunden Put'now jetzt :( – 7al7ol

+0

Schließen Sie in Anführungszeichen " – Mulvya

Antwort

1

immer sicherer umschließen Pfade mit Sonderzeichen in Anführungszeichen:

ffmpeg.exe -i "../Gotten Movies/test.mp4" -s hd480 -c:v libx264 -crf 23 -c:a aac -strict -2 "../Gotten Movies/test2o.mp4" 
0

Nur ein FYI: Windows ist wirklich pingelig auf einzelne vs doppelte Anführungszeichen. I-Eingang meiner Datei wie folgt in der PHP (dies entkommt Wort Leerzeichen in Dateinamen und Verzeichnisse):

$filepath=$file->getPath(); 
$filepath=str_replace('\\',"/",$filepath); 
$filename='abc.mpg'; 

geben sie in separat meiner Funktion - dann tun Sie dies:

$cmd = 'ffmpeg -i "'.$filePath.'"/"'.$fileName.'" 2>&1 | findstr Duration'; 
$data = exec($cmd, $output); 

wenn Es gibt einen Fehler $ output enthält volle Antwort mit Fehlern - sonst $ data gibt das Element, das ich will (Dauer)