3

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

我尝试转换:

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

但我收到以下错误

1.mp4: Invalid data found when processing input

我的命令中缺少什么?

4

1 回答 1

9

我鼓励您在使用它之前阅读该工具的文档。出了什么问题:

  • -fmp4不是一个有效的选项。也许你的意思是-f mp4,有一个空格,但是:
    • 这是多余的,因为您的输入文件有后缀.mp4avconv应该很好地解析它
    • 该选项放置不正确,因为您-f 需要-i.
  • -target只取值vcd, svcd, dvd, dv, dv50, 和 not 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 的问题时,请始终包括完整的、未删减的控制台输出,而不仅仅是您认为相关的错误消息。否则,故障排除要复杂得多。

于 2013-03-20T17:48:30.777 回答