一种RTMP快速发布和订阅方法技术

技术编号:26894978 阅读:19 留言:0更新日期:2020-12-29 16:19
本发明专利技术涉及音视频回源技术领域,具体地说,涉及一种RTMP快速发布和订阅方法,包括:一、TCP传输层握手和RTMP应用层握手:应用层握手由客户端发送固定的一个字节给服务端,来标记双方握手成功;二、业务建连:客户端发送类型为18的tag数据给服务端,tag数据内部含有标记业务类型的字段;三、数据传输;四、关断:双方通过发送类型为66的tag数据来完成通知或反馈。本发明专利技术能够大大简化了节点间建连、发布/订阅流程,且数据包封包/解包简单,保证了数据传输过程的可靠性。

【技术实现步骤摘要】
一种RTMP快速发布和订阅方法
本专利技术涉及音视频回源
,具体地说,涉及一种RTMP快速发布和订阅方法。
技术介绍
音视频直播内容分发系统涉及到常见的系统回源,多节点间分发媒体数据,业界CDN厂商基本上采用RTMP或者基于TCP/UDP等自家开发的私有协议来完成。其他私有协议暂不在本专利讨论范围。采用标准RTMP协议,会存在建连的复杂性,完成一次音视频流的发布或订阅业务需经历多个阶段,如TCP握手、RTMP复杂握手/简单握手、RTMP建连、RTMP流通道准备、RTMP发布/订阅等。且在音视频传输阶段,会涉及到较复杂的消息块(chunk)拆包/组包等操作。这样可能会引入节点间回源复杂低效、延迟较高等缺陷,在回源中转节点为多个时,劣势会更加明显。
技术实现思路
本专利技术的内容是提供一种RTMP快速发布和订阅方法,其能够克服现有技术的某种或某些缺陷。根据本专利技术的一种RTMP快速发布方法,其包括以下步骤:一、TCP传输层握手和RTMP应用层握手:应用层握手由客户端发送固定的一个字节给服务端,来标记双方握手成功;本文档来自技高网...

【技术保护点】
1.一种RTMP快速发布方法,其特征在于:包括以下步骤:/n一、TCP传输层握手和RTMP应用层握手:应用层握手由客户端发送固定的一个字节给服务端,来标记双方握手成功;/n二、业务建连:客户端发送类型为18的tag数据给服务端,tag数据内部含有标记业务类型的字段,标记业务类型的字段为url=rtmp://127.0.0.1/live/test?xxx publish=1;/n三、数据传输:客户端主动发送媒体数据到服务端,媒体数据的tag类型为8、9和18;/n四、关断:双方通过发送类型为66的tag数据来完成通知或反馈,类型为66的tag数据为{“closeReason”:“RootDisc...

【技术特征摘要】
1.一种RTMP快速发布方法,其特征在于:包括以下步骤:
一、TCP传输层握手和RTMP应用层握手:应用层握手由客户端发送固定的一个字节给服务端,来标记双方握手成功;
二、业务建连:客户端发送类型为18的tag数据给服务端,tag数据内部含有标记业务类型的字段,标记业务类型的字段为url=rtmp://127.0.0.1/live/test?xxxpublish=1;
三、数据传输:客户端主动发送媒体数据到服务端,媒体数据的tag类型为8、9和18;
四、关断:双方通过发送类型为66的tag数据来完成通知或反馈,类型为66的tag数据为{“closeReason”:“RootDisconnected”,“closeBecauseIdle”:null}。


2.根据权利要求1中所述的一种RTMP快速发布方法,其特征在于:tag的格式为:Tagheader+Tagbody+Pretagsize,Tagheader占11字节,Pretagsize占4字节,Tagheader的格式为:Tagtype+Datalen+Pts+Streamid,Tagtype占1字节,Datalen占3字节,Pts占4字节,Streamid占3字节。


3.根据权利要求1中所述的一种RTMP快速发布方法,其特征在于:步骤四中,服务端无数据下发时,或者因网络等其他原因主动或被动断连时,执行步骤四。


4.根据权利要求1中所述的一种RTMP快速发布方法,其特征在于:类型为8的tag为音频数据,具体格式为:08(000007)(00001000)(000000)+具体内容,streamid为3个0。


5.根据权利要求1中所述的一种RTMP快速发布方法,其特征在于:类型为9的tag为视频数据,具体格式为:09(000034)(00000000)(000000)+具体内容,streamid为3个0...

【专利技术属性】
技术研发人员:刘岩谢然吴文治徐强
申请(专利权)人:上海七牛信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1