Я пытаюсь использовать FFmpeg для извлечения аудио из mp4, и я продолжаю сталкиваться с этой ошибкой:
CFileffmpegvideo.mp4: No such file or directory exist.
Я в командной строке (в Windows 7) и путь как C:\Files\ffmpeg
(где ffmpeg).
Я запускаю эту командную строку
ffmpeg -i C: \ Files \ ffmpeg \ video.mp4 -f mp3 -ab 320000 -vn music.mp3
Файл находится в той же папке, что и ffmpeg. Я знаю, что здесь не хватает чего-то простого, но что это?
Вот короткое видео, показывающее точный процесс.
Ответы:
Я воссоздал вашу ситуацию (насколько мог) на этом компьютере после того, как посмотрел ваше видео. Я скачал ту же версию ffmpeg (не знаю о сборке, поскольку я ограничен использованием 32-битной версии), скопировал исполняемый файл из папки bin в основную, поместил файл mp4 с именем "video.mp4" в там, и использовал ваши точные параметры командной строки, минус абсолютный путь ...
... и это отлично сработало для меня. Я сделал это не из той структуры каталогов, которую вы настроили (c: \ files \ ffmpeg). У вас есть установленный ffmpeg где-нибудь еще на компьютере? Рассматривали ли вы попробовать предыдущую сборку / версию? А как насчет 32 бит против 64 бит ... или наоборот? Вы впервые используете эту версию ffmpeg? Или ... до сих пор это работало отлично? Вы пытались переименовать входной файл (глупо, я знаю)?
источник
У вас может быть двойное расширение файла, ваш «video.mp4» на самом деле «video.mp4.mp4» (посмотрите на скриншот вашей папки Windows, README.txt имеет скрытое расширение)
источник
разобрался с вопросом.
если вы введете dir в окне приглашения ff, проверьте, на какую FOLDER он ссылается.
Для меня это была ссылка на папку bin, а не на папку, в которой находится пакетный файл ffmpeg.
Я поместил видеофайл в папку «bin», и он нашел его без проблем.
источник
Похоже, у ffmpeg возникли проблемы с вашим абсолютным именем файла. Я полагаю, поскольку он более сконцентрирован на Unix-подобных средах, он использует \ как escape-символ. Попробуйте вместо этого использовать косую черту.
источник
Выполните DIR-поиск в каталоге, чтобы узнать, не было ли имя файла изменено на «File.mp4.mp4» или подобное. Это была моя проблема с использованием Windows Vista и 7.
источник
Я знаю, что это старый пост, но на тот случай, если кто-то еще наткнется на него и ему понадобится помощь; Вы можете добавить полный путь ко всем файлам, и вы можете запустить его из любого места!
Отредактируйте эту команду с соответствующими значениями и скопируйте / вставьте ее в командную строку:
C:\ReplaceThisWithFFMpegInstallFolder\ffmpeg.exe -i "C:\ReplaceThisWithSourceFolder\ReplaceThisWithVideoFileName.mp4" -f mp3 -ab 320000 -vn "C:\ReplaceThisWithDestinationFolder\ReplaceThisWithAudioFileName.mp3"
источник
Убедитесь, что в имени файла нет завершающего пробела. В моем случае после расширения .mp4 был пробел с правильным синтаксисом: «input.mp4»
источник
У меня была такая проблема с сборкой Win64 через Cygwin. Я думаю, что автоматическое преобразование пути является ошибкой, и мне бы хотелось, чтобы оно работало в других сценариях, например, с путями в стиле * NIX.
Это также происходит, когда я вручную вызываю cygpath при передаче данных о пути из буфера обмена.
Сначала я думал, что пути в стиле Windows были проблемой, но это потому, что когда я нажимаю Shift + щелчок правой кнопкой мыши, чтобы скопировать их пути в проводнике, он добавляет кавычки вокруг них.
Я пытался использовать этот метод:
ffmpeg -v error -i file.avi -f null -
https://superuser.com/a/100290/175686Таким образом, результат, который работает, - это не кавычки, пути в стиле Windows.
Еще одна интересная ссылка: /unix/77016/ffmpeg-pattern-type-glob-not-loading-files-in-correct-order
источник
У меня была эта ошибка, потому что в моем имени файла были пробелы. Чтобы решить это, 1) установите рабочий каталог с помощью
Pushd
2) поместите ваше имя файла в кавычки""
Смотрите здесь для рабочего примера
источник