调用avcodec_decode_video2(pCodecCtx,pFrame,& got_picture,& packet)时;从PMP文件解码H264视频。
我经常收到以下警告:
FF: SEI type 1 size 40 truncated at 36
FF: error while decoding MB 23 15, bytestream (td)
FF: Cannot use next picture in error concealment
...
FF: No accelerated colorspace conversion found from yuv420p to rgb24.
....
虽然,got_picture仍然返回1,但视频质量很差,经常模糊和闪烁。 问题是什么?我该怎么办?谢谢!
答案 0 :(得分:0)
您要解码的内容来自较旧的ffmpeg / libav构建,以及较旧的libx264版本,生成无效的SEI有效负载。您看到的是相同内容的截断,被视为警告。
要解决此问题,您需要在启用以下位流过滤器的情况下重新编码(而非流复制):
-bsf:v 'h264_metadata=sei_user_data=dc45e9bde6d948b7962cd820d923eeef+x264 - core 150'
然后重新测试。
要进行错误更正,请使用-ec 0
。
如果您正在使用mpv播放此文件,则还需要传递--vd-lavc-assume-old-x264
选项。
参考:邮件列表上的This修补程序详细描述了该问题。