Я пытаюсь преобразовать большой MKV в файл AVI старой школы.
Я пытаюсь это:
ffmpeg -i video.mkv -s -codec:v mpeg4 -bf 1 -b 2567k -mbd 2 -g 300 -flags cgop -acodec copy video.avi
но я получаю
[NULL @ 0x7fa0d901e600] Unable to find a suitable output format for 'mpeg4'
mpeg4: Invalid argument
Длинная версия сообщения ffmpeg ...
ffmpeg version 2.1.3 Copyright (c) 2000-2013 the FFmpeg developers
built on Feb 4 2014 17:53:32 with Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.1.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable- hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 52. 48.101 / 52. 48.101
libavcodec 55. 39.101 / 55. 39.101
libavformat 55. 19.104 / 55. 19.104
libavdevice 55. 5.100 / 55. 5.100
libavfilter 3. 90.100 / 3. 90.100
libavresample 1. 1. 0 / 1. 1. 0
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
Input #0, matroska,webm, from ‘video.mkv':
Metadata:
creation_time : 2011-05-11 09:25:47
Duration: 00:49:01.35, start: 0.000000, bitrate: 2851 kb/s
Stream #0:0(eng): Video: h264 (High), yuv420p(tv, bt709), 1280x720, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default) (forced)
Stream #0:2(eng): Subtitle: subrip
[NULL @ 0x7fa0d901e600] Unable to find a suitable output format for 'mpeg4'
mpeg4: Invalid argument
Есть идеи, что происходит?
РЕДАКТИРОВАТЬ: я намеревался использовать ffmpeg после того, как DivX Converter - как на Mac, так и на Windows - потерпел бы неудачу в разных точках, пытаясь перекодировать видео в профиль DivX Home Theater. Самый близкий, который я получил, был ответом shlck. Он выдавал только предупреждения (а не ошибки). В любом случае, я не мог заставить видео воспроизводиться на DVD-проигрывателе (он зависал каждые 10 секунд в течение примерно 6 секунд). Если вы нашли этот вопрос, пытаясь исследовать создание совместимого с профилем видео DivX Home Theater, вы можете использовать эту строку в качестве отправной точки, чтобы выяснить, в чем дело, и опубликовать новый вопрос для SU:
ffmpeg -i video.mkv -s 720x406 -codec:v mpeg4 -bf 1 -b:v 2567k -mbd 2 -g 300 -flags cgop -sc_threshold 1000000000 -acodec copy video.avi
(В конце концов я отдал старый DVD-плеер).
источник
Ответы:
У вас есть одинокий
-s
выбор там. Это пропускает свой аргумент.Вы должны указать желаемый размер или не указывать его полностью - в противном случае он не будет
-codec:v
правильно интерпретироваться и будет считатьсяmpeg4
вашим выходным именем файла.Кроме того, использовать
-b:v
вместо просто-b
- это неоднозначно.источник
-flags cgop
если вам это не нужно. Или добавить-sc_threshold 1000000000
как вариант.-sc_threshold 1000000000
позволил ffmpeg хотя бы перекодировать файл. Если вы пытаетесь создать совместимое с профилем видео DivX для домашнего кинотеатра, обратитесь к моему отредактированному вопросу выше (вам нужно больше спрашивать / исследовать).