IP网络摄像头通过RTMP协议推流至视频平台EasyDSS分发的流无法播放的原因解析

TSINGEE青犀视频新上线的RTMP推流摄像头由海康威视和TSINGSEE合作研发,在具备海康设备品质的同时,也承载了TSINGSEE在互联网视频领域的多年技术积累,且支持H265编码,在市场需求度较高。

RTMP推流摄像头可以直接推流至EasyDSS等类型的推流分发平台(RTMP推流摄像头如何接入EasyDSS视频平台),也可以直接推送至阿里云、腾讯云等平台(海康RTMP推流摄像头推流到阿里云配置手册)。

有客户使用RTMP推流摄像头按步骤推流到EasyDSS后,发现EasyDSS分发的流无法播放。本文和大家分享一下这个问题,供大家参考解决类似的问题。

问题分析

我们了解到该客户的摄像头推流设置如下:

先是尝试使用ffplay 进行播放,结果播放失败。

随后通过打印log提示,存在sps解析失败,提示内容为:Invalid NAL unit size (0 > 52). 存在SPS解析问题。

通过wireshark抓包可以看到,在播放的时候,起始Video数据只有PPS,确少SPS,才导致了播放失败。

解决问题

为了修复此问题,我们决定在EasyDSS端的rtmp模块上进行兼容。在解码的时候增加以下代码:

重新编译生成EasyDSS后,摄像头进行RTMP推流,EasyDSS播放成功。

通过wireshark抓包看,也携带了SPS以及PPS。

如果大家有RTMP推流摄像头的需求,欢迎联系我们。EasyDSS作为推流平台,能够接收RTMP视频流,并且能够输出RTMP、HLS、FLV三种格式的视频流,同时有试用版本共大家测试使用,欢迎了解咨询!

原文地址:https://www.cnblogs.com/easydss/p/13886195.html