2016-04-04 1 views
1

Je suis en train de re taille une vidéo qui n'est pas dans le même répertoire de code exec PHP, voici mon code ffmpeg: numéro d'entrée FFmpeg

ffmpeg.exe -i ../Gotten Movies/test.mp4 -s hd480 -c:v libx264 -crf 23 -c:a aac -strict -2 ../Gotten Movies/test2o.mp4
L'erreur que je reçois est: ../Gotten: Invalid data found when processing input Je pense que le problème est dû au fait de choisir le répertoire précédent avec ../ J'ai essayé de
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
Mais cela n'a pas fonctionné aussi, que puis-je faire pour résoudre le problème grâce.

+0

Utilise \ au lieu de/ – Mulvya

+0

même problème son affichage '.. \ Gotten: Données invalides trouvées lors du traitement en mettre maintenant :( – 7al7ol

+0

Enclose entre guillemets " – Mulvya

Répondre

1

toujours plus sûr de joindre des chemins avec des caractères spéciaux entre guillemets:

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

Juste un FYI: Windows est vraiment pointilleux sur simple vs guillemets doubles. Je entrée mon dossier comme celui-ci dans le PHP (ce qui échappe à des espaces de mot dans les noms de fichiers et répertoires):

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

les passer dans séparément à ma fonction - faites ceci:

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

si il y a une erreur $ output contiendra une réponse complète avec des erreurs - sinon $ data donne l'item que je veux (Duration)