Aucun fichier ou répertoire de ce type dans FFmpeg


11

J'essaie d'utiliser FFmpeg pour extraire l'audio d'un mp4 et je continue à rencontrer cette erreur:

CFileffmpegvideo.mp4: No such file or directory exist. 

Je suis dans l'invite de commande (dans Windows 7) et j'ai le chemin d'accès C:\Files\ffmpeg(Où est ffmpeg).

Je lance cette ligne de commande

ffmpeg -i C: \ Files \ ffmpeg \ video.mp4 -f mp3 -ab 320000 -vn music.mp3

Le fichier se trouve dans le même dossier que ffmpeg. Je sais que je manque quelque chose de simple ici, mais qu'est-ce que c'est?

Voici une courte vidéo montrant le processus exact.

Capture d'écran montrant une erreur


Avez-vous réellement "file-name.mp4" dans la ligne de commande? Je ne veux pas dire avec les guillemets, mais je veux dire ce nom de fichier spécifique et exact? Et ... avez-vous réellement un fichier mp4 appelé "nom-fichier.mp4" dans le répertoire C: \ Files \ ffmpeg?
Bon Gart

@BonGart - Oui je le fais
L84

Oui, pour les deux? Cela signifie que vous utilisez cette formulation exacte ET que vous avez un fichier mp4 avec le nom générique de "nom-fichier.mp4" dans ce répertoire spécifique? Parce que c'est ce que l'erreur nous dit ... qu'il n'y a aucun fichier de ce nom dans ce répertoire.
Bon Gart

@BonGart - J'ai posté quelques captures d'écran montrant le répertoire et l'écran d'invite de commande avec erreur.
L84

D'accord. alors la réponse était NON .. vous n'utilisiez PAS l'expression exacte "nom-fichier.mp4" dans la ligne de commande, et vous n'avez PAS de fichier réellement appelé "nom-fichier.mp4" dans ce répertoire. Ce que vous devez faire est de supprimer "c: \ Files \ ffmpeg" de la ligne de commande et réessayer. Puisque le fichier que vous convertissez se trouve dans le même répertoire que ffmpeg, vous n'avez pas besoin du chemin absolu.
Bon Gart

Réponses:


3

J'ai recréé votre situation (du mieux que j'ai pu) sur cet ordinateur après avoir regardé votre vidéo. J'ai téléchargé la même version de ffmpeg (je ne connais pas la construction, car je suis limité à utiliser la version 32 bits), j'ai copié l'exécutable du dossier bin dans le dossier principal, j'ai mis un fichier mp4 appelé "video.mp4" dans là, et utilisé vos paramètres de ligne de commande exacts, moins le chemin absolu ...

ffmpeg -i video.mp4 -f mp3 -ab 320000 -vn music.mp3

entrez la description de l'image ici

..et cela a parfaitement fonctionné pour moi. Maintenant, je ne l'ai pas fait à partir de la même structure de répertoire que vous aviez configurée (c: \ files \ ffmpeg). Avez-vous installé ffmpeg ailleurs sur l'ordinateur? Avez-vous pensé à essayer une version / build précédente? Et 32 bits contre 64 bits ... ou vice versa? Est-ce la première fois que vous utilisez cette version de ffmpeg? Ou ... cela a-t-il parfaitement fonctionné jusqu'à présent? Avez-vous essayé de renommer le fichier d'entrée (idiot, je sais)?


Merci de votre aide. J'ai pris une courte vidéo montrant le processus exact. Pas de chance. Voici le lien: screencast.com/t/f50qR5eWq2B
L84

@Lynda J'ai un peu modifié ma réponse, inclus quelques possibilités en bas, mis à jour ffmpeg vers la même version que vous montrez ...
Bon Gart

Je vais devoir essayer différentes versions, je suppose. J'ai essayé de renommer, de réorganiser le système de fichiers, etc. et toujours les mêmes résultats. C'est le seul endroit où je l'ai installé. Et j'ai essayé ffmpeg sur un vieil ordinateur avec les mêmes résultats et j'ai arrêté d'essayer car l'ordinateur avait des problèmes. Il s'agit d'un ordinateur différent sans les problèmes de l'autre et toujours et les résultats. Je vais essayer une autre version, je suppose.
L84

13

Vous pouvez avoir une double extension de fichier, votre "video.mp4" est en fait "video.mp4.mp4" (regardez la capture d'écran de votre dossier Windows, README.txt a l'extension cachée)


3

compris le problème.

si vous tapez dir dans la fenêtre d'invite ff, vérifiez à quel dossier il fait référence.

Pour moi, il faisait en fait référence au dossier bin, pas au dossier dans lequel se trouve le fichier batch ffmpeg.

J'ai mis le fichier vidéo dans le dossier "bin" et il l'a trouvé sans problème.


C'est la bonne réponse à juste titre!
papajo

0

Il semble que ffmpeg ait des problèmes avec votre nom de fichier absolu. Je suppose que, comme il est plus concentré sur les environnements de type Unix, il utilise \ comme caractère d'échappement. Essayez plutôt d'utiliser des barres obliques.


0

Effectuez une recherche DIR du répertoire pour voir si le nom de fichier n'a pas été changé en "File.mp4.mp4" ou similaire. C'était mon problème avec Windows Vista et 7.


0

Je sais que c'est un ancien poste mais juste au cas où quelqu'un d'autre tomberait dessus et aurait besoin d'aide; vous pouvez ajouter le chemin d'accès complet à tous les fichiers impliqués et vous pouvez l'exécuter de n'importe où!

Modifiez cette commande avec les valeurs appropriées et copiez / collez-la dans une invite de commande:

C:\ReplaceThisWithFFMpegInstallFolder\ffmpeg.exe -i "C:\ReplaceThisWithSourceFolder\ReplaceThisWithVideoFileName.mp4" -f mp3 -ab 320000 -vn "C:\ReplaceThisWithDestinationFolder\ReplaceThisWithAudioFileName.mp3"


0

Assurez-vous que le nom de fichier n'a pas d'espace de fin. Dans mon cas, il y avait un espace après l'extension .mp4, ce qui rend la syntaxe correcte: "input.mp4"


0

J'avais un problème comme celui-ci avec une build Win64 via Cygwin. Je pense que la conversion de chemin automatique nous l'erreur, et je souhaite que cela fonctionne dans plus de scénarios comme avec les chemins de style * NIX.

Cela se produirait également lorsque j'appelais manuellement cygpath lors du transfert des données de chemin depuis mon presse-papiers.

Je pensais que les chemins de style Windows étaient le problème au début, mais c'est parce que lorsque je déplace + clic droit pour copier leurs chemins dans l'explorateur de fichiers, il ajoute des guillemets autour d'eux.

J'essayais d'utiliser cette méthode: ffmpeg -v error -i file.avi -f null - https://superuser.com/a/100290/175686

Ainsi, le résultat qui fonctionne est des chemins de style Windows sans guillemets.

Un autre lien astucieux: /unix/77016/ffmpeg-pattern-type-glob-not-loading-files-in-correct-order


0

J'ai eu cette erreur car mon nom de fichier contenait un espace. Pour le résoudre, 1) définissez le répertoire de travail avec Pushd 2) mettez votre nom de fichier entre guillemets""

Voir ici pour un exemple de travail

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.