大家在用ffmepg解码时,我在AVFormatContext读到的br为0,我想动态的把码率显示出来,但是看了那些结构体包括:AVCodecContext,AVFrame,AVStream,AVFormatContext有成员是bitrate,但独处来的始终是0,但是我想实时的知道码率,我想知道是要通过哪个函数进行计算么?我是做iOS开发的,视频播放出现花屏,延时的现象。领导让我把码率,分辨率,帧率显示出来用于调试看网速不好或者不同网络状态下这个三个率来分析。我是赶鸭子上架都不怎么会,您能帮我一下么?不甚感激!
2条回答 默认 最新
- zhoubotong2012 2019-11-26 13:05关注
解码网络流出现花屏有可能是因为丢包,如果网络太卡造成发送或接收数据超时也会造成数据不完整的。码率可以自己计算,算出每秒平均接收到的字节数,如果码率单位是KBps,则需要*8/1024。帧率也可以自己动态计算;而分辨率是能在解码的时候从FFmpeg解码器中读出来的。我觉得这些信息都是参考的,验证有没有丢包的方法我建议用如下方法:1.把流保存下来看播放是否正常;2.如果是RTP传输,打印RTP头的信息,主要是RTP SeqNo,看包的序号是否连续。
如果前面方法都无效,可能是组包流程有问题,可以参考这个文章:https://blog.csdn.net/zhoubotong2012/article/details/103002257解决 1无用
悬赏问题
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?
- ¥100 求三轴之间相互配合画圆以及直线的算法
- ¥100 c语言,请帮蒟蒻写一个题的范例作参考
- ¥15 名为“Product”的列已属于此 DataTable
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 自己瞎改改,结果现在又运行不了了