我正在尝试将大型 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 播放机送人了)。
答案1
你只有一个-s
选择。它失去了它的论点。
您应该指定所需的大小或完全省略它 - 否则它将无法-codec:v
正确解释并假定mpeg4
是您的输出文件名。
此外,使用-b:v
而不是 just -b
– 这是模棱两可的。
ffmpeg -i video.mkv -s 1280x720 -codec:v mpeg4 -bf 1 -b:v 2567k -mbd 2 -g 300 -flags cgop -acodec copy video.avi