2

Я пытаюсь извлечь вложения из файла MKV, следуя документации на http://ffmpeg.org/ffmpeg.html#Main-options

Прямая цитата из документации:

To extract all attachments to files determined by the filename tag:  
ffmpeg -dump_attachment:t "" INPUT

Команда, которую я запускаю на моем компьютере:

ffmpeg -i test.mkv -dump_attachment:t "" INPUT

Однако я продолжаю получать следующую ошибку:

[NULL @ 0x7f981182ae00] Unable to find a suitable output format for 'INPUT'
INPUT: Invalid argument

Как я могу извлечь вложения из моего файла test.mkv? Я неправильно понимаю, что такое INPUT ?

Я пробовал:

ffmpeg -dump_attachment:t "" test.mkv 

и FFmpeg подсказывает мне это:

File 'test.mkv' already exists. Overwrite ? [y/N]. 

При вводе y файл test.mkv заменяется 0-байтовым файлом, и вложения не извлекаются.


Дополнительная информация:

Я установил ffmpeg через brew, используя следующую команду:

brew install ffmpeg --with-freetype --with-libass --with-tools

1 ответ1

4

Документация была неправильной. Эта ошибка была исправлена сейчас. В примерах отсутствовал флаг -i для правильного обозначения входного файла:

ffmpeg -dump_attachment:t "" -i test.mkv

Это работало для меня в FFmpeg 1.1.2 и выше. Обратите внимание, что FFmpeg по-прежнему будет жаловаться на отсутствие указанного выходного файла. Не беспокойтесь об этом: вложения все равно будут извлечены.


Вы также можете извлечь вложения из файлов MKV с помощью MKVToolNix. Этот набор программ можно легко загрузить с веб-сайта для всех операционных систем или в OS X, установленной с brew install mkvtoolnix .

Посмотрите на идентификаторы ваших вложений:

mkvmerge -i <mkv-file>

Затем извлеките их:

mkvextract attachments <mkv-file> <attachment-id>:<file-name>

Смотрите документацию mkvextract. Если <file-name> пусто, имя будет выбрано автоматически. Конечно, вы также можете указать несколько пар <attachment-id>:<file-name> .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .