#ffmpeg
#Windows #powershell #ffmpeg
Вопрос:
У меня есть файл ffmpeg_list_of_files.txt
с содержимым
file '.Output_0forces_vs_radii.pdf'
file '.Output_1forces_vs_radii.pdf'
file '.Output_2forces_vs_radii.pdf'
file '.Output_3forces_vs_radii.pdf'
file '.Output_4forces_vs_radii.pdf'
and so on...
и затем запустите ffmpeg -f concat -i ffmpeg_list_of_files.txt -c copy output.mkv
, как указано в
http://trac.ffmpeg.org/wiki/Concatenate
Я, к сожалению, получаю ошибку
Line 1: unknown keyword ' ■f'
.ffmpeg_list_of_files.txt: Invalid data found when processing input
в Windows PowerShell в Windows 10.
Что я делаю не так?
Комментарии:
1. Ваш входной файл имеет неправильную кодировку (предположительно ФАЙЛ UTF-16). Запустите
(Get-Content 'ffmpeg_list_of_files.txt') | Set-Content 'ffmpeg_list_of_files.txt' -Encoding Ascii
, чтобы исправить это.2. @AnsgarWiechers Я понятия не имею, как вы видите / догадались, что у меня неправильная кодировка, но ваше предложение, похоже, помогает. Теперь я должен исправить частоту кадров, потому
.ffmpeg -f concat -safe 0 -i .ffmpeg_list_of_files.txt -c copy output.mkv -framerate 5
что, похоже, не работает. Спасибо!3. Сообщение об
' ■f'
ошибке в значительной степени является мертвой раздачей.4. Вы пытаетесь превратить PDF-файл в изображение или видео? В FFmpeg нет демультипликатора PDF. Во-вторых, размещение параметров имеет значение, и конечные параметры часто игнорируются :
ffmpeg [global options] [input options] -i [output options] output
. В-третьих,-framerate
это опция ввода для определенных демультиплексоров: вместо этого используйте для вывода-r
.
Ответ №1:
Я также столкнулся с проблемой кодирования, которую я решил, изменив кодировку файла. Шаги по ее решению:
- Откройте ffmpeg_list_of_files.txt с помощью notepad, notepad или аналогичного
- Измените кодировку на UTF-8 без спецификации. Для этого выполните одно из следующих действий:
- в блокноте Windows это делается с помощью опции «сохранить как …» и внизу меняем кодировку на «UTF-8» и нажимаем «сохранить»
- с помощью notepad выберите «encoding» в главном меню и выберите «encoding with UTF-8 without BOM» и сохраните файл после этого
Имена могут немного меняться в зависимости от версии, но, следуя инструкциям, это довольно просто.
Примечание: В моем случае при перенаправлении ls или dir на файл в powershell кодировкой файла по умолчанию является USC-2