如何支持RTSP播放H.265(HEVC)流

  • 时间:
  • 浏览:0
  • 来源:uu直播快3平台_UU快3直播官方

废话没人 来越多说,先上图(以播放海康H.265 RTSP摄像头数据(分辨率:1920*10400)为例):

PayloadHdr 把 NAL单元头填入就好.

实现思路:

F: 1 bit. forbidden_zero_bit. 265要求是0,是1语句指示语法违规等.

3.1 单个Nal单元打包:

[demo测试多多程序运行 ] Windows推送、播放、合成、导播、连麦Demo(32位)本地下载

h265没人 来越多和h264例如之处,都在sps和pps,用00 00 00 01进行nal 单元分隔. 可能性想测试h265 rtsp播放效果,必须从github下载播放器 测试h265播放效果。 更多问题报告 欢迎加入大牛直播技术QQ交流群: 294891451 可能性 499687479 。

2.2 SDP 举例:

m=video 0 RTP/AVP 96

a=rtpmap:96 H265/90000

a=fmtp:96 profile-space=0;profile-id=0;tier-flag=0;level-id=0;interop-constraints=000000000000;sprop-vps=QAEMAf//AIAAAAMAAAMAAAMAAAMAALUCQA==;sprop-sps=QgEBAIAAAAMAAAMAAAMAAAMAAKACgIAtH+W1kkbQzkkktySqSfKSyA==;sprop-pps=RAHBpVgeSA==

注意编码名称必须是:H265, Clock reate必须是90000.

实际中其实 就用到这名格式,这名是一俩个 nal单元打包到一俩个 rtp包中。这名是nal单元比较大,分片打包在多个rtp中.

TID: 3 bits. nuh_temporal_id_plus1. TemporalId 是TID-1.

PayloadHdr还是拷贝NAL单元头,但是 要把Type再加49. FU header 就一俩个 字节,格式如下:

S:为1表示第一俩个 分片。 E:为1表示表示最后一俩个 分片。FuType没人 来越多我实际的Nal type类型。

对rtsp来说,要播放h265但是 正确解析sdp和rtp包即可. 下面对哪几种相关内容做你这名介绍.

H264的Nal Unit头是一俩个 字节,265变成一俩个 字节:

LayerId: 6 bits. nuh_layer_id. 现在是0,将来可能性扩展用.

Type: 6 bits. Nal类型. vps是32, sps是33, pps是34, 前缀sei是39. IDR是19和20.

随着H.265的普及,没人 来越多的开发者希望大牛直播SDK能支持低延迟的RTSP H.265播放,并分享相关经验:

相关资料分享:

RTP Payload Format for HEVC:http://pike.lysator.liu.se/docs/ietf/rfc/77/rfc7798.xml

Github:https://github.com/daniulive/SmarterStreaming

+-+-+-+-+-+-+-+-+

3.2 Nal单元分片打包:

2.1 IETF 分配给h265的媒体子类型如下:

Type name: video

Subtype name: H265

可选参数: 

profile-space, tier-flag, profile-id, profile-compatibility-indicator, interop-constraints,level-id,

sprop-sub-layer-id, recv-sub-layer-id, max-recv-level-id, tx-mode, sprop-vps, sprop-sps, sprop-pps等等, 具体请参考相关

文档,建议解析sprop-vps, sprop-sps, sprop-pps.

测试APP下载(SmartPlayer.exe):