CN104159165A - 一种基于sip协议下的通过tcp传输rtp媒体流的方法 - Google Patents
一种基于sip协议下的通过tcp传输rtp媒体流的方法 Download PDFInfo
- Publication number
- CN104159165A CN104159165A CN201410366529.5A CN201410366529A CN104159165A CN 104159165 A CN104159165 A CN 104159165A CN 201410366529 A CN201410366529 A CN 201410366529A CN 104159165 A CN104159165 A CN 104159165A
- Authority
- CN
- China
- Prior art keywords
- media
- media stream
- client
- tcp
- stream
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于SIP协议下的通过TCP传输RTP媒体流的方法,包括媒体客户端与媒体服务器之间的SIP信令协商和TCP协议下RTP媒体流的传输方法;SIP信令,用于媒体客户端与媒体服务器之间协商RTP媒体流传输的信息,当媒体客户端发起呼叫请求时,媒体客户端告诉媒体服务器自己的解码能力和媒体流接收IP端口。媒体服务器接收到请求后,根据媒体客户端的能力,返回媒体流的信息,确定通过TCP传输RTP媒体流,并确定TCP连接方向,以及媒体服务器发送媒体流的IP端口。媒体客户端收到媒体服务器返回的SIP消息后,向媒体服务器发送确认消息,最终建立一个通过TCP传输RTP媒体流的会话。本发明能有效减少在无线网络的情况下媒体流传输大量丢包的弊端。
Description
技术领域
本发明涉及通讯领域,特别是涉及一种基于SIP协议下的通过TCP传输RTP媒体流的方法。
背景技术
流媒体应用,如网络电视对互联网络数据传输的实时性要求很高,目前业界的标准是采用RTP-over-UDP协议。在传输层,RTP由于携带了大量的多媒体数据,传输量大,实时性要求高,较适合采用延迟和抖动娇小的UDP传输协议。但是在无线应用中,情况发生了以下变化:首先,无线网络系统服务器和客户端之间的网络通常是异构的,其中有线网络的无线网络之间的带宽不匹配情况较严重,其各自的带宽也是时刻在变动的,没有拥塞控制的UDP传输方式在这种情况下很容易出现大量的拥塞丢包;其次,无线信道高误码率的特点也令没有丢包补偿措施的UDP传输质量难以达到流媒体的要求。虽然可以在应用层配合UDP协议实现拥塞控制和丢包补偿措施,但是这一方面大大增加了开发难度,导致了大量的重复工作;另一方面不同的应用层实现也使得系统之间难以兼容。而TCP协议本身拥有的拥塞控制机制和重传机制则正好可以克服这些缺点,而且该协议是目前互联网中应用得最广泛的标准协议。另外,由于TCP能够较好地穿透防火墙,因而可以很好地适应无线异构网络的各种架构形式。
发明内容
本发明所要解决的技术问题是提供一种基于SIP协议下的通过TCP传输RTP媒体流的方法,以减少现有技术中在无线网络的情况下媒体流传输大量丢包的弊端。
为实现上述发明目的,本发明提供一种基于SIP协议下的通过TCP传输RTP媒体流的系统,包括媒体客户端与媒体服务器协商传输协议的同时,协商媒体客户端和媒体服务器哪一方作为TCP服务端,哪一方作为TCP客户端;
所述媒体客户端,用于:接收和发送SIP消息,并解析SIP消息以及SIP消息中的SDP消息体。同时接收和解析从媒体服务器收到的媒体流;
所述媒体服务器,用于:接收和发送SIP消息,并解析SIP消息以及SIP消息中的SDP消息体,同时进行媒体流的编码和向媒体客户端发送媒体流。
本发明还提供一种基于SIP协议下的通过TCP传输RTP媒体流的方法,包括:
媒体客户端通过SIP消息,向媒体服务器请求媒体流数据,此处的SIP消息可以通过UDP传输,也可以通过TCP传输;
媒体服务器收到媒体客户端发来的请求消息,解析SIP消息中的SDP消息体,返回媒体流的信息,确定通过TCP传输RTP媒体流,并确定TCP连接方向,以及媒体服务端发送媒体流的IP端口。媒体客户端收到媒体服务端返回的SIP消息后,向媒体服务端发送确认消息,最终建立一个通过TCP传输RTP媒体流的会话;
优选的有,上述方法中,还包括:当媒体客户端不主动充当媒体流的TCP服务端时,由媒体服务器充当媒体流的TCP服务端,由媒体客户端来向媒体服务器连接TCP。
由上述方案可以看出,本发明中直接利用TCP传输协议进行传输媒体流数据,而该协议是目前互联网中应用得最广泛的标准协议,而且TCP协议本身拥有的拥塞控制机制和重传机制则正好可以简化系统的开发工作量。另外,由于TCP能够较好地穿透防火墙,因而可以很好地适应无线异构网络的各种架构形式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一中系统结构示意图;
图2为本发明实施例一中系统处理信息流程示意图;
图3为本发明实施例一中流程示意图;
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一,参见图1,图2。
本发明提供一种基于SIP协议下的通过TCP传输RTP媒体流的方法,所述系统包括SIP控制信令和基于TCP协议传输的RTP媒体流,所述SIP控制信令中包含SDP消息体,所述基于TCP协议传输的RTP媒体流,其中:
由于RTP媒体流数据包是独立分包的,在TCP协议传输中,是按块连续地传输,因此需要在每个RTP包头之前增加分包的包头,让接收方能区分每一个RTP数据包;
参考RFC2326中第10.12章的内容,在发送RTP包之前增加分隔符“$+通道ID+包长度”。
例:
S->C:$\000{2byte length}{″length″bytes data,w/RTP header}
S->C:$\000{2byte length}{″length″bytes data,w/RTP header}
上述系统的工作过程参见图3,具体包括以下步骤:
步骤S301,媒体客户端向媒体服务器发起视频请求;
步骤S302,媒体服务器判断媒体客户端发来的请求中,媒体客户端是否作为TCP服务端,若是则执行S303;否则,执行S304;
步骤S303,媒体服务器创建TCP客户端,准备向媒体客户端连接;
步骤S304,媒体服务器创建TCP服务端,等待媒体客户端的连接;
步骤S305,媒体服务器根据媒体客户端所支持的媒体格式,启动对应的媒体流模块,准备发送媒体流数据;
步骤S306,媒体服务器向媒体客户端返回200OK消息,附带媒体流的信息,如媒体流传输的IP和端口等;
步骤S307,媒体客户端根据媒体服务器返回的200OK消息中SDP对媒体流的描述信息,创建对应的媒体流模块接收和解析媒体流数据;
步骤S308,媒体客户端向媒体服务器返回ACK,并根据步骤S307中SDP对媒体流的描述信息,建立RTP媒体流的TCP连接;
步骤S309,媒体服务器收到ACK消息后,开始向媒体客户端发送RTP媒体流数据;
步骤S310,媒体客户端向媒体服务器发送BYE消息,请求断开RTPoverTCP的连接;
步骤S311,媒体服务器收到BYE消息后,断开RTPoverTCP的连接,并返回200OK给媒体客户端;
步骤S312,媒体客户端收到200OK消息后,断开RTPoverTCP的连接。
本发明所述系统常用于无线网络视频传输,则引用手机观看网络电视为实施例进行说明。
此过程可视为手机通过无线网络向视频服务器请求媒体流数据。
用户在手机上观看一部电影,手机通过无线网络向视频服务器发送SIP请求,告诉视频服务器用户要点播的视频、自己能支持的媒体流格式,以及接收媒体流数据的IP端口等信息。
视频服务器接收到该视频请求后判定该视频请求的客户端是作为TCP服务端还是TCP客户端,同时启动对应的媒体流模块,并将媒体流的信息通过200OK消息返回给手机客户端。
手机接收到视频服务器返回的200OK消息后,根据此消息中的SDP媒体流信息描述,创建对应的媒体流模块,与视频服务器建立TCP连接,并返回ACK消息给视频服务器。
视频服务器接收到ACK消息后,开始向手机客户端发送媒体流数据,此时用户就能在手机上看到电影。
本发明中利用现有已经很成熟的SIP协议来控制视频请求会话,利用SDP协议描述媒体流的信息,设计简单,通用性高。直接利用TCP传输协议进行传输媒体流数据,而该协议是目前互联网中应用得最广泛的标准协议,而且TCP协议本身拥有的拥塞控制机制和重传机制则正好可以简化系统的开发工作量。另外,由于TCP能够较好地穿透防火墙,因而可以很好地适应无线异构网络的各种架构形式。
由上可见,本发明提供的一种基于SIP协议下的通过TCP传输RTP媒体流的系统和方法,有以下优点。
(1)便于开发,降低成本
本发明只需在业界已有的技术基础上进行扩展,即可实现通过TCP传输RTP媒体流,减少了开发的工作量;同时,通过利用现有成熟且应用广泛的SIP协议进行请求会话控制,免去重复的消息通讯开发,这大大降低了使用成本。
(2)应用范围广
SIP协议、SDP协议、TCP协议和RTP协议都是全世界广泛使用的国标标准协议,无需其他软件的协作,即可实现RTP媒体流的传输,应用时方便易行,推广度高。
(3)提供稳定清晰的媒体服务
TCP协议本身拥有的拥塞控制机制和重传机制则正好可以简化系统的开发工作量。另外,由于TCP能够较好地穿透防火墙,因而可以很好地适应无线异构网络的各种架构形式,很好地解决了在公网传输过程中公网端口映射、防火墙穿透和运营商封杀等问题,提供稳定清晰的媒体服务。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置或系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本申请所提供的实施例中,应该理解到,所揭露的系统和方法,在没有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,所描述系统和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种基于SIP协议下的通过TCP传输RTP媒体流的方法,其特征在于,通过SIP信令在媒体客户端和媒体服务器之间通信,利用SDP消息体商定媒体流发送的信息;
所述SIP信令,用于:媒体客户端与媒体服务器之间进行通信,交互对端信息并建立会话连接;
所述SDP消息体,用于:描述媒体客户端的解码能力以及接收媒体流的IP端口等信息,描述媒体服务器提供的码流的编码格式、传输协议已经传输IP端口等信息;
所述RTP媒体流,用于:承载音视频数据,提供时间信息和实现流同步。
2.根据权利要求1所述的方法,其特征在于,还包括:媒体客户端与媒体服务器协商传输协议的同时,协商媒体客户端和媒体服务器哪一方作为TCP服务端,哪一方作为TCP客户端。
3.根据权利要求1所述的方法,其特征在于,还包括:媒体客户端通过SDP消息体与媒体服务器协商媒体流编码格式,以及媒体流发送端口等信息。
4.一种基于SIP协议下的通过TCP传输RTP媒体流的系统,其特征在于,包括:
媒体客户端SIP信令模块,用于接收和发送SIP消息,并解析SIP消息以及SIP消息中的SDP消息体;
媒体客户端媒体流模块,用于接收和解析从媒体服务器收到的媒体流。
5.一种基于SIP协议下的通过TCP传输RTP媒体流的系统,其特征在于,包括:
媒体服务器SIP信令模块,用于接收和发送SIP消息,并解析SIP消息以及SIP消息中的SDP消息体;
媒体服务器媒体流模块,用于媒体流的编码和向媒体客户端发送媒体流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410366529.5A CN104159165A (zh) | 2014-07-26 | 2014-07-26 | 一种基于sip协议下的通过tcp传输rtp媒体流的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410366529.5A CN104159165A (zh) | 2014-07-26 | 2014-07-26 | 一种基于sip协议下的通过tcp传输rtp媒体流的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104159165A true CN104159165A (zh) | 2014-11-19 |
Family
ID=51884554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410366529.5A Pending CN104159165A (zh) | 2014-07-26 | 2014-07-26 | 一种基于sip协议下的通过tcp传输rtp媒体流的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104159165A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107734284A (zh) * | 2017-09-18 | 2018-02-23 | 深圳市麦斯杰网络有限公司 | 媒体会话建立方法、装置及计算机可读存储介质 |
CN110463233A (zh) * | 2017-03-24 | 2019-11-15 | 三星电子株式会社 | 用于短数据服务的客户端协议选择的系统和方法 |
CN114143291A (zh) * | 2021-11-18 | 2022-03-04 | 广西北投信创科技投资集团有限公司 | 一种基于tcp和udp的http通信方法及其系统 |
CN114697736A (zh) * | 2020-12-29 | 2022-07-01 | 深圳Tcl新技术有限公司 | 无线投屏方法、系统、智能设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1804455A1 (en) * | 2005-12-27 | 2007-07-04 | Siemens S.p.A. | Method and system to exchange videos in real-time taken by one's cellular handset during two-party voice calls |
CN102177693A (zh) * | 2008-10-08 | 2011-09-07 | 日本电气株式会社 | 用于建立瘦客户端会话的方法 |
CN102801725A (zh) * | 2012-08-06 | 2012-11-28 | 苏州工业园区云视信息技术有限公司 | Sip音视频会议中进行音视频媒体传输的方法 |
CN102984402A (zh) * | 2011-09-06 | 2013-03-20 | 中兴通讯股份有限公司 | 一种VoIP数据包的处理方法及系统 |
CN103634299A (zh) * | 2013-11-14 | 2014-03-12 | 北京邮电大学 | 基于多连接的实时流媒体传输终端与方法 |
-
2014
- 2014-07-26 CN CN201410366529.5A patent/CN104159165A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1804455A1 (en) * | 2005-12-27 | 2007-07-04 | Siemens S.p.A. | Method and system to exchange videos in real-time taken by one's cellular handset during two-party voice calls |
CN102177693A (zh) * | 2008-10-08 | 2011-09-07 | 日本电气株式会社 | 用于建立瘦客户端会话的方法 |
CN102984402A (zh) * | 2011-09-06 | 2013-03-20 | 中兴通讯股份有限公司 | 一种VoIP数据包的处理方法及系统 |
CN102801725A (zh) * | 2012-08-06 | 2012-11-28 | 苏州工业园区云视信息技术有限公司 | Sip音视频会议中进行音视频媒体传输的方法 |
CN103634299A (zh) * | 2013-11-14 | 2014-03-12 | 北京邮电大学 | 基于多连接的实时流媒体传输终端与方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110463233A (zh) * | 2017-03-24 | 2019-11-15 | 三星电子株式会社 | 用于短数据服务的客户端协议选择的系统和方法 |
US11343657B2 (en) | 2017-03-24 | 2022-05-24 | Samsung Electronics Co., Ltd. | System and method for client protocol selection for short data service |
CN110463233B (zh) * | 2017-03-24 | 2022-06-24 | 三星电子株式会社 | 用于短数据服务的客户端协议选择的系统和方法 |
US11818632B2 (en) | 2017-03-24 | 2023-11-14 | Samsung Electronics Co., Ltd. | System and method for client protocol selection for short data service |
CN107734284A (zh) * | 2017-09-18 | 2018-02-23 | 深圳市麦斯杰网络有限公司 | 媒体会话建立方法、装置及计算机可读存储介质 |
CN114697736A (zh) * | 2020-12-29 | 2022-07-01 | 深圳Tcl新技术有限公司 | 无线投屏方法、系统、智能设备及计算机可读存储介质 |
CN114143291A (zh) * | 2021-11-18 | 2022-03-04 | 广西北投信创科技投资集团有限公司 | 一种基于tcp和udp的http通信方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2640099B1 (en) | Method, system and apparatus for providing stream media service | |
US7613147B2 (en) | Packet-based conversational service for a multimedia session in a mobile communications system | |
US8311060B2 (en) | Method and system for transmitting IP message, negotiating bandwidth saving capability and saving network bandwidth | |
US8582726B2 (en) | Method and an apparatus for handling multimedia calls | |
CN103634299A (zh) | 基于多连接的实时流媒体传输终端与方法 | |
CN101616156B (zh) | 一种实现rtp数据流多路复用的信令协商方法和装置 | |
CN104159165A (zh) | 一种基于sip协议下的通过tcp传输rtp媒体流的方法 | |
US20140233616A1 (en) | Communication system and method | |
CN104509060A (zh) | 流媒体数据传输的方法及装置 | |
CN108023869B (zh) | 多媒体通信的参数调整方法、装置及移动终端 | |
WO2011153842A1 (zh) | 媒体网关间的报文传输方法、媒体网关和无线通信系统 | |
Karaagac et al. | Light-weight streaming protocol for the Internet of Multimedia Things: Voice streaming over NB-IoT | |
US20060133372A1 (en) | Apparatus and method for multiplexing packet in mobile communication network | |
US20090135809A1 (en) | Method and apparatus for establishing a voice bearer in a telecommunications system | |
WO2023071656A1 (zh) | 信息传输方法及装置 | |
US8031697B2 (en) | Method for bearer independent call control (BICC) optimization for IP bearer support | |
EP1724985A2 (en) | Portable terminal, streaming communication system, streaming communication method, and streaming communication program | |
CN105992014B (zh) | 一种投影图像数据的方法、装置、发送端及接收端 | |
CN101340731B (zh) | 业务的服务质量的保证方法、网络侧设备和终端 | |
CN107750449A (zh) | 用于管理反向信道音频会话的技术 | |
CN102282886B (zh) | 一种实现语音业务的方法、移动终端、装置和系统 | |
CN110730192B (zh) | 语音数据传输方法、装置、设备及计算机可读存储介质 | |
US11689583B2 (en) | Network node, entity and methods performed therein for handling a communication session in a communication network | |
EP2384048B1 (en) | Method and apparatus for processing compressed multiplexed messages | |
TWI445434B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141119 |