rtsp h265 转 rtmp (rtsp hevc 转 rtmp)

       rtsp h265 转 rtmp,首先要对rtmp协议做扩展,目前国内已有相应扩展标准,国内开发者基本上都按这个扩展协议做的。协议层问题已解决。剩下关键问题是要实现rtmp h265推送模块, 支持rtmp h265 的server, rtmp h265播放模块。 

      rtmp h265 server 支持,  目前常用的nginx-rtmp 和 srs还不支持rtmp 265. 需要做些修改。 对于srs,和多个srs使用者交流后,有些人已经做过一个简单的支持,关键点就是增加h265类型的支持。 对于nginx rtmp,由于nginx rtmp 模块代码较少,支持265 很方便,也是增加265类型,解析HEVCDecoderConfigurationRecord,对相应模块做处理即可。

      rtmp h265 播放支持, 首先要从rtmp中解析出265,需要解析出h265 nal unit 和 HEVCDecoderConfigurationRecord. 265比264多个vps, 需要解析。另外就是 nal type 针对265需要处理。解析出nal units之后。下一个关键点就是解码,目前安卓部分手机已经支持h265硬解,或者用软解也可以。

      rtmp h265 推送支持,如果已经有了 h265 nal unit, 用 vps, sps, pps 构造出HEVCDecoderConfigurationRecord, 按扩展协议打包rtmp包即可。

     对于rtsp转发h265的话,还需要从rtsp 中拿到h265 nal unit, 这块我前面的文章已经介绍过,有兴趣的可以参考下

     上面是对方案的讨论,接下来我们看看实际转发效果。

     1. 首选下载265转发工具和rtmp h265播放器, 可以从git下载 windows版本(后续有其他版本).

     2. 打开转发工具并配置.

    

  

    3. 查看转发效果,请打开SmartPlayer.exe, 输入地址播放就好.

     从上图可以看出1080p的转发时延非常低,接近直接播放rtsp时延。另外测试工具自带的推送地址已经支持h265, 无需自己改服务器,测试很方便。

    更多问题欢迎交流:  github   qq群: 294891451   499687479 

猜你喜欢

转载自blog.csdn.net/lsheevyfg/article/details/83105291