CN111083521B - 一种rtmp发布主备快速切换方法 - Google Patents
一种rtmp发布主备快速切换方法 Download PDFInfo
- Publication number
- CN111083521B CN111083521B CN201911380156.6A CN201911380156A CN111083521B CN 111083521 B CN111083521 B CN 111083521B CN 201911380156 A CN201911380156 A CN 201911380156A CN 111083521 B CN111083521 B CN 111083521B
- Authority
- CN
- China
- Prior art keywords
- transcoder
- standby
- rtmp
- main
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000003745 diagnosis Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
- H04N21/2335—Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种RTMP发布主备快速切换方法。它具体包括如下步骤:(1)主转码器在向RTMP服务器推流时在发送publish消息时,在streamName增加第一特殊标志,指示该流需要支持主备切换;(2)RTMP服务器检测到该第一特殊标志后,记录该第一特殊标记用于后续处理;(3)主转码器宕机时备转码器监测到心跳超时,把自己升级为主转码器,开始连接RTMP服务器推流;(4)如果RTMP服务器建立连接后,在发送publish消息时增加第二特殊标志,指示该流需要紧急切换;(5)RTMP服务器检测到该第二特殊标记后断开之前的TCP连接,把原来连接的处理逻辑切换到备转码器的连接上,并准备接收数据。本发明的有益效果是:做到无缝切换,不影响下游拉流观看。
Description
技术领域
本发明涉及音视频转码处理相关技术领域,尤其是指一种RTMP发布主备快速切换方法。
背景技术
现场事件性直播(演唱会)、比赛直播(足球赛,篮球赛)中,常会用到RTMP服务器做中转。如果现场转码设备配备主备机,当主机宕机时,切换到备机转码输出,但是由于主机非正常退出,RTMP服务器原有的链接仍未断开,从而导致备机无法连接,影响直播效果。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种能够实现无缝切换的RTMP发布主备快速切换方法。
为了实现上述目的,本发明采用以下技术方案:
一种RTMP发布主备快速切换方法,具体包括如下步骤:
(1)主转码器在向RTMP服务器推流时在发送publish消息时,在streamName增加第一特殊标志,指示该流需要支持主备切换;
(2)RTMP服务器检测到该第一特殊标志后,记录该第一特殊标记用于后续处理;
(3)主转码器宕机时备转码器监测到心跳超时,把自己升级为主转码器,开始连接RTMP服务器推流;
(4)如果RTMP服务器建立连接后,在发送publish消息时增加第二特殊标志,指示该流需要紧急切换;
(5)RTMP服务器检测到该第二特殊标记后断开之前的TCP连接,把原来连接的处理逻辑切换到备转码器的连接上,并准备接收数据。
本方法引入一个主动夺取连接的命令,如果RTMP服务器收到这个连接命令,停止原有的连接,直接使用现有连接,可以做到无缝切换,不影响下游拉流观看。
作为优选,转码器与RTMP服务器推流的方法如下:
(a)转码器向RTMP服务器建立TCP连接,RTMP服务器在端口监听;
(b)连接TCP建立后进行RTMP握手,RTMP握手完成两件事,即校验客户端和服务器端的RTMP协议版本号以及测试网络状况;
(c)RTMP握手完成后,建立RTMP连接,转码器通知RTMP服务器流相关编码信息;
(d)转码器向RTMP服务器发送创建流命令;
(e)转码器向RTMP服务器发送发布流命令。
作为优选,主转码器与备转码器采用双机热备的方式,双机热备指的是:对于重要的服务,使用两台转码器互相备份,共同执行同一服务;当一台转码器出现故障时,由另一台转码器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务,由备用的转码器解决了在主转码器故障时服务不中断的问题。
作为优选,双机热备具体为:基于active/standby方式的转码器热备,在同一时间内只有一台转码器运行,当其中运行着的一台active转码器出现故障无法运行时,另一台备份standby转码器会通过通过心跳诊断将standby转码器激活,保证应用在短时间内完全恢复正常使用。
作为优选,所述的心跳诊断指的是:备转码器通过网络监听主转码器,备转码器与主转码器之间的监听采取请求与应答的方式,备转码器以预先设定的时间间隔向主转码器发出请求,主转码器应答表示工作正常,主转码器如果没有作出应答并超过设定的应答时限,备转码器将切断与主转码器的网络数据传输,转入活动状态,并产生报警和事件信息;之后备转码器还会定时监听主转码器状态,一旦主转码器恢复,就切换到热备状态。
本发明的有益效果是:引入一个主动夺取连接的命令,如果RTMP服务器收到这个连接命令,停止原有的连接,直接使用现有连接,可以做到无缝切换,不影响下游拉流观看。
附图说明
图1是本发明的方法框图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所述的实施例中,一种RTMP发布主备快速切换方法,具体包括如下步骤:
(1)主转码器在向RTMP服务器推流时在发送publish消息时,在streamName增加特殊标志,指示该流需要支持主备切换;
(2)RTMP服务器检测到该特殊标志后,记录该特殊标记用于后续处理;
(3)主转码器宕机时备转码器监测到心跳超时,把自己升级为主转码器,开始连接RTMP服务器推流;
(4)如果RTMP服务器建立连接后,在发送publish消息时同样增加特殊标志,指示该流需要紧急切换;
(5)RTMP服务器检测到该特殊标记后断开之前的TCP连接,把原来连接的处理逻辑(如buffer等)切换到备转码器的连接上,并准备接收数据。
其中:转码器与RTMP服务器推流的方法如下:
(a)转码器向RTMP服务器建立TCP连接,RTMP服务器在端口监听;
(b)连接TCP建立后进行RTMP握手,RTMP握手完成两件事,即校验客户端和服务器端的RTMP协议版本号以及测试网络状况;
(c)RTMP握手完成后,建立RTMP连接,转码器通知RTMP服务器流相关编码信息;
(d)转码器向RTMP服务器发送创建流命令;
(e)转码器向RTMP服务器发送发布流命令。
主转码器与备转码器采用双机热备的方式,双机热备指的是:对于重要的服务,使用两台转码器互相备份,共同执行同一服务;当一台转码器出现故障时,由另一台转码器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务,由备用的转码器解决了在主转码器故障时服务不中断的问题。
双机热备具体为:基于active/standby方式的转码器热备,在同一时间内只有一台转码器运行,当其中运行着的一台active转码器出现故障无法运行时,另一台备份standby转码器会通过通过心跳诊断将standby转码器激活,保证应用在短时间内完全恢复正常使用。
心跳诊断指的是:备转码器通过网络监听主转码器,备转码器与主转码器之间的监听采取请求与应答的方式,备转码器以预先设定的时间间隔向主转码器发出请求,主转码器应答表示工作正常,主转码器如果没有作出应答并超过设定的应答时限,备转码器将切断与主转码器的网络数据传输,转入活动状态,并产生报警和事件信息;之后备转码器还会定时监听主转码器状态,一旦主转码器恢复,就切换到热备状态。
本方法引入一个主动夺取连接的命令,如果RTMP服务器收到这个连接命令,停止原有的连接,直接使用现有连接,可以做到无缝切换,不影响下游拉流观看。此方法可以实现RTMP推流快速切换,切换时长控制在1秒以内。后端几乎无感。
Claims (5)
1.一种RTMP发布主备快速切换方法,其特征是,具体包括如下步骤:
(1)主转码器在向RTMP服务器推流时在发送publish消息时,在streamName增加第一特殊标志,指示该流需要支持主备切换;
(2)RTMP服务器检测到第一特殊标志后,记录第一特殊标记用于后续处理;
(3)主转码器宕机时备转码器监测到心跳超时,把自己升级为主转码器,开始连接RTMP服务器推流;
(4)如果RTMP服务器建立连接后,在发送publish消息时增加第二特殊标志,指示该流需要紧急切换;
(5)RTMP服务器检测到第二特殊标记后断开之前的TCP连接,把原来连接的处理逻辑切换到备转码器的连接上,并准备接收数据。
2.根据权利要求1所述的一种RTMP发布主备快速切换方法,其特征是,转码器与RTMP服务器推流的方法如下:
(a)转码器向RTMP服务器建立TCP连接,RTMP服务器在端口监听;
(b)连接TCP建立后进行RTMP 握手,RTMP握手完成两件事,即校验客户端和服务器端的RTMP协议版本号以及测试网络状况;
(c)RTMP握手完成后,建立RTMP连接,转码器通知RTMP服务器流相关编码信息;
(d)转码器向RTMP服务器发送创建流命令;
(e)转码器向RTMP服务器发送发布流命令。
3.根据权利要求1或2所述的一种RTMP发布主备快速切换方法,其特征是,主转码器与备转码器采用双机热备的方式,双机热备指的是:对于重要的服务,使用两台转码器互相备份,共同执行同一服务;当一台转码器出现故障时,由另一台转码器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务,由备用的转码器解决了在主转码器故障时服务不中断的问题。
4.根据权利要求3所述的一种RTMP发布主备快速切换方法,其特征是,双机热备具体为:基于active/standby方式的转码器热备,在同一时间内只有一台转码器运行,当其中运行着的一台active转码器出现故障无法运行时,另一台备份standby转码器会通过心跳诊断将standby转码器激活,保证应用在短时间内完全恢复正常使用。
5.根据权利要求4所述的一种RTMP发布主备快速切换方法,其特征是,所述的心跳诊断指的是:备转码器通过网络监听主转码器,备转码器与主转码器之间的监听采取请求与应答的方式,备转码器以预先设定的时间间隔向主转码器发出请求,主转码器应答表示工作正常,主转码器如果没有作出应答并超过设定的应答时限,备转码器将切断与主转码器的网络数据传输,转入活动状态,并产生报警和事件信息;之后备转码器还会定时监听主转码器状态,一旦主转码器恢复,就切换到热备状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911380156.6A CN111083521B (zh) | 2019-12-27 | 2019-12-27 | 一种rtmp发布主备快速切换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911380156.6A CN111083521B (zh) | 2019-12-27 | 2019-12-27 | 一种rtmp发布主备快速切换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111083521A CN111083521A (zh) | 2020-04-28 |
CN111083521B true CN111083521B (zh) | 2022-02-01 |
Family
ID=70318844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911380156.6A Active CN111083521B (zh) | 2019-12-27 | 2019-12-27 | 一种rtmp发布主备快速切换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111083521B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333447A (zh) * | 2020-11-02 | 2021-02-05 | 上海网达软件股份有限公司 | 音视频转码方法、装置、设备及存储介质 |
CN112565210A (zh) * | 2020-11-24 | 2021-03-26 | 创盛视联数码科技(北京)有限公司 | Cdn节点推荐方法、系统、电子设备及存储介质 |
CN114979692B (zh) * | 2022-05-23 | 2023-09-15 | 广州欢城文化传媒有限公司 | 音视频拉流模式的切换方法、装置、系统和存储介质 |
CN115426503B (zh) * | 2022-08-30 | 2024-05-17 | 百果园技术(新加坡)有限公司 | 一种转码服务切换方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868560A (zh) * | 2012-09-28 | 2013-01-09 | 南京恩瑞特实业有限公司 | 一种服务器热备实现系统及方法 |
CN103138983A (zh) * | 2011-12-01 | 2013-06-05 | 苏州达联信息科技有限公司 | 一种视频分发网络全局服务器的主备切换方法及装置 |
CN107835192A (zh) * | 2017-11-29 | 2018-03-23 | 上海网达软件股份有限公司 | 一种检测实时转码系统中hls直播流是否正常的方法及系统 |
CN109561320A (zh) * | 2019-01-09 | 2019-04-02 | 广州视源电子科技股份有限公司 | 一种服务器切换方法、装置、设备及介质 |
CN110213598A (zh) * | 2018-05-31 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种视频转码系统、方法及相关产品 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247213A (zh) * | 2007-02-16 | 2008-08-20 | 华为技术有限公司 | 一种主备倒换的方法及系统 |
CN101119187B (zh) * | 2007-09-06 | 2010-05-19 | 上海可鲁系统软件有限公司 | 一种主从设备切换控制方法 |
CN101631011B (zh) * | 2008-07-16 | 2012-09-05 | 中国科学院声学研究所 | 适于进行ip流媒体实时处理及转发设备的热备方法及系统 |
CN102546250B (zh) * | 2011-12-31 | 2014-06-18 | 山东中创软件商用中间件股份有限公司 | 一种基于主备机制的文件发布方法及系统 |
CN103685166A (zh) * | 2012-09-06 | 2014-03-26 | 中兴通讯股份有限公司 | 起始会话协议终端切换主备服务器的方法及装置 |
CN103441870A (zh) * | 2013-08-20 | 2013-12-11 | 苏州迈科网络安全技术股份有限公司 | 一种智能实时无缝切换的双机备份方法 |
CN104902289B (zh) * | 2015-06-29 | 2017-10-27 | 秦永红 | 一种rtmp流媒体直播系统热备份的设计方法及其系统 |
CN106656593B (zh) * | 2016-12-19 | 2020-04-14 | 北京华清伟业技术有限公司 | 流媒体直播录制冗余热备的方法及系统 |
CN107426756B (zh) * | 2017-08-23 | 2021-04-27 | 京信通信系统(中国)有限公司 | 热备份通信系统及其通信接口控制模块 |
CN109428864B (zh) * | 2017-08-30 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 提高nginx-rtmp拉流服务质量的方法及装置 |
CN108495136B (zh) * | 2018-03-09 | 2019-12-31 | 网宿科技股份有限公司 | 一种提供直播服务的方法和系统 |
CN109618174B (zh) * | 2018-12-11 | 2021-12-03 | 深圳市网心科技有限公司 | 一种直播数据传输方法、装置、系统以及存储介质 |
-
2019
- 2019-12-27 CN CN201911380156.6A patent/CN111083521B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103138983A (zh) * | 2011-12-01 | 2013-06-05 | 苏州达联信息科技有限公司 | 一种视频分发网络全局服务器的主备切换方法及装置 |
CN102868560A (zh) * | 2012-09-28 | 2013-01-09 | 南京恩瑞特实业有限公司 | 一种服务器热备实现系统及方法 |
CN107835192A (zh) * | 2017-11-29 | 2018-03-23 | 上海网达软件股份有限公司 | 一种检测实时转码系统中hls直播流是否正常的方法及系统 |
CN110213598A (zh) * | 2018-05-31 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种视频转码系统、方法及相关产品 |
CN109561320A (zh) * | 2019-01-09 | 2019-04-02 | 广州视源电子科技股份有限公司 | 一种服务器切换方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
网络直播数字三维虚拟演播室系统改造方案;孙墀;《广州大学学报(自然科学版)》;20120415;65-69 * |
Also Published As
Publication number | Publication date |
---|---|
CN111083521A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111083521B (zh) | 一种rtmp发布主备快速切换方法 | |
CN103237191B (zh) | 在视频会议中同步推送音视频的方法 | |
CN104902289A (zh) | 一种rtmp流媒体直播系统热备份的设计方法及其系统 | |
US20220209878A1 (en) | Method, system and device for pushing information, and storage medium thereof | |
CN110933470B (zh) | 一种视频数据的共享方法 | |
CN107124598B (zh) | 一种交通信息播放控制方法和播放控制器 | |
CN105872568A (zh) | 基于云直播平台传输视频数据的方法和装置 | |
CN108616914A (zh) | 一种断线重连的方法及装置 | |
CN100536566C (zh) | 一种保障视频监控录像连续性的方法 | |
JP6394591B2 (ja) | 制御装置、制御方法、コンピュータプログラム及び映像伝送システム | |
CN102984239B (zh) | 一种自动分发体育场馆比赛信息的系统和方法 | |
CN102611717A (zh) | 一种业务数据发送方法、系统、客户端代理及服务器代理 | |
CN112911325B (zh) | 一种跨直播间连线的恢复方法和装置 | |
CN101631204B (zh) | 一种广播控制系统中的跟播方法及装置 | |
WO2021077736A1 (zh) | 一种实现cmaf低延时直播高可用和高并发的方法 | |
CN118214602A (zh) | 一种基于tcp协议的多线程数据包转发系统 | |
CN105704422B (zh) | 一种视频会议组网系统及其方法 | |
CN109963170A (zh) | 具有备援机制的串流系统及其备援方法 | |
CN114143569B (zh) | 一种网页录制和直播方法及系统 | |
CN102387138B (zh) | 一种基于屏幕保护的数据传输方法和设备 | |
JP4917497B2 (ja) | 映像配信装置,配信映像切替え方法,配信映像切替えプログラムおよび配信映像切替えプログラム記録媒体 | |
CN100388781C (zh) | 会议延时方法 | |
CN108667795B (zh) | 一种虚拟现实视频的多人分享系统及虚拟现实设备 | |
CN102497283B (zh) | 一种基于epcn网络的数据传输方法、系统和设备 | |
JP2003244228A (ja) | ストリーム配信装置,方法及びプログラム、並びにストリーム配信プログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |