Brak takiego pliku lub katalogu w FFmpeg

11

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.

Zrzut ekranu pokazujący błąd

L84
źródło
Czy faktycznie w wierszu polecenia znajduje się „file-name.mp4”? Nie mam na myśli cytatów, ale mam na myśli tę konkretną i dokładną nazwę pliku? I ... czy rzeczywiście masz plik MP4 o nazwie „nazwa-pliku.mp4” w katalogu C: \ Files \ ffmpeg?
Bon Gart
@BonGart - Tak, robię
L84
Tak, oboje? Czyli używasz tego dokładnego sformułowania ORAZ masz plik mp4 z ogólną nazwą „file-name.mp4” w tym konkretnym katalogu? Ponieważ to właśnie mówi nam błąd ... że w tym katalogu nie ma żadnego pliku o tej nazwie.
Bon Gart
@ BonGart - zamieściłem kilka zrzutów ekranu pokazujących katalog i ekran wiersza polecenia z błędem.
L84
Ok. więc odpowiedź brzmiała NIE .. NIE używałeś dokładnie wiersza „nazwa-pliku.mp4” w wierszu poleceń i NIE posiadasz pliku o nazwie „nazwa-pliku.mp4” w tym katalogu. Co należy zrobić, to usunąć „c: \ Files \ ffmpeg” z wiersza poleceń i spróbować ponownie. Ponieważ plik, który konwertujesz, znajduje się w tym samym katalogu co ffmpeg, nie potrzebujesz ścieżki bezwzględnej.
Bon Gart

Odpowiedzi:

4

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

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

wprowadź opis zdjęcia tutaj

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

Bon Gart
źródło
Dzięki za pomoc. Zrobiłem krótki film pokazujący dokładny proces. Brak szczęścia. Oto link: screencast.com/t/f50qR5eWq2B
L84
@Lynda Trochę edytowałem swoją odpowiedź, zawierałem pewne możliwości na dole, uaktualniłem ffmpeg do tej samej wersji, co pokazujesz ...
Bon Gart
Chyba będę musiał spróbować innej wersji. Próbowałem zmienić nazwę, ponownie zamówić system plików itp. I nadal tak samo. To jedyne miejsce, w którym go zainstalowałem. Próbowałem ffmpeg na starym komputerze z tymi samymi wynikami i przestałem próbować, ponieważ komputer miał problemy. To jest inny komputer bez problemów drugiego, a mimo to i wyników. Myślę, że spróbuję innej wersji.
L84
14

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)

Jivul
źródło
3

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.

konwerter wideo
źródło
To słusznie poprawna odpowiedź!
papajo,
0

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.

zła
źródło
0

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.

Gładkie
źródło
0

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"

użytkownik693544
źródło
0

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”

Modest Chemodanov
źródło
0

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

Tak 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

Pysis
źródło
0

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

MagTun
źródło