如何用avconv将MP4文件转换为MPEG?

时间:2013-03-20 14:39:59

标签: ffmpeg libav

我有一些MP4格式的视频文件,我想将它们转换为MPEG格式文件。

我尝试转换为:

avconv -i 1.mp4 -fmp4 -target mpeg /mpeg/1.mpeg

但是我收到以下错误

1.mp4: Invalid data found when processing input

我的命令中缺少什么?

1 个答案:

答案 0 :(得分:9)

我建议您在使用之前阅读该工具的the documentation。这是错的:

  • -fmp4不是有效选项。也许你的意思是-f mp4,有空格,但是:
    • 这是多余的,因为您的输入文件后缀为.mp4avconv应解析此就好了
    • 该选项放置错误,因为您需要将-f 放在之前您使用-i指定的输入文件。
  • -target仅取值vcdsvcddvddvdv50,而非mpeg。如果要对MPEG视频进行编码,则需要选择带-c:v的视频编解码器。只有在您想要定位上述任何输出格式时才应使用-target,在这种情况下,avconv会自行选择合适的编解码器。

话虽如此,我们不知道您想要什么MPEG视频。有MPEG-1,MPEG-2,MPEG-4 Visual和MPEG-4 AVC,每个都有不同的编码器。有关列表,请参阅avconv -codecs

尝试这样的事情:

avconv -i 1.mp4 -c:v mpeg2video -q:v 2 -c:a libmp3lame output.mpg

我在这里明确指定了MPEG-2视频,采用可变质量编码。品质因数-q可以设置为1到31,其中1是最佳质量。 2-5是一个很好的尝试范围。 MP3音频是可选的,但它总是有助于明确指定所需的编解码器,而不是让avconv选择默认值。

此外,在询问有关Libav或FFmpeg的问题时,请始终包含完整的未切割控制台输出,而不仅仅是您认为相关的错误消息。否则,故障排除要复杂得多。