如何实现rtsp h265 转 rtmp (rtsp hevc 转 rtmp)并转发到CDN或自建服务器
??????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,對相應模塊做處理即可,大牛直播SDK有提供擴展rtmp H.265服務器,需要測試的開發者,可以加入我們交流群討論。
??????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, 這塊有文章介紹過,有興趣的可以參考下,https://blog.csdn.net/lsheevyfg/article/details/81206782。
?????上面是對方案的討論,接下來我們看看實際轉發效果。
?????1. 首選下載265轉發工具和rtmp h265播放器, 可以從Github下載?windows版本(后續有其他版本).
?
?????2. 打開轉發工具并配置.
????3. 查看轉發效果,請打開SmartPlayer.exe, 輸入地址播放就好.
?????從上圖可以看出1080p的轉發時延非常低,接近直接播放rtsp時延。另外測試工具自帶的推送地址已經支持h265, 無需自己改服務器,測試很方便。
?
總結
以上是生活随笔為你收集整理的如何实现rtsp h265 转 rtmp (rtsp hevc 转 rtmp)并转发到CDN或自建服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习】业界干货 | 图解自监督学习
- 下一篇: 用21张图,把Git 工作原理彻底说清楚