Keine solche Datei oder kein solches Verzeichnis in FFmpeg

11

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.

Screenshot mit Fehler

L84
quelle
Haben Sie tatsächlich "file-name.mp4" in der Befehlszeile? Ich meine nicht mit den Anführungszeichen, aber ich meine diesen spezifischen und genauen Dateinamen? Und ... haben Sie tatsächlich eine mp4-Datei namens "file-name.mp4" im Verzeichnis C: \ Files \ ffmpeg?
Bon Gart
@ BonGart - Ja, das tue ich
L84
Ja, zu beiden? Bedeutet das, dass Sie genau diese Phrasierung verwenden UND Sie eine mp4-Datei mit dem generischen Namen "file-name.mp4" in diesem bestimmten Verzeichnis haben? Denn genau das sagt uns der Fehler ... dass sich in diesem Verzeichnis keine Datei mit diesem Namen befindet.
Bon Gart
@BonGart - Ich habe ein paar Screenshots gepostet, die das Verzeichnis und den Eingabeaufforderungsbildschirm mit Fehler zeigen.
L84
OK. Die Antwort war also NEIN. Sie haben NICHT den genauen Ausdruck "Dateiname.mp4" in der Befehlszeile verwendet, und Sie haben KEINE Datei mit dem Namen "Dateiname.mp4" in diesem Verzeichnis. Entfernen Sie "c: \ Files \ ffmpeg" aus der Befehlszeile und versuchen Sie es erneut. Da sich die zu konvertierende Datei im selben Verzeichnis wie ffmpeg befindet, benötigen Sie den absoluten Pfad nicht.
Bon Gart

Antworten:

3

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 ...

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

Geben Sie hier die Bildbeschreibung ein

..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ß)?

Bon Gart
quelle
Danke für Ihre Hilfe. Ich habe ein kurzes Video gemacht, das den genauen Prozess zeigt. Kein Glück. Hier ist der Link: screencast.com/t/f50qR5eWq2B
L84
@ Lynda Ich habe meine Antwort ein wenig bearbeitet, unten einige Möglichkeiten aufgenommen, ffmpeg auf die gleiche Version aktualisiert, die Sie zeigen ...
Bon Gart
Ich werde wohl einen anderen Build ausprobieren müssen. Ich habe versucht, das Dateisystem umzubenennen, neu zu ordnen usw. und immer noch die gleichen Ergebnisse. Dies ist der einzige Ort, an dem ich es installiert habe. Und ich habe ffmpeg auf einem alten Computer mit den gleichen Ergebnissen ausprobiert und den Versuch abgebrochen, weil der Computer Probleme hatte. Dies ist ein anderer Computer ohne die Probleme des anderen und noch und Ergebnisse. Ich werde einen anderen Build ausprobieren, denke ich.
L84
13

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)

Jivul
quelle
3

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.

Videokonverter
quelle
Dies ist die zu Recht richtige Antwort!
Papajo
0

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.

Übelsuppe
quelle
0

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.

Smoot
quelle
0

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"

user693544
quelle
0

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".

Bescheidene Chemodanov
quelle
0

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/175686

Das 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

Pysis
quelle
0

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

MagTun
quelle