FFmpeg:检查aac比特流是否格式错误

时间:2015-07-21 09:45:30

标签: ffmpeg html5-video html5-audio

我想在我的服务器上上传几组视频,然后在HTML5视频标签中播放。但其中一些人没有参加比赛。

我查看了视频的音频流和视频流,他们分别有 AAC H264 编解码器。所以我没有什么不对。

然后我尝试重新编码,我收到以下消息:

malformated aac bitstream, use -absf aac_adtstoasc
av_interleaved_write_frame(): Operation not permitted

但是我不希望在上传前对视频进行编码,只需检查,如果视频格式错误的aac或h264 bitsream。

  

PS。用户数量有限,将提供视频h264和aac   为上传编码。

1 个答案:

答案 0 :(得分:4)

malformated aac bitstream, use -absf aac_adtstoasc并不意味着输入流无效。相反,重新编码无效。我们的想法是您使用MPEG-2传输流作为输入,其中的AAC流使用ADTS格式。

如果要重新编码文件并将容器更改为FLV或MP4,例如,您必须使用比特流过滤器aac_adtstoasc来删除ADTS标头:

-bsf:a aac_adtstoasc

要查看输入流,您可以使用ffprobe。例如:

ffprobe -v quiet -print_format json -show_streams [input]

验证文件完整性是另一回事。

如果输入是MPEG-TS,则它本身不能在HTML5中播放。检查上传的格式并重新编码为HTML5支持的格式。