我有一些MP4格式的视频文件,我想将它们转换为MPEG格式文件。
我尝试转换为:
avconv -i 1.mp4 -fmp4 -target mpeg /mpeg/1.mpeg
但是我收到以下错误
1.mp4: Invalid data found when processing input
我的命令中缺少什么?
答案 0 :(得分:9)
我建议您在使用之前阅读该工具的the documentation。这是错的:
-fmp4
不是有效选项。也许你的意思是-f mp4
,有空格,但是:
.mp4
而avconv
应解析此就好了-f
放在之前您使用-i
指定的输入文件。-target
仅取值vcd
,svcd
,dvd
,dv
,dv50
,而非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的问题时,请始终包含完整的未切割控制台输出,而不仅仅是您认为相关的错误消息。否则,故障排除要复杂得多。