Ich versuche, FFmpeg zu verwenden, um Audio aus einer MP3-Datei zu extrahieren, und es tritt immer wieder dieser Fehler auf:
CFileffmpegvideo.mp4: No such file or directory exist.
Ich bin in der Eingabeaufforderung (in Windows 7) und habe den Pfad als C:\Files\ffmpeg
(Wo ffmpeg ist).
Ich führe diese Befehlszeile aus
ffmpeg -i C: \ Dateien \ ffmpeg \ video.mp4 -f mp3 -ab 320000 -vn music.mp3
Die Datei befindet sich im selben Ordner wie ffmpeg. Ich weiß, dass mir hier etwas Einfaches fehlt, aber was ist das?
Hier ist ein kurzes Video, das den genauen Prozess zeigt.
Antworten:
Ich habe Ihre Situation (so gut ich konnte) auf diesem Computer neu erstellt, nachdem ich Ihr Video angesehen habe. Ich habe die gleiche Version von ffmpeg heruntergeladen (ich weiß nichts über Build, da ich nur die 32-Bit-Version verwenden kann), die ausführbare Datei aus dem bin-Ordner in den Hauptordner kopiert und eine mp4-Datei mit dem Namen "video.mp4" eingefügt dort und verwendet Ihre genauen Befehlszeilenparameter, abzüglich des absoluten Pfades ...
..und es hat perfekt für mich funktioniert. Jetzt habe ich es nicht aus derselben Verzeichnisstruktur gemacht, die Sie eingerichtet hatten (c: \ files \ ffmpeg). Haben Sie ffmpeg irgendwo anders auf dem Computer installiert? Haben Sie darüber nachgedacht, einen früheren Build / eine frühere Version auszuprobieren? Was ist mit 32 Bit vs. 64 Bit ... oder umgekehrt? Ist dies das erste Mal, dass Sie diese Version von ffmpeg verwenden? Oder ... hat es bis jetzt perfekt funktioniert? Haben Sie versucht, die Eingabedatei umzubenennen (dumm, ich weiß)?
quelle
Möglicherweise haben Sie eine doppelte Dateierweiterung, Ihre "video.mp4" ist tatsächlich "video.mp4.mp4" (siehe Screenshot Ihres Windows-Ordners, README.txt hat die Erweiterung versteckt)
quelle
fand das Problem heraus.
Wenn Sie im ff-Eingabeaufforderungsfenster dir eingeben, überprüfen Sie, auf welchen ORDNER verwiesen wird.
Für mich bezog es sich tatsächlich auf den Ordner bin, nicht auf den Ordner, in dem sich die ffmpeg-Batchdatei befindet.
Ich habe die Videodatei in den Ordner "bin" gelegt und sie ohne Probleme gefunden.
quelle
Es sieht so aus, als ob ffmpeg Probleme mit Ihrem absoluten Dateinamen hat. Ich denke, da es sich mehr auf Unix-ähnliche Umgebungen konzentriert, wird \ als Escape-Zeichen verwendet. Versuchen Sie stattdessen Schrägstriche.
quelle
Führen Sie eine DIR-Suche im Verzeichnis durch, um festzustellen, ob der Dateiname nicht in "File.mp4.mp4" oder ähnlich geändert wurde. Das war mein Problem mit Windows Vista und 7.
quelle
Ich weiß, dass dies ein alter Beitrag ist, aber nur für den Fall, dass jemand anderes darauf stößt und Hilfe benötigt. Sie können den vollständigen Pfad zu allen beteiligten Dateien hinzufügen und diesen von jedem Ort aus ausführen!
Bearbeiten Sie diesen Befehl mit den entsprechenden Werten und kopieren Sie ihn in eine Eingabeaufforderung:
C:\ReplaceThisWithFFMpegInstallFolder\ffmpeg.exe -i "C:\ReplaceThisWithSourceFolder\ReplaceThisWithVideoFileName.mp4" -f mp3 -ab 320000 -vn "C:\ReplaceThisWithDestinationFolder\ReplaceThisWithAudioFileName.mp3"
quelle
Stellen Sie sicher, dass der Dateiname kein Leerzeichen enthält. In meinem Fall gab es nach der Erweiterung .mp4 ein Leerzeichen mit der korrekten Syntax: "input.mp4".
quelle
Ich hatte ein solches Problem mit einem Win64-Build über Cygwin. Ich denke, die automatische Pfadkonvertierung ist der Fehler, und ich wünschte, es würde in mehr Szenarien funktionieren, wie bei den Pfaden im * NIX-Stil.
Dies würde auch auftreten, wenn ich beim Weiterleiten von Pfaddaten aus meiner Zwischenablage manuell cygpath aufrufe.
Anfangs dachte ich, dass Pfade im Windows-Stil das Problem sind, aber das liegt daran, dass beim Umschalten + Rechtsklick zum Kopieren ihrer Pfade im Datei-Explorer Anführungszeichen hinzugefügt werden.
Ich habe versucht, diese Methode zu verwenden:
ffmpeg -v error -i file.avi -f null -
https://superuser.com/a/100290/175686Das Ergebnis sind also nicht zitierte Pfade im Windows-Stil.
Ein weiterer nützlicher Link: /unix/77016/ffmpeg-pattern-type-glob-not-loading-files-in-correct-order
quelle
Ich hatte diesen Fehler, weil mein Dateiname ein Leerzeichen enthielt. Um es zu lösen, 1) stellen Sie das Arbeitsverzeichnis mit
Pushd
2) setzen Sie Ihren Dateinamen in Anführungszeichen""
Sehen Sie hier für ein Arbeitsbeispiel
quelle