场景:客户报障说是视频音视频不同步,怀疑cdn有问题;
排查思路:我先hosts绑定源站,ffplay播放,刚开始没有问题,2min之后确实出现了音视频不同步的问题,其实这时候就可以告诉客户源站的视频有问题,但是我没有这么干,我将有问题的ts片拿出来,通过ffprobe命令收集了它的pts信息,发现有时间戳回退的问题,这就实锤了源站的问题,然后就很霸气的将问题反馈给了客户;
用ffplay获取到有问题的ts片信息
用ffprobe查看有问题的ts片的pts信息
从这些信息可以看出源站的pts_time有时间戳回退的问题;进一步实锤了源站视频存在问题;
小科普:
key_frame:是否是关键帧
pkt_pts:帧的pts数值
pkt_pts_time:通过time_base计算出来的显示时间
pkt_dts:帧的dts数值
pkt_dts_time:通过time_base计算出来的dts时间
pict_type:帧类型(I、B、P)