1、问题现象:
1078设备对接时视频花屏、画面不连续,存在卡顿现象。卡顿不连续主要是时间戳原因,花屏是视频数据存在问题。
2、解决方法
2.1 卡顿
- 卡顿多是时间戳不连续或时间戳错误导致,可以抓取GPSMediaSvr----libmdvrnet日志配合分析,具体日志抓取方法参考: 设备通信日志记录功能
https://help.cmsv8.com/helpCenter/doc/index.html?isStudy=1&pageType=1&docId=216&type=1&lang=zh - 视频要连续播放就要求时间戳必须连续,nPackType为1、2的是视频帧,nPackType为3是音频帧,Stamp是时间戳,两个时间戳之间的时间差需要稳定连续。根据设备上设定的帧率,计算出两个帧之间的时间差,与日志里的时间差进行比较,看是否一致,如果1秒是20帧,那两帧之间的时间差=1000毫秒/20=50毫秒=50000微秒。下图是正常视频的时间戳日志。

备注:
- CMediaSessRealPlay[018000360262,0,1]
018000360262 :为设备号
0 :为通道编号,通道编号从0开始
1 :码流类型,0为主码流,1为子码流
2.2 花屏
- 花屏主要原因是码流视频帧数据不对,主要有以下三种类型:
1、渲染脏数据,图像有明显撕裂或错位,如果是多个渲染线程,检查是否有互斥行为;
2、丢帧,视频帧时间戳不对会引起该问题;另外缓冲队列溢出也可能引发,可试试降低帧率;
3、格式转换;
抓取日志时可以同时配置保存RTP包,通过分析RTP包排查出具体问题。

参考文档:https://blog.csdn.net/zhaoyun_zzz/article/details/87302600?tdsourcetag=s_pcqq_aiomsg