FFmpeg 关键帧异常处理

场景一:

关键帧请求是视频会议里面的功能,因为关键帧一般隔一段时间才发送一次,如果客户端随机进入会议,需要接收到关键帧才能正常解码,否则会出现花屏现象;

解决办法是需要发送端支持关键帧请求的处理,有两种通知方法,一个是用RTCP协议,另一个是用NACK,这两个都有标准,另一个用处是视频广播/视频分发时,视频源需要在新加入一个接收者时立即发送一个关键帧,否则视频会花屏。

场景二:

在调用视频快进时调用av_seek_frame后并不能保证会seek到I帧,如果没有seek到I帧会导致后续解码的失败;

解决办法是判断读取出来的pkt是否是I帧,如果不是I帧可以丢弃处理或者其它方法;


 

猜你喜欢

转载自blog.csdn.net/u014162133/article/details/85626595