CN103051635A - 流媒体服务器与终端间的通讯方法 - Google Patents
流媒体服务器与终端间的通讯方法 Download PDFInfo
- Publication number
- CN103051635A CN103051635A CN2012105874281A CN201210587428A CN103051635A CN 103051635 A CN103051635 A CN 103051635A CN 2012105874281 A CN2012105874281 A CN 2012105874281A CN 201210587428 A CN201210587428 A CN 201210587428A CN 103051635 A CN103051635 A CN 103051635A
- Authority
- CN
- China
- Prior art keywords
- terminal
- media server
- streaming media
- address
- heartbeat packet
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种安全、可靠的流媒体服务器与终端间的通讯方法,包括以下步骤:a、流媒体服务器在响应了终端的PLAY请求后,设定定时器开始计时;b、终端在收到流媒体服务器的PLAY响应后开始以一定时间间隔周期性向服务器发送心跳包直到会话结束;c、若流媒体服务器收到终端发送的心跳包,定时器重新计时并分析所接收到的心跳包以从心跳包中获取终端相对应的公网IP地址信息与对应的端口号公网IP地址与端口号或终端的NAT设备的公网IP地址与NAT设备的端口号,流媒体服务器根据所述IP地址与对应的端口号向终端发送流数据;若流媒体服务器在定时器计时超过一定预设值后仍没有收到心跳包则关闭会话。
Description
技术领域
本发明涉及通讯技术领域,具体讲是一种流媒体服务器与终端间的通讯方法。
背景技术
视频监控是安全防范系统的重要组成部分,是一种防范能力较强的综合系统。视频监控以其直观、准确、及时和信息内容丰富而广泛应用于许多场合。近年来,随着计算机、网络以及图像处理、传输技术的飞速发展,视频监控技术也有了长足的发展。视频监控系统有以下几项功能要求:安全性要求比较高;服务器平台构架简单方便;无论是PC机还是移动设备都能随时随地的对监控内容进行查看。
所述视频监控系统设计方向之一满足上述三点功能要求的同时,如何使流媒体服务器与终端间的通讯过程做到安全、可靠提出了更高的要求。
发明内容
本发明要解决的技术问题是,提供一种安全、可靠的流媒体服务器与终端间的通讯方法。
本发明的技术方案是,本发明流媒体服务器与终端间的通讯方法,包括以下步骤:
a、流媒体服务器在响应了终端的PLAY请求后,设定定时器开始计时;
b、终端在收到流媒体服务器的PLAY响应后开始以一定时间间隔周期性向服务器发送心跳包直到会话结束;
c、若流媒体服务器收到终端发送的心跳包,定时器重新计时并分析所接收到的心跳包以从心跳包中获取终端相对应的公网IP地址与端口号或终端的NAT设备的公网IP地址与NAT设备的端口号,流媒体服务器根据所述IP地址与对应的端口号向终端发送流数据;若流媒体服务器在定时器计时超过一定预设值后仍没有收到心跳包则关闭会话。
采用上述结构后,本发明与现有技术相比,具有以下优点:本发明流媒体服务器与终端间的通讯方法的特点在于能够对流媒体服务器与终端之间RTSP协议连接建立过程进行了扩展,使得现有普通的实现RTSP的终端不能正确的访问流媒体服务器,必须在实现本发明中的心跳机制才能对流媒体服务器进行正常访问,从而使本发明流媒体服务器与终端间的通讯方法具有安全、可靠的优点;
本发明通过在流媒体服务器端与终端对RTSP连接的建立过程做简单修改,还能够达到下面的三个有益效果:
1)流保活功能,如果终端的网络环境异常,发生断网情况,流媒体服务器能及时发现,并停止对其进行服务,避免服务器资源浪费;
2)任何要访问实现了本发明所述的流媒体服务器系统的终端,必须要实现本发明所述的心跳机制,本发明仅在终端与服务器做出少量修改,就能使流媒体服务器安全性得到很大的提高;
3)访问流媒体服务器的终端既可以处在公网环境中,也可以处在含有NAT设备的内网环境中。
作为改进,所述心跳包是对RTP数据包进行字段扩展构成的,在RTP数据包的扩展字段中填入流媒体服务器所需的验证信息,并由UDP发送,这样,对现有终端与服务器软件仅需做出少量修改,而硬件部分则可直接使用,大大便利了本发明的实施和推广使用。
作为改进,所述预设值为所述时间间隔,这样,预设值和时间间隔相等,有利于流媒体服务器及时做出反应。
附图说明
图1是本发明流媒体服务器与终端间的通讯方法的方框流程图。
图2是本发明流媒体服务器与终端间的通讯方法的终端发送的心跳包结构示意图。
具体实施方式
下面结合附图对本发明作进一步说明。
本发明流媒体服务器与终端间的通讯方法,包括以下步骤:
a、流媒体服务器在响应了终端的PLAY请求后,设定定时器开始计时;
b、终端在收到流媒体服务器的PLAY响应后开始以一定时间间隔周期性向服务器发送心跳包直到会话结束;
c、若流媒体服务器收到终端发送的心跳包,定时器重新计时并分析所接收到的心跳包以从心跳包中获取终端相对应的公网IP地址与端口号或终端的NAT设备的公网IP地址与NAT设备的端口号,流媒体服务器根据所述IP地址与对应的端口号向终端发送流数据;若流媒体服务器在定时器计时超过一定预设值后仍没有收到心跳包则关闭会话。
所述预设值为所述时间间隔,预设值和时间间隔均为人为设定。
如图1所示:
1)终端与流媒体服务器建立连接的过程与普通的RTSP点播流程基本是一致的,即终端与流媒体服务经过OPTIONS、DESCRIBE、SETUP、PLAY等交互后才完成连接的建立。
2)终端视频端口(client_port):端口号分别为59532、59533,其中59532端口用于接收视频流数据;59533用于与流媒体服务器进行RTCP消息交互。由于本例中的流媒体服务器用于视频监控,没有音频流数据,所以终端并没有分配端口用于接收音频数据。
3)流媒体服务器在响应终端的PLAY请求后并没有立即向终端发送视频流数据,而是在设定一个定时器,等待终端的心跳包,如果在定时器规定的时间里收到心跳包流媒体服务器才开始向终端发送视频流数据,如果在规定的时间(所述预设值)里没有收到心跳包,则关闭与终端的连接。
4)流媒体服务器收到终端的心跳包后,则重新设定定时器并对心跳包进行分析,从心跳包中提取终端对应的公网IP地址与端口号或终端的NAT设备的公网IP地址与NAT设备的端口号。流媒体服务器根据所获取的IP地址和端口号向终端发送视频流数据并进行RTCP消息交互。
5)流媒体服务器向终端发送视频流数据后,终端仍以固定的时间间隔向流媒体服务器发送心跳包,如果流媒体服务器在其设定的时间间隔内没有收到终端的心跳包,则认为终端处于离线状态,流媒体服务器会关闭与对应的终端的连接。
所述心跳包是对RTP数据包进行字段扩展构成的,在RTP数据包的扩展字段中填入流媒体服务器所需的验证信息,并由UDP发送。心跳包的结构如图2所示,各字段的说明如下:
V:RTP协议版本号,占2位,当前版本号为2;
P:填充标志,占一位,填0;
X:扩展标志,占一位,填1;
CC:CSRC计数器,占4位,指示CSRC标识的个数,填1;
M:标志位,占一位,填0;
PT:负载类型,0x01RTP,0x02RTCP;
sequence number:包序号,占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。接收者通过序列号来检测报文丢失情况,重新排序报文,恢复数据;
timestamp:占32位,反映了该RTP报文的第一个八位组的采样时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制;
SSRC:同步源标识符,暂时不用;
CSRC:贡献源标识符,暂时不用;
identifier:标识,占32位,固定填0xfafbfcfd;
IPCID:网络摄像头ID号,占16位,高位补0;
length:心跳包有效字段的字节数;
packettype:0表示初始化包,1表示维持包;
reserved:保留字段,占16位;
本发明所述的心跳包是对RTP数据包进行字段扩展实现的,并由UDP发送,将所构造的心跳包加上UDP头部发送出去。
流媒体服务器对终端的PLAY请求响应后,并没有向终端发送视频流数据,而是处于等待状态,当含有初始化标志的心跳包到达后,并经过分析过,验证心跳包正确后,流媒体服务器才将视频流数据发送到终端。终端收到流媒体服务器发送的视频流数据后,将心跳包的packettype字段设置为“维持”,直到连接结束,此时心跳包的作用为在线保活。
流媒体服务器对心跳包的分析过程为:流媒体服务器收到心跳包后首选获取心跳中的identifier字段,如果identifier字段正确,则认为收到的正确的心跳包,然后再检测packettype字段,如packettype标识为“初始化包”,则流媒体服务器从承载心跳包的UDP数据包头部获取源IP地址及端口号,并根据所获取的IP地址与端口号向终端发送视频流数据,如果在规定的时间内没有收到“初始化包”,则关闭连接,如果packettype标识为“维持包”,则流媒体只更新定时器,如果在规定的时间内没有收到“维持包”则流媒体服务器认为终端处于离线状态,关闭连接。
在本例中,流媒体服务器端用于接收心跳包的端口分别为6970、6971,其中6970用于接收终端RTP心跳包,6971用于接收终端RTCP心跳包。终端59532、59533分别用于发送RTP心跳包与RTCP心跳包。
终端收到PLAY请求的响应后,开始用59532端口向流媒体服务器6970端号发送初始化心跳包。流媒体服务器验证心跳包正确后,从承载心跳包的UDP数据包头部获取心跳包的源IP地址及端口号,并以6970端口向获取的IP地址和端口号发送视频流数据。这样做的目的是,如果终端处于公网环境中,则流媒体服务器获得的IP地址为终端的公网地址,获取的端口号为59532,视频流数据可以正常的由终端的59532端口接收;如果终端处于含有NAT设备的内网环境中,则流媒体服务器获取的IP地址为终端的NAT设备的公网地址,端口号为也NAT设备映射后的端口号,根据NAT设备的工作原理,流媒体服务器由6970端口发送的视频流数据也可以正常的由终端59532端口接收。RTCP心跳包过程与上述RTP心跳包过程类似。
如果要访问实现本发明的流媒体服务器的终端也要实现本发明所述的心跳包机制,并且无论终端处于公网环境还是含有NAT设备的内网环境都可以正常对流媒体服务器进行访问,而没有实现本发明的终端则无法对流媒体服务器进行访问。
Claims (3)
1.一种流媒体服务器与终端间的通讯方法,其特征在于,包括以下步骤:
a、流媒体服务器在响应了终端的PLAY请求后,设定定时器开始计时;
b、终端在收到流媒体服务器的PLAY响应后开始以一定时间间隔周期性向服务器发送心跳包直到会话结束;
c、若流媒体服务器收到终端发送的心跳包,定时器重新计时并分析所接收到的心跳包以从心跳包中获取终端相对应的公网IP地址信息与对应的端口号公网IP地址与端口号或终端的NAT设备的公网IP地址与NAT设备的端口号,流媒体服务器根据所述IP地址与对应的端口号向终端发送流数据;若流媒体服务器在定时器计时超过一定预设值后仍没有收到心跳包则关闭会话。
2.根据权利要求1所述的流媒体服务器与终端间的通讯方法,其特征在于,所述心跳包是对RTP数据包进行字段扩展构成的,在RTP数据包的扩展字段中填入流媒体服务器所需的验证信息,并由UDP发送。
3.根据权利要求1所述的流媒体服务器与终端间的通讯方法,其特征在于,所述预设值为所述时间间隔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210587428.1A CN103051635B (zh) | 2012-12-28 | 2012-12-28 | 流媒体服务器与终端间的通讯方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210587428.1A CN103051635B (zh) | 2012-12-28 | 2012-12-28 | 流媒体服务器与终端间的通讯方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103051635A true CN103051635A (zh) | 2013-04-17 |
CN103051635B CN103051635B (zh) | 2017-05-31 |
Family
ID=48064134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210587428.1A Expired - Fee Related CN103051635B (zh) | 2012-12-28 | 2012-12-28 | 流媒体服务器与终端间的通讯方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103051635B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103354667A (zh) * | 2013-06-28 | 2013-10-16 | 贵阳朗玛信息技术股份有限公司 | 通话接续处理方法及装置 |
CN105025063A (zh) * | 2014-04-29 | 2015-11-04 | 刘广威 | 面向大规模终端设备的在线数据传输方法 |
CN105850077A (zh) * | 2014-12-01 | 2016-08-10 | 华为技术有限公司 | 心跳包定时器的识别方法和设备 |
WO2016127316A1 (zh) * | 2015-02-10 | 2016-08-18 | 深圳好视网络科技有限公司 | 家庭云服务系统的数据传输方法、装置及家庭云服务系统 |
CN106412498A (zh) * | 2016-08-31 | 2017-02-15 | 浙江宇视科技有限公司 | 一种监控数据获取方法和云终端 |
WO2017219740A1 (zh) * | 2016-06-24 | 2017-12-28 | 武汉斗鱼网络科技有限公司 | 基于时间轮盘和页面心跳的活跃用户集维护方法及系统 |
CN108243067A (zh) * | 2016-12-23 | 2018-07-03 | 上海辰智商务信息咨询有限公司 | 一种基于wifi探测的用户终端数据采集系统 |
CN105933732B (zh) * | 2016-06-14 | 2019-08-27 | 天脉聚源(北京)传媒科技有限公司 | 一种视频播放时长统计方法及系统 |
CN113301060A (zh) * | 2020-02-21 | 2021-08-24 | 浙江宇视科技有限公司 | 数据传输方法、装置、服务器及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217512A (zh) * | 2008-01-11 | 2008-07-09 | 腾讯科技(深圳)有限公司 | 客户端状态维护方法、系统、客户端及应用服务器 |
CN101350825A (zh) * | 2008-08-22 | 2009-01-21 | 中兴通讯股份有限公司 | 网络地址转换穿越方法和系统、流媒体服务器、机顶盒 |
CN101448006A (zh) * | 2008-12-25 | 2009-06-03 | 中兴通讯股份有限公司 | 一种实现流媒体服务器大量终端接入的方法及系统 |
CN102158740A (zh) * | 2011-03-22 | 2011-08-17 | 北京九华互联科技有限公司 | 一种多媒体播放本地监控的方法 |
CN102185837A (zh) * | 2011-04-20 | 2011-09-14 | 北京鸿天伟业安全技术有限公司 | 智能多媒体信息发布系统 |
CN102378064A (zh) * | 2010-08-04 | 2012-03-14 | 中兴通讯股份有限公司 | 一种iptv网络中实现nat穿越的方法及装置 |
CN102523495A (zh) * | 2011-12-15 | 2012-06-27 | 四川长虹电器股份有限公司 | 一种iptv系统及实现播放防盗链的方法 |
-
2012
- 2012-12-28 CN CN201210587428.1A patent/CN103051635B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217512A (zh) * | 2008-01-11 | 2008-07-09 | 腾讯科技(深圳)有限公司 | 客户端状态维护方法、系统、客户端及应用服务器 |
CN101350825A (zh) * | 2008-08-22 | 2009-01-21 | 中兴通讯股份有限公司 | 网络地址转换穿越方法和系统、流媒体服务器、机顶盒 |
CN101448006A (zh) * | 2008-12-25 | 2009-06-03 | 中兴通讯股份有限公司 | 一种实现流媒体服务器大量终端接入的方法及系统 |
CN102378064A (zh) * | 2010-08-04 | 2012-03-14 | 中兴通讯股份有限公司 | 一种iptv网络中实现nat穿越的方法及装置 |
CN102158740A (zh) * | 2011-03-22 | 2011-08-17 | 北京九华互联科技有限公司 | 一种多媒体播放本地监控的方法 |
CN102185837A (zh) * | 2011-04-20 | 2011-09-14 | 北京鸿天伟业安全技术有限公司 | 智能多媒体信息发布系统 |
CN102523495A (zh) * | 2011-12-15 | 2012-06-27 | 四川长虹电器股份有限公司 | 一种iptv系统及实现播放防盗链的方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103354667B (zh) * | 2013-06-28 | 2017-03-01 | 贵阳朗玛信息技术股份有限公司 | 通话接续处理方法及装置 |
CN103354667A (zh) * | 2013-06-28 | 2013-10-16 | 贵阳朗玛信息技术股份有限公司 | 通话接续处理方法及装置 |
CN105025063A (zh) * | 2014-04-29 | 2015-11-04 | 刘广威 | 面向大规模终端设备的在线数据传输方法 |
CN105850077B (zh) * | 2014-12-01 | 2019-06-28 | 华为技术有限公司 | 心跳包定时器的识别方法和设备 |
CN105850077A (zh) * | 2014-12-01 | 2016-08-10 | 华为技术有限公司 | 心跳包定时器的识别方法和设备 |
US10673726B2 (en) | 2014-12-01 | 2020-06-02 | Huawei Technologies Co., Ltd. | Heartbeat packet timer identification method, and device |
WO2016127316A1 (zh) * | 2015-02-10 | 2016-08-18 | 深圳好视网络科技有限公司 | 家庭云服务系统的数据传输方法、装置及家庭云服务系统 |
CN105933732B (zh) * | 2016-06-14 | 2019-08-27 | 天脉聚源(北京)传媒科技有限公司 | 一种视频播放时长统计方法及系统 |
WO2017219740A1 (zh) * | 2016-06-24 | 2017-12-28 | 武汉斗鱼网络科技有限公司 | 基于时间轮盘和页面心跳的活跃用户集维护方法及系统 |
CN106412498B (zh) * | 2016-08-31 | 2019-12-13 | 浙江宇视科技有限公司 | 一种监控数据获取方法和云终端 |
CN106412498A (zh) * | 2016-08-31 | 2017-02-15 | 浙江宇视科技有限公司 | 一种监控数据获取方法和云终端 |
CN108243067A (zh) * | 2016-12-23 | 2018-07-03 | 上海辰智商务信息咨询有限公司 | 一种基于wifi探测的用户终端数据采集系统 |
CN113301060A (zh) * | 2020-02-21 | 2021-08-24 | 浙江宇视科技有限公司 | 数据传输方法、装置、服务器及存储介质 |
CN113301060B (zh) * | 2020-02-21 | 2023-04-07 | 浙江宇视科技有限公司 | 数据传输方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103051635B (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103051635A (zh) | 流媒体服务器与终端间的通讯方法 | |
US7953118B2 (en) | Synchronizing media streams across multiple devices | |
CN103237191B (zh) | 在视频会议中同步推送音视频的方法 | |
EP2495916A1 (en) | Gateway apparatus, communication system and communication method | |
CN101483764B (zh) | 网络视频监控系统中监控双方媒体流发送方法 | |
CN103780610A (zh) | 基于协议特征的网络数据恢复方法 | |
ATE471037T1 (de) | Ip-unicast-streaming-dienstablieferung | |
US20150172349A1 (en) | Methods and apparatus for media transmission in telecommunications networks | |
CN102088460B (zh) | 受限网络中流媒体数据的传输方法、设备和系统 | |
WO2011153842A1 (zh) | 媒体网关间的报文传输方法、媒体网关和无线通信系统 | |
CN103079053B (zh) | 信息发布系统及其视频监控方法 | |
US20140149570A1 (en) | Provisioning ip terminals | |
CN100495993C (zh) | 检测主机数量的方法、装置与系统及通信方法 | |
WO2008051974A1 (en) | System and method for establishing a peer-to-peer connection | |
EP3051805B1 (en) | Endpoint information interaction processing method, apparatus and telepresence endpoint | |
CN102611918A (zh) | 视频同步播放控制系统及方法 | |
CN102282886B (zh) | 一种实现语音业务的方法、移动终端、装置和系统 | |
NZ599909A (en) | Method for address translator traversal in 3gpp networks | |
CN111131182B (zh) | 一种VoIP通信网络穿透装置及方法 | |
JP2016213784A (ja) | リアルタイム映像通信の品質評価方法およびシステム | |
CN102340506A (zh) | 一种多媒体数据传输系统及其应用方法 | |
CN103139541A (zh) | 远程无线视频监控系统及其方法 | |
CN101662396B (zh) | 一种控制实时传输协议复用的方法和媒体网关 | |
KR102272335B1 (ko) | Udp기반의 멀티캐스트로 컨텐츠를 제공하는 방법, 서버 그리고 사용자 단말 | |
CN103841086B (zh) | 一种数据传输方法、装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170531 Termination date: 20201228 |