尝试将 mkv 文件转换为 avi:
avconv -i 1.mkv ./converted/1.avi
获得此输出:
avconv version 0.8.1-4:0.8.1-0ubuntu1, Copyright (c) 2000-2011 the Libav developers
built on Mar 22 2012 05:29:10 with gcc 4.6.3
[matroska,webm @ 0x8ba3aa0] Estimating duration from bitrate, this may be inaccurate
Input #0, matroska,webm, from '1.mkv':
Metadata:
TITLE :
ARTIST :
COMPOSER :
SYNOPSIS :
DATE_RELEASED :
GENRE :
Duration: 00:07:48.54, start: 0.000000, bitrate: N/A
Stream #0.0(eng): Video: h264 (Main), yuv420p, 1910x800 [PAR 1:1 DAR 191:80], 24 fps, 24 tbr, 1k tbn, 180k tbc (default)
Stream #0.1: Audio: aac, 44100 Hz, stereo, s16 (default)
[buffer @ 0x8dcd160] w:1910 h:800 pixfmt:yuv420p
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt'
[ac3 @ 0x8f24540] invalid bit rate
Output #0, avi, to './converted/1.avi':
Metadata:
TITLE :
ARTIST :
COMPOSER :
SYNOPSIS :
DATE_RELEASED :
GENRE :
Stream #0.0(eng): Video: mpeg4, yuv420p, 1910x800 [PAR 1:1 DAR 191:80], q=2-31, 200 kb/s, 90k tbn, 24 tbc (default)
Stream #0.1: Audio: ac3, 44100 Hz, stereo, flt, 200 kb/s (default)
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mpeg4)
Stream #0:1 -> #0:1 (aac -> ac3)
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
谷歌搜索后没有找到任何结果。
答案1
首先,尝试使用另一个编码器而不是ac3
。使用你的命令,你基本上可以avconv
自行决定一切。虽然这可能是一个错误(如果它在 FFmpeg 中有效,请提交报告),但你可以通过指定编码器来规避它——如果你已将其链接到 libav,我建议使用 MP3:
avconv -i 1.mkv -c:a libmp3lame ./converted/1.avi
以下是错误提示:
样本格式“s16”与编解码器“ac3”不兼容
也许尝试强制 AC3,甚至指定如下参数-b:a
:
avconv -i 1.mkv -c:a ac3 ./converted/1.avi
您可能还想对视频流使用适当的选项,而不是将(可能高质量的)h.264 流转换为普通的 MPEG-4。我敢肯定,如果您不这样做,转换结果会很糟糕。