如何实现rtsp h265 转 rtmp (rtsp hevc 转 rtmp)并转发到CDN或自建服务器

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: rtsp h265 转 rtmp,首先要对rtmp协议做扩展,目前国内已有相应扩展标准,国内开发者基本上都按这个扩展协议做的。协议层问题已解决。剩下关键问题是要实现rtmp h265推送模块, 支持rtmp h265 的server, rtmp h265播放模块。

     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版本(后续有其他版本).

20181017111709812.png

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

20181017111811111.png

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

20181017104130620.png

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

20181017104221930.png

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
3月前
|
缓存 应用服务中间件 nginx
Web服务器的缓存机制与内容分发网络(CDN)
【8月更文第28天】随着互联网应用的发展,用户对网站响应速度的要求越来越高。为了提升用户体验,Web服务器通常会采用多种技术手段来优化页面加载速度,其中最重要的两种技术就是缓存机制和内容分发网络(CDN)。本文将深入探讨这两种技术的工作原理及其实现方法,并通过具体的代码示例加以说明。
337 1
|
5月前
|
网络协议 Shell Windows
搭建rtmp流媒体服务器的步骤
网络上很多问文章介绍使用ffmpeg推送和拉流,经常遗漏安装rtsp-simple-server的步骤,执行推流命令:
262 0
|
4月前
|
编解码 监控 网络协议
采用Qt+Live555搭建RTSP服务器
Live555是一个跨平台的流媒体开发库,支持多种流媒体协议,包括RTSP、SIP、RTP等,可以帮助我们快速实现视频流的传输和处理。
335 1
采用Qt+Live555搭建RTSP服务器
|
6月前
|
域名解析 缓存 安全
cdn服务器连接异常怎么办
当遇到CDN服务器连接异常时,可采取以下步骤排查:检查CDN配置,包括域名解析和防火墙设置;清空CDN缓存;测试网络连接;确认源服务器状态;更换CDN服务器;等待恢复;联系服务商;检查本地电脑安全;检查程序代码;保持更新和维护。具体解决步骤需根据实际情况调整。
557 0
|
6月前
|
存储 搜索推荐 Linux
CDN服务器真实地址
Discover CDN server real IP addresses using Traceroute & Whois, CDN provider logs (with provider cooperation), analyzing HTTP headers, online tools, or the ping command. Note that CDN
128 0
|
6月前
|
弹性计算 缓存 安全
【阿里云弹性计算】阿里云ECS与CDN结合:构建高性能全球内容分发网络
【5月更文挑战第26天】阿里云ECS与CDN结合打造高性能全球内容分发网络,通过ECS的弹性伸缩和安全可靠性,配合CDN的全球覆盖、高可用性及安全防护,提升访问速度,减轻服务器压力,优化数据传输。以WordPress为例,通过配置CDN域名和ECS,实现高效内容分发,提高系统扩展性和稳定性。此解决方案满足用户对访问速度和稳定性的高要求,为企业提供优质的云计算体验。
175 0
|
30天前
|
云安全 网络安全 CDN
阿里云CDN遇到攻击?别慌,教你如何应对!
阿里云CDN遇到攻击?别慌,教你如何应对!
|
30天前
|
缓存 监控 安全
阿里云CDN设置阀值的指南
阿里云CDN设置阀值的指南
|
1月前
|
缓存 前端开发 JavaScript
阿里云CDN:怎么让网站变快
阿里云CDN:怎么让网站变快
|
1月前
|
JSON API 数据格式
阿里云国际版CDN查询实时带宽步骤
阿里云国际版CDN查询实时带宽步骤