在使用 FFMPEG将 flv转换为 mp4时,出现以下错误
FFMPEG
flv
mp4
[ aac@0x2b4b640]编码器“ aac”是实验性的,但是实验性的编解码器没有启用,如果你想使用它,可以加上“-strict-2”。
正如消息所说,原生的 ffmpeg AAC音频编码器是实验性的,您需要将 -strict -2或 -strict experimental添加到您的命令中使用它。但是,此编码器不再标记为实验性的,因此最近的 ffmpeg 构建不需要使用此选项。
AAC
-strict -2
-strict experimental
为了得到最好的结果,您需要使用这个库来编译 ffmpeg,请参阅 编写指南。
使用 -c:a libfdk_aac设置音频编码器。
-c:a libfdk_aac
你的问题不言自明。 把 -strict -2加进去,应该够了
实际上,将 -strict -2添加到命令行不是 够了。在哪里添加 -strict -2非常重要,不幸的是,这在错误消息中没有解释。它应该就在最后一个论点之前,也就是说,如下所示:
ffmpeg -i infile -strict -2 outfile
试试以下命令:
ffmpeg -i Inputfile.flv -vcodec h264 -acodec aac -strict -2 Filename.mp4
您可以使用此命令将任何类型的视频文件转换为具有 x264和相同质量的 mp4。
我已经尝试了很多方法,但是这个方法对我来说非常有效
通过在打开编解码器之前将 codec-context strict_std_complaince变量设置为 -2,您可以在 C + + 代码中添加-strong 实验。
strict_std_complaince
AVCodecContext *c; c->strict_std_compliance = -2; /* open it */ ret = avcodec_open2(c, codec, NULL);
看看 原作者的解释。