RTMP直播黑屏问题分析与解决

问题发现

一客户直播环境为ffmpeg进行rtsp拉流,而后转换为rtmp推流.最近ffmpeg版本进行更新后发现后端进行rtmp播放时会出现黑屏现象,可是有数据流.若是使用老版本的ffmpeg则没有这个问题.后端

问题分析

刚开始出现这个问题怀疑是关键帧发送问题,由于rtmp一般第一个video tag包含sps和pps等h264解码所需的重要信息,若是不发送解码器则不能解码,就会出现有数据无图像的问题.后来抓包和分析调试信息分析,vidoetag信息正常发送,排除这个问题可能.
后来打印时间戳发现,flash播放视频流时时间戳都为0,若是改成100则能够正常播放,到这里发现是时间戳问题.ide

问题解决

按rtmp协议的规定,Type为3的时候表示这个chunk的Message Header和上一个是彻底相同的.并且ffmpeg发送的应该为相对时间戳,而服务端处理为绝对时间戳,因此致使了这个问题.调试

相关文章
相关标签/搜索