如何推送和播放RTMP H265流 (RTMP HEVC)

Posted daniulivesdk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何推送和播放RTMP H265流 (RTMP HEVC)相关的知识,希望对你有一定的参考价值。

rtmp 播放h265 首先要扩展flv协议,国内常用扩展方式是给flv的videotag.codecid增加一个新类型(12)来表示h265(hevc),其他和h264规则差不多,另外和h264不同的地方是要解析HEVCDecoderConfigurationRecord,从HEVCDecoderConfigurationRecord中解析出vps, sps, pps. 有了vps, sps, pps, 就可以解码。

接下来实际看看效果,从github下载rtmp h265推送工具和rtmp h265播放工具(播放目前支持windows, android, ios).

技术图片技术图片?

 

1. 先打开推送工具SmartPublisherDemo.exe(64位exe):
技术图片技术图片?

按上图配置好推送参数,然后点击推送

技术图片技术图片?

点击推送后,自动生成播放地址,拷贝播放地址,然后打开SmartPlayer.exe, 输入播放地址点击播放即可:

技术图片技术图片?

小结:

从上图可以看出640*480 25帧摄像头视频,使用h265(hevc)可变码率编码,画面静止时码率非常低,可以低至88kbps, 国内多数家庭带宽上行都在512k-4M之间,h264很难把码率压缩到512kbps一下,h265相对低很多,可见h265还是很有优势的。另外上面的rtmp h265播放器也支持边播边录像(支持h265/hevc 录像). 

以上是关于如何推送和播放RTMP H265流 (RTMP HEVC)的主要内容,如果未能解决你的问题,请参考以下文章

videojs集成--播放rtmp流

RTMP推流方案总结

如何使用videojs播放rtmp直播流?

Unity下如何实现RTMP或RTSP流播放和录制

视频流媒体推流平台RTMP协议是如何进行网络连接并推送视频流的?

Android:如何将 rtmp 流地址发送到外部视频播放器(例如 MX 播放器)