Próbuję użyć FFmpeg do wyodrębnienia dźwięku z mp4 i ciągle napotyka ten błąd:
CFileffmpegvideo.mp4: No such file or directory exist.
Jestem w wierszu polecenia (w Windows 7) i mam ścieżkę jako C:\Files\ffmpeg
(Gdzie jest ffmpeg).
Uruchomię ten wiersz poleceń
ffmpeg -i C: \ Files \ ffmpeg \ video.mp4 -f mp3 -ab 320000 -vn music.mp3
Plik znajduje się w tym samym folderze co ffmpeg. Wiem, że brakuje mi czegoś prostego, ale co to jest?
Oto krótki film pokazujący dokładny proces.
Odpowiedzi:
Odtworzyłem twoją sytuację (najlepiej jak mogłem) na tym komputerze po obejrzeniu twojego filmu. Pobrałem tę samą wersję ffmpeg (nie wiem o kompilacji, ponieważ jestem ograniczony do używania wersji 32-bitowej), skopiowałem plik wykonywalny z folderu bin do głównego, umieściłem plik mp4 o nazwie „video.mp4” w tam i użyłem dokładnych parametrów wiersza poleceń, pomijając ścieżkę bezwzględną ...
.. i działało idealnie dla mnie. Teraz nie zrobiłem tego z tą samą strukturą katalogów, którą skonfigurowałeś (c: \ files \ ffmpeg). Czy masz zainstalowany program ffmpeg w innym miejscu na komputerze? Czy rozważałeś wypróbowanie poprzedniej wersji / wersji? Co powiesz na 32-bitowy vs. 64-bitowy ... lub odwrotnie? Czy po raz pierwszy używasz tej wersji ffmpeg? Lub ... czy do tej pory działało idealnie? Czy próbowałeś zmienić nazwę pliku wejściowego (głupie, wiem)?
źródło
Być może masz podwójne rozszerzenie pliku, a „video.mp4” to tak naprawdę „video.mp4.mp4” (spójrz na zrzut ekranu folderu Windows, README.txt ma ukryte rozszerzenie)
źródło
zrozumiał problem.
jeśli wpiszesz dir w oknie zachęty ff, sprawdź, do którego FOLDERU się odnosi.
Dla mnie faktycznie odnosiło się to do folderu bin, a nie do folderu, w którym znajduje się plik wsadowy ffmpeg.
Umieściłem plik wideo w folderze „bin” i okazało się, że nie ma problemów.
źródło
Wygląda na to, że ffmpeg ma problem z bezwzględną nazwą pliku. Sądzę, że ponieważ jest bardziej skoncentrowany na środowiskach uniksowych, używa \ jako znaku ucieczki. Zamiast tego spróbuj użyć ukośników.
źródło
Przeszukaj katalog DIR, aby sprawdzić, czy nazwa pliku nie została zmieniona na „File.mp4.mp4” lub podobny. To był mój problem z Windows Vista i 7.
źródło
Wiem, że to stary post, ale na wypadek, gdyby ktoś natknął się na niego i potrzebował pomocy; możesz dodać pełną ścieżkę do wszystkich zaangażowanych plików i możesz uruchomić ją z dowolnego miejsca!
Edytuj to polecenie za pomocą odpowiednich wartości i skopiuj / wklej je w wierszu polecenia:
C:\ReplaceThisWithFFMpegInstallFolder\ffmpeg.exe -i "C:\ReplaceThisWithSourceFolder\ReplaceThisWithVideoFileName.mp4" -f mp3 -ab 320000 -vn "C:\ReplaceThisWithDestinationFolder\ReplaceThisWithAudioFileName.mp3"
źródło
Upewnij się, że nazwa pliku nie ma spacji końcowej. W moim przypadku po rozszerzeniu .mp4 była spacja, która tworzy poprawną składnię: „input.mp4”
źródło
Miałem taki problem z kompilacją Win64 przez Cygwin. Myślę, że automatyczna konwersja ścieżek jest błędem i chciałbym, aby działała w większej liczbie scenariuszy, takich jak ścieżki w stylu * NIX.
Dzieje się tak również wtedy, gdy ręcznie wywołuję cygpath podczas przesyłania danych ścieżki ze schowka.
Myślałem, że ścieżki w stylu Windows były początkowo problemem, ale dlatego, że kiedy przesuwam + kliknięcie prawym przyciskiem myszy, aby skopiować ich ścieżki w eksploratorze plików, dodaje cudzysłowy wokół nich.
Próbowałem użyć tej metody:
ffmpeg -v error -i file.avi -f null -
https://superuser.com/a/100290/175686Tak więc wynikiem, który działa, są niecytowane ścieżki w stylu Windows.
Kolejny fajny link: /unix/77016/ffmpeg-pattern-type-glob-not-loading-files-in-correct-order
źródło
Miałem ten błąd, ponieważ moja nazwa pliku zawierała spacje. Aby to rozwiązać: 1) ustaw katalog roboczy za pomocą
Pushd
2) wstaw nazwę pliku w cudzysłowie""
Zobacz tutaj działający przykład
źródło