ffmepg解码时遇到遇到花屏,需要码率,分辨率,帧率来进行分析,想求教怎么动态实时的获得这三个数据

大家在用ffmepg解码时,我在AVFormatContext读到的br为0,我想动态的把码率显示出来,但是看了那些结构体包括:AVCodecContext,AVFrame,AVStream,AVFormatContext有成员是bitrate,但独处来的始终是0,但是我想实时的知道码率,我想知道是要通过哪个函数进行计算么?我是做iOS开发的,视频播放出现花屏,延时的现象。领导让我把码率,分辨率,帧率显示出来用于调试看网速不好或者不同网络状态下这个三个率来分析。我是赶鸭子上架都不怎么会,您能帮我一下么?不甚感激!

解码网络流出现花屏有可能是因为丢包,如果网络太卡造成发送或接收数据超时也会造成数据不完整的。码率可以自己计算,算出每秒平均接收到的字节数,如果码率单位是KBps,则需要*8/1024。帧率也可以自己动态计算;而分辨率是能在解码的时候从FFmpeg解码器中读出来的。我觉得这些信息都是参考的,验证有没有丢包的方法我建议用如下方法:1.把流保存下来看播放是否正常;2.如果是RTP传输,打印RTP头的信息,主要是RTP SeqNo,看包的序号是否连续。
如果前面方法都无效,可能是组包流程有问题,可以参考这个文章:https://blog.csdn.net/zhoubotong2012/article/details/103002257

http://bbs.csdn.net/topics/390832227