![在 Windows 7 上使用 ffmpeg 将 mkv 转换为 avi 时出错](https://linux22.com/image/1299630/%E5%9C%A8%20Windows%207%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20ffmpeg%20%E5%B0%86%20mkv%20%E8%BD%AC%E6%8D%A2%E4%B8%BA%20avi%20%E6%97%B6%E5%87%BA%E9%94%99.png)
我在 Windows 7 机器上使用 ffmpeg。我试图将 mkv 文件转换为 mp4 或 avi。这是我使用的命令:
ffmpeg -i "C:\Path\To\Input.mkv" "C:\Path\To\Output.avi"
这是我收到的错误:
[libmp4lame @ 00000000004624800] Invalid number of channels 6, must be <=2
在输入了几行关于我的输出文件应该是什么的内容之后,我收到了这个错误:
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
我没有指定任何这些参数,因为我希望 ffmpeg 从源文件复制它们。我做错了什么,如何修复?
答案1
如果您没有发布完整的输出,我只能在这里假设一些事情,但最有可能是以下问题:
您的 MKV 文件包含 6 声道环绕声。将其转换为 AVI 时,FFmpeg 会为视频和音频假定一些默认编解码器。我猜您的情况将是 MPEG-4 视频和 MP3 或 MP4 音频。
无论如何,在 LAME MP3 中无法获得 6 声道声音,因此您可以尝试以下任一方法:
这将尝试复制 AC3(或任何其它)流。
ffmpeg -i "C:\Path\To\Input.mkv" -acodec copy "C:\Path\To\Output.avi"
这将尝试将采样下调至两个音频通道:
ffmpeg -i "C:\Path\To\Input.mkv" -acodec libmp3lame -ac 2 "C:\Path\To\Output.avi"
我实际上非常确信错误消息应该显示libmp3lame
而不是libmp4name
。请复制/粘贴输出,而不是直接键入,并始终提供完整的输出。