CN103503401B - 一种流媒体数据处理方法、装置及系统 - Google Patents

一种流媒体数据处理方法、装置及系统 Download PDF

Info

Publication number
CN103503401B
CN103503401B CN201180003146.6A CN201180003146A CN103503401B CN 103503401 B CN103503401 B CN 103503401B CN 201180003146 A CN201180003146 A CN 201180003146A CN 103503401 B CN103503401 B CN 103503401B
Authority
CN
China
Prior art keywords
level flow
data block
application
media data
flow media
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.)
Expired - Fee Related
Application number
CN201180003146.6A
Other languages
English (en)
Other versions
CN103503401A (zh
Inventor
尹月静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Global Innovation Polymerization LLC
Tanous Co
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103503401A publication Critical patent/CN103503401A/zh
Application granted granted Critical
Publication of CN103503401B publication Critical patent/CN103503401B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及通信技术领域,尤其涉及一种流媒体数据处理方法、装置及系统。本发明实施例提供的一种流媒体数据处理方法,流媒体数据封装设备接收流媒体服务器发送的应用层流媒体数据块,确定所述应用层流媒体数据块的源格式以及目标格式,其中,所述应用层流媒体数据块中数据包的数目大于一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目,所述流媒体数据封装设备根据所述源格式以及目标格式,将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文。本发明实施例提供的方法,通过流媒体数据封装设备对应用层流媒体数据块进行分段封装,降低了流媒体服务器的处理负荷。

Description

一种流媒体数据处理方法、装置及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种流媒体数据处理方法、装置及系统。
背景技术
现有的TS(TransportStream,传输流)/UDP流媒体业务中,在向网卡发送流媒体数据时,流媒体服务器需把流媒体数据封装成UDP报文,再把封装好的UDP报文发送给网卡。TS/UDP流媒体业务中,源内容为TS流或TS文件,每个TS包的长度为188字节,为简化处理,流媒体服务器每次封装的UDP报文中流媒体净荷的长度为188字节的整数倍。由于UDP头占8个字节,并且以太网中MTU(MaximumTransmissionUnit,最大传输单元)大小为1500字节,因此,流媒体服务器每次向网卡发送的UDP报文最多包含7个TS包。
通过对现有技术的分析,发明人认为现有技术至少存在以下问题:
现有技术中,流媒体服务器一次最多向网卡发送7个TS包,由于流媒体业务的数据量很大,因而,流媒体服务器需要频繁地与网卡进行通信,从而加重了流媒体服务器的处理负荷,其次,流媒体服务器一次把7个TS包封装成一个UDP报文,向网卡发送封装后的UDP报文,由于流媒体业务数据量很大,因而,流媒体服务器需要频繁地对流媒体数据进行分段封装,也进一步加重了流媒体服务器的处理负荷。
发明内容
本发明实施例的目的在于提供一种流媒体数据处理方法、装置及系统,可以降低流媒体服务器的处理负荷。
本发明实施例提供的一种流媒体数据处理方法,包括:
流媒体服务器确定应用层流媒体数据的源格式以及目标格式;
所述流媒体服务器根据所述源格式以及所述目标格式,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
所述流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块,其中,所述应用层流媒体数据块中数据包的数目大于所述最大整数数目。
本发明实施例提供的另一种流媒体数据处理方法,包括:
接收流媒体服务器发送的应用层流媒体数据块;
确定所述应用层流媒体数据块的源格式以及目标格式,其中,所述应用层流媒体数据块中数据包的数目大于一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
根据所述源格式确定所述应用层流媒体数据块中每个数据包的大小,根据所述每个数据包的大小以及所述最大整数数目,将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文,其中,分段封装后的每个所述目标格式的报文包含整数个所述源格式的数据包。
本发明实施例提供的一种流媒体服务器,包括:
确定器,用于确定应用层流媒体数据的源格式以及目标格式;
所述确定器还用于根据所述源格式以及所述目标格式,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
发送器,用于向流媒体数据封装设备发送应用层流媒体数据块,其中,所述应用层流媒体数据块中数据包的数目大于所述确定器确定的最大整数数目。
本发明实施例提供的一种流媒体数据封装设备,包括:
接收器,用于接收流媒体服务器发送的应用层流媒体数据块;
确定器,用于确定所述接收器接收到的应用层流媒体数据块的源格式以及目标格式,其中,所述接收器接收到的应用层流媒体数据块中数据包的数目大于一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
所述确定器还用于根据所述源格式确定每个数据包的大小;
分段封装器,用于根据所述确定器确定的每个数据包的大小以及所述最大整数数目,将所述接收器接收到的应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文,其中,分段封装后的每个所述目标格式的报文包含整数个所述源格式的数据包。
本发明实施例提供的一种流媒体数据处理系统,包括:流媒体服务器,流媒体数据封装设备,其中,
所述流媒体服务器,用于确定应用层流媒体数据的源格式以及目标格式,根据所述源格式以及目标格式,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目后,向所述流媒体数据封装设备发送应用层流媒体数据块,其中,所述应用层流媒体数据块中数据包的数目大于所述最大整数数目;
所述流媒体数据封装设备,用于接收所述流媒体服务器发送的应用层流媒体数据块,确定所述应用层流媒体数据块的源格式以及目标格式,根据所述源格式确定所述应用层流媒体数据块中每个数据包的大小,根据所述每个数据包的大小以及所述最大整数数目,将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文,其中,分段封装后的每个所述目标格式的报文包含整数个所述源格式的数据包。
本发明实施例提供的一种流媒体数据处理方法、装置及系统,应用层流媒体数据块中数据包的数目大于一个目标格式的报文能够包含的源格式的数据包的最大整数数目,减少了流媒体服务器与流媒体数据封装设备之间通信的次数,降低了流媒体服务器的处理负荷;其次,流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块,由流媒体数据封装设备对应用层流媒体数据块进行分段封装,进一步降低了流媒体服务器的处理负荷。
附图说明
图1为本发明实施例提供的一种流媒体数据处理的架构图;
图2为本发明实施例提供的一种流媒体数据处理方法;
图3为本发明实施例提供的另一种流媒体数据处理方法;
图4为本发明实施例提供的一种流媒体数据处理方法的实现流程图;
图5为本发明实施例提供的一种流媒体数据处理系统;
图6为本发明实施例提供的一种流媒体服务器;
图7为本发明实施例提供的一种流媒体数据封装设备。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种流媒体数据处理的架构图。其中,流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块,流媒体数据封装设备把接收到的应用层流媒体数据块分段封装成报文,将分段封装后每个报文发送给客户端。
其中,作为示例而非限定,所述流媒体数据封装设备可以是网卡或具有报文封装功能的设备。
基于图1所示的架构图,本发明实施例提供一种流媒体数据处理方法。如图2所示,该方法具体包括:
S201:流媒体服务器确定应用层流媒体数据的源格式以及目标格式;
S202:所述流媒体服务器根据所述源格式以及所述目标格式,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
其中,需要说明的是,所述流媒体服务器根据所述源格式确定所述源格式的数据包的大小,根据所述数据包的大小以及所述目标格式的报文的容量,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
例如,源格式为TS文件或TS流,目标格式为TS/UDP,TS包的大小为188字节,由于MTU为1500个字节,IP头占20个字节,UDP头占8个字节,因此,UDP报文负荷最多为1472个字节,UDP报文的容量为1472字节,即最多1472字节,因此,流媒体服务器根据TS包的大小以及UDP报文的容量,可以确定TS/UDP格式的报文最多能够包含7个TS包;又例如,源格式为TS文件或TS流,目标格式为TS/RTP/UDPTS/RTP/UDP,基于同样的理由,流媒体服务器可以确定TS/RTP/UDP报文最多能够包含7个TS包,对于其他的目标格式,例如TS/TCP,可以采用类似的方式确定目标格式的报文能够包含的源格式的数据包的最大整数数目;
需要说明的是,TS/UDP格式表示TS格式的UDP报文,TS/RTP/UDP格式表示RTP格式的UDP报文,其中,RTP包包含TS格式的数据包;
对于其他的源格式以及目标格式,例如源格式为H.264,目标格式为H.264/RTP/UDP,可以采用类似的方式进行判断;
S203:所述流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块,其中,所述应用层流媒体数据块中数据包的数目大于所述最大整数数目;
例如,源格式为TS文件或TS流,目标格式为TS/UDP,一个UDP报文最多能够包含7个TS包,流媒体服务器向流媒体数据封装设备发送的应用层流媒体数据块中TS包的数目大于7,可以减少流媒体服务器与流媒体数据封装设备之间的通信次数,降低流媒体服务器的处理负荷;对于其他目标格式,如TS/RTP/UDPTS/RTP/UDP,可以采用类似的方式向流媒体数据封装设备发送应用层流媒体数据块;
需要说明的是,对于其他的源格式以及目标格式,例如源格式为H.264,目标格式为H.264/RTP/UDP,可以采用类似的方式向流媒体数据封装设备发送应用层流媒体数据块;
需要说明的是,所述流媒体服务器可以根据流媒体业务的实时性,确定应用层流媒体数据块中数据包的数目,具体的,对于某些需要考虑用户体验的业务,应用层流媒体数据块中数据包的数目至少要保证不影响用户体验,作为示例而非限定,其中一种具体的实施方式中,流媒体服务器可以根据流媒体数据的平均播放速率以及发送应用层流媒体数据块的发送时间间隔,确定应用层流媒体数据块中数据包的数目,例如,对于在线点播业务,至少按照流媒体数据的平均播放速率发送,以保证播放的连续性,如果流媒体数据的平均播放速率为2Mbit/s,即要求流媒体服务器每秒发送2Mbit的数据,若该应用层流媒体数据块为TS格式的数据,并且应用层流媒体服务器一秒钟向流媒体数据封装设备发送一次应用层流媒体数据块,则要求流媒体服务器每秒发送1400个TS包给流媒体数据封装设备;
需要说明的是,所述应用层流媒体数据块中数据包的数目可以是所述最大整数数目的整数倍,便于流媒体数据封装设备进行封装处理,降低流媒体数据封装设备分段封装的处理复杂度;
需要说明的是,流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块之后,由所述流媒体数据封装设备对所述应用层流媒体数据块进行分段封装处理。
本发明实施例提供的一种流媒体数据处理方法,应用层流媒体数据块中数据包的数目大于一个目标格式的报文能够包含的源格式的数据包的最大整数数目,减少了流媒体服务器与流媒体数据封装设备之间通信的次数,降低了流媒体服务器的处理负荷;其次,流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块,由流媒体数据封装设备对应用层流媒体数据块进行分段封装处理,进一步降低了流媒体服务器的处理负荷;另外,流媒体服务器根据流媒体业务的实时性,确定应用层流媒体数据块中数据包的数目,保证了流媒体数据播放的连续性,提升了用户体验;再次,应用层流媒体数据块中数据包的数目为上述最大整数数目的整数倍,便于流媒体数据封装设备对应用层流媒体数据块进行分段封装处理,简化了封装处理的复杂度。
基于图1所示的架构图,本发明实施例提供另一种流媒体数据处理方法。如图3所示,该方法具体包括:
S301:接收流媒体服务器发送的应用层流媒体数据块;
其中,需要说明的是,本方法实施例的执行主体为流媒体数据封装设备,所述流媒体数据封装设备可包括网卡或具有报文封装功能的设备;
S302:确定所述应用层流媒体数据块的源格式以及目标格式,其中,所述应用层流媒体数据块中数据包的数目大于一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
作为示例而非限定,以源格式为TS文件或TS流,目标格式为TS/UDP为例,由于一个TS包为188字节,一个UDP头占8字节,因此,一个UDP报文最多包含7个TS包,则应用层流媒体数据块中TS包的数目大于7;
需要说明的是,所述应用层流媒体数据块中数据包的数目为整数;
其中,需要说明的是,确定所述应用层流媒体数据块的源格式以及目标格式的方式,可以包括以下任一方式:
方式一:应用层流媒体数据块携带源格式标识以及目标格式标识,所述流媒体数据封装设备根据所述应用层流媒体数据块携带的源格式标识以及目标格式标识,确定所述应用层流媒体数据块的源格式以及目标格式;
方式二:根据预先保存的配置参数,确定所述应用层流媒体数据块的源格式以及目标格式,其中,所述配置参数包括所述应用层流媒体数据块的源格式标识以及目标格式标识;
S303:根据所述源格式确定每个数据包的大小,根据所述每个数据包的大小以及所述最大整数数目,将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文,其中,分段封装后的每个所述目标格式的报文包含整数个所述源格式的数据包;
其中,将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文的方式,具体包括以下方式:
将所述应用层流媒体数据块中的数据包分为至少两个分段,其中,每个分段包含的数据包的数目为整数且不大于所述最大整数数目;将所述至少两个分段分别封装成所述目标格式的报文;
例如,源格式为TS流或TS文件,目标格式为TS/UDP,则表明需把源格式的TS包封装成TS格式的UDP报文,由于TS包的大小为188字节,MTU的值为1500字节,因此,一个UDP报文最多能携带7个TS包,可以按照不大于7个TS包的分段方式对应用层流媒体数据块进行分段,例如应用层流媒体数据块包含35个TS包,按每5个TS包分为一段的方式,将该应用层流媒体数据块分段封装成7个UDP报文,每个UDP报文的格式如下表所示:
UDP头 TS包 TS包 TS包 TS包 TS包
又例如,源格式为TS流或TS文件,目标格式为TS/RTP/UDPTS/RTP/UDP,则表明需首先把多个源格式的TS包加上RTP头封装成RTP(Real-timeTransportProtocol,实时传输协议)格式的包,再把RTP格式的包加上UDP头封装成UDP报文,由于TS包的大小为188字节,UDP头占8个字节,RTP头占12个字节,因此,一个UDP报文最多能携带7个TS包,可以按照不大于7个TS包的分段方式对应用层流媒体数据块进行分段,例如按每5个TS包分为一段的方式,将分段后每个分段封装成UDP报文,RTP格式的UDP报文与TS格式的UDP报文不同之处在于多了一个RTP头,如下表所示:
UDP头 RTP头 TS包 TS包 TS包 TS包 TS包
需要说明的是,对于其他的目标格式,可以采用类似的方式扩展流媒体数据封装设备相应的功能,作为示例而非限定,源格式为TS文件或TS流,目标格式为TS/TCP,则按照类似的方式确定TCP报文能够包含的TS包的最大整数数目,并按照类似的方式对应用层流媒体数据块进行分段封装,在此不再赘述;
对于其他的源格式以及目标格式,例如源格式为H.264,目标格式为H.264/RTP/UDP,可采用类似方式扩展流媒体数据封装设备相应的功能,在此不再赘述;
需要说明的是,将应用层流媒体数据块中的数据包分为至少两个分段的方式,可以包括以下方式:
按照所述最大整数数目,将所述应用层流媒体数据块中的数据包分为至少两个分段,例如,在源格式为TS文件或TS流,目标格式为TS/RTP/UDP时,按每7个TS包为一段的方式,对应用层流媒体数据块进行分段,若应用层流媒体数据块包含了1400个TS包,则将该1400个TS包分为200段,每段包含7个TS包,将该200个分段分别封装成RTP格式的UDP报文。
本发明实施例提供的一种流媒体数据处理方法,应用层流媒体数据块中数据包的数目大于一个目标格式的报文能够包含的源格式的数据包的最大整数数目,减少了流媒体服务器与流媒体数据封装设备之间通信的次数,降低了流媒体服务器的处理负荷;其次,流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块,由流媒体数据封装设备对应用层流媒体数据块进行封装,进一步降低了流媒体服务器的处理负荷;另外,流媒体数据封装设备根据应用层流媒体数据块的源格式以及目标格式,对应用层流媒体数据块进行分段封装,使得流媒体数据封装设备可以自适应地对各种类型的应用层流媒体数据块进行封装;再次,通过在应用层流媒体数据块中携带源格式标识以及目标格式标识,使得流媒体数据封装设备可以同时处理多种类型的应用层流媒体数据块;此外,通过预先保存的配置参数获知应用层流媒体数据块的源格式以及目标格式,可以进一步降低流媒体服务器与流媒体数据封装设备之间的通信开销,节省网络带宽;进一步地,流媒体数据封装设备封装得到的目标格式的报文包含整数个源格式的数据包,简化了封装处理的复杂度;再进一步地,流媒体数据封装设备按照目标格式的报文能够包含的源格式的数据包的最大整数数目,将应用层流媒体数据块中的数据包进行分段,使得封装后的目标格式的报文包含最多的数据包,减少了流媒体数据封装设备与客户端之间的通信次数,降低了流媒体数据封装设备的处理负荷。
如图4所示,为本发明实施例提供的一种流媒体数据处理方法的实现流程图,具体包括:
S401:流媒体服务器确定应用层流媒体数据的源格式以及目标格式;
S402:所述流媒体服务器根据所述源格式以及所述目标格式,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
其中,需要说明的是,所述流媒体服务器根据所述源格式确定所述源格式的数据包的大小,根据所述数据包的大小以及所述目标格式的报文的容量,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
例如,源格式为TS文件或TS流,目标格式为TS/UDP,TS包的大小为188字节,UDP报文最多1472字节,因此,流媒体服务器根据TS包的大小以及UDP报文的容量,可以确定TS/UDP格式的报文最多能够包含7个TS包;
又例如,源格式为TS文件或TS流,目标格式为TS/RTP/UDP,基于同样的理由,流媒体服务器可以确定TS/RTP/UDP报文最多能够包含7个TS包,对于其他的目标格式,例如TS/TCP,可以采用类似的方式确定目标格式的报文能够包含的源格式的数据包的最大整数数目;
对于其他的源格式以及目标格式,例如源格式为H.264,目标格式为H.264/RTP/UDP,可以采用类似的方式进行判断;
S403:所述流媒体服务器根据所述最大整数数目,确定每次读取应用层流媒体数据的读数据包数目;
其中,需要说明的是,所述流媒体服务器可根据自身缓存大小,确定所述读数据包数目,其中一种具体的实施方式中,所述读数据包数目与自身缓存的大小成正相关关系,所述读数据包数目可随自身缓存的增大而增大,随自身缓存的减小而减小;
需要说明的是,在自身缓存允许的情况下,所述读数据包数目可以尽可能地大;
S404:所述流媒体服务器按照确定的读数据包数目,读取应用层流媒体数据;
其中,需要说明的是,若未读取的数据包数目小于所述读数据包数目,则按实际数据包数目进行读取,否则,按所述读数据包数目进行读取;
S405:流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块,其中,所述应用层流媒体数据块中数据包的数目大于所述最大整数数目;
例如,源格式为TS文件或TS流,目标格式为TS/UDP,一个UDP报文最多能够包含7个TS包,流媒体服务器向流媒体数据封装设备发送的应用层流媒体数据块中TS包的数目大于7,可以减少流媒体服务器与流媒体数据封装设备之间的通信次数,降低流媒体服务器的处理负荷;对于其他目标格式,如TS/RTP/UDP,可以采用类似的方式向流媒体数据封装设备发送应用层流媒体数据块;
需要说明的是,对于其他的源格式以及目标格式,例如源格式为H.264,目标格式为H.264/RTP/UDP,可以采用类似的方式向流媒体数据封装设备发送应用层流媒体数据块;
需要说明的是,所述流媒体服务器可以根据流媒体业务的实时性,确定应用层流媒体数据块中数据包的数目,具体的,对于某些需要考虑用户体验的业务,应用层流媒体数据块中数据包的数目至少要保证不影响用户体验,作为示例而非限定,其中一种具体的实施方式中,流媒体服务器可以根据流媒体数据的平均播放速率以及发送应用层流媒体数据块的发送时间间隔,确定应用层流媒体数据块中数据包的数目,例如,对于在线点播业务,至少按照流媒体数据的平均播放速率发送,以保证播放的连续性,如果流媒体数据的平均播放速率为2Mbit/s,即要求流媒体服务器每秒发送2Mbit的数据,若该应用层流媒体数据块为TS格式的数据,并且应用层流媒体服务器一秒钟向流媒体数据封装设备发送一次应用层流媒体数据块,则要求流媒体服务器每秒发送1400个TS包给流媒体数据封装设备;
需要说明的是,所述应用层流媒体数据块中数据包的数目可以是所述最大整数数目的整数倍,便于流媒体数据封装设备进行封装处理,降低流媒体数据封装设备分段封装的处理复杂度,例如,若应用层流媒体数据块的源格式为TS文件或TS流,目标格式为TS/UDP,则目标格式的UDP报文最多能携带7个TS包,所述流媒体服务器发送的应用层流媒体数据块中数据包的数目为7的整数倍,例如所述流媒体服务器发送的应用层流媒体数据块中数据包的数目为1400,对于其他类型的源格式以及目标格式,例如源格式为H.264,目标格式为H.264/RTP/UDP,可采用类似方式扩展流媒体数据封装设备相应的功能,在此不再赘述;
可选地,在流媒体数据封装设备的缓存允许时,在向流媒体数据封装设备发送应用层流媒体数据块的过程中,流媒体服务器可以尽可能多地增加一次性向流媒体数据封装设备发送数据包的数目,以减少流媒体服务器和流媒体数据封装设备通信的次数,进一步减轻流媒体服务器的处理负荷;
需要说明的是,若流媒体服务器读取的数据包的数目不足所述最大整数数目,则按照实际读取的数据包数目,向流媒体数据封装设备发送应用层流媒体数据块;
优选地,所述读数据包数目可以大于或等于所述最大整数数目;
其中,需要指出的是,本发明实施例并不限定流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块的具体方式,作为示例而非限定,流媒体服务器可以通过自定义一个新的套接字结构类型,在该结构中包含应用层流媒体数据块的源格式标识、目标格式标识以及净荷等,如下表所示:
其中,ST为源格式标识,用于表示应用层流媒体数据块的源格式,标识DT为目标格式标识,用于表示应用层流媒体数据块的目标格式,Block_SN为应用层流媒体数据块的块序号,TimeStamp为时间戳,由于Block_SN值和TimeStamp值是有规律的,其中,TimeStamp初始值为随机值,只要得到该随机值就可以对应用层流媒体数据块进行处理,Length为净荷长度,Payload为净荷,例如,对于源格式为TS流或TS文件的应用层流媒体数据块,对于第一个应用层流媒体数据块,ST=1,DT=1,Block-SN=1,Timestamp为初始随机值,Length=1400,表示Payload中包含1400个TS包;
需要说明的是,流媒体服务器还可以利用已定义的套接字结构类型,将应用层流媒体数据块发送到流媒体数据封装设备;
需要进一步说明的是,若所述流媒体数据封装设备没有打开分段封装功能,所述流媒体服务器指示所述流媒体数据封装设备打开分段封装功能,以便所述流媒体数据封装设备对所述流媒体服务器发送的流媒体数据块进行分段封装;
S406:流媒体数据封装设备确定所述应用层流媒体数据块的源格式以及目标格式;
其中,需要说明的是,确定所述应用层流媒体数据块的源格式以及目标格式的方式,可以包括以下任一方式:
方式一:所述应用层流媒体数据块携带源格式标识以及目标格式标识,所述流媒体数据封装设备根据所述应用层流媒体数据块携带的源格式标识以及目标格式标识,确定所述应用层流媒体数据块的源格式以及目标格式,例如,在上述自定义的套接字结构类型中,通过ST标识以及DT标识,确定应用层流媒体数据块的源格式以及目标格式;
方式二:根据预先保存的配置参数,确定所述应用层流媒体数据块的源格式以及目标格式,其中,所述配置参数包括所述应用层流媒体数据块的源格式标识以及目标格式标识;
其中,需要说明的是,在获取预先保存的配置参数之前,所述流媒体数据封装设备可以预先接收所述流媒体服务器发送的配置参数,并保存所述配置参数,以便流媒体数据封装设备接收到流媒体服务器发送的应用层流媒体数据块时,根据预先保存的配置参数确定应用层流媒体数据块的源格式以及目标格式;
需要说明的是,流媒体服务器可以根据自定义的套接字(Socket)或已定义的套接字,向流媒体数据封装设备发送配置参数,以源格式为TS文件或TS流,目标格式为TS/UDP报文为例,所述已定义的套接字可采用传统UDP报文类型的套接字,作为示例而非限定,其中一种具体的实施方式中,可通过自定义的套接字选项或者已定义的套接字选项,向流媒体数据封装设备发送所述配置参数,例如,可定义一个SOL_UDP层或SOL_SOCKET层的选项SO_MEDIA,同时定义配置参数数据结构及其指针,通过函数setsockopt向所述流媒体数据封装设备发送所述配置参数;在另一种具体的实施方式中,对所述配置参数中每个需要配置的参数选项定义一个配置选项,使用函数setsockopt向流媒体数据封装设备发送所述配置参数,例如,定义一个源格式是TS文件或TS流,目标格式是TS/UDP的开关选项SO_MEDIA_TS,其中一种具体的实施方式中,该开关选项SO_MEDIA_TS的值为布尔类型,可以取值Ture或False,取值为Ture表示源格式为TS格式,目标格式为TS/UDP,流媒体数据封装设备接收到TS格式的应用层流媒体数据块后,将所述TS格式的应用层流媒体数据块分段封装成TS格式的UDP报文;也可以定义一个源格式配置选项SO_MEDIA_SOURCE,该SO_MEDIA_SOURCE选项的值为枚举类型,例如该SO_MEDIA_SOURCE的值包括SO_MEDIA_SOURCE_TS,SO_MEDIA_SOURCE_H.264等;
其中,需要说明的是,定义配置参数数据结构具体是指定义所述源格式标识的数据结构以及、所述目标格式标识的数据结构;
S407:所述流媒体数据封装设备根据所述源格式确定每个数据包的大小;
例如,若源格式为TS文件或TS流,所述流媒体数据封装设备确定每个TS包的大小为188字节;
S408:所述流媒体数据封装设备根据所述每个数据包的大小以及所述最大整数数目,将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文,其中,分段封装后的每个所述目标格式的报文包含整数个所述源格式的数据包;
其中,将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文的方式,具体包括以下方式:
将所述应用层流媒体数据块中的数据包分为至少两个分段,其中,每个分段包含的数据包的数目为整数且不大于所述最大整数数目;将所述至少两个分段分别封装成所述目标格式的报文;
例如,源格式为TS流或TS文件,目标格式为TS/UDP,则表明需把源格式的TS包封装成TS格式的UDP报文,由于TS包的大小为188字节,MTU的值为1500字节,因此,一个UDP报文最多能携带7个TS包,可以按照不大于7个TS包的分段方式对应用层流媒体数据块进行分段,例如应用层流媒体数据块包含35个TS包,按每5个TS包分为一段的方式,将该应用层流媒体数据块分段封装成7个UDP报文,每个UDP报文的格式如下表所示:
UDP头 TS包 TS包 TS包 TS包 TS包
又例如,源格式为TS流或TS文件,目标格式为TS/RTP/UDPTS/RTP/UDP,则表明需首先把多个源格式的TS包加上RTP头封装成RTP(Real-timeTransportProtocol,实时传输协议)格式的包,再把RTP格式的包加上UDP头封装成UDP报文,由于TS包的大小为188字节,UDP头占8个字节,RTP头占12个字节,因此,一个UDP报文最多能携带7个TS包,可以按照不大于7个TS包的分段方式对应用层流媒体数据块进行分段,例如按每5个TS包分为一段的方式,将分段后每个分段封装成UDP报文,RTP格式的UDP报文与TS格式的UDP报文不同之处在于多了一个RTP头,如下表所示:
UDP头 RTP头 TS包 TS包 TS包 TS包 TS包
需要说明的是,对于其他的目标格式,可以采用类似的方式扩展流媒体数据封装设备相应的功能,作为示例而非限定,源格式为TS文件或TS流,目标格式为TS/TCP,则按照类似的方式确定TCP报文能够包含的TS包的最大整数数目,并按照类似的方式对应用层流媒体数据块进行分段封装,在此不再赘述;
对于其他的源格式以及目标格式,例如源格式为H.264,目标格式为H.264/RTPUDP,可采用类似方式扩展流媒体数据封装设备相应的功能,在此不再赘述;
需要说明的是,将应用层流媒体数据块中的数据包分为至少两个分段的方式,可以包括以下方式:
按照所述最大整数数目,将所述应用层流媒体数据块中的数据包分为至少两个分段,例如,在源格式为TS文件或TS流,目标格式为TS/RTP/UDP时,按每7个TS包为一段的方式,对应用层流媒体数据块进行分段,若应用层流媒体数据块包含了1400个TS包,则将该1400个TS包分为200段,每段包含7个TS包,将该200个分段分别封装成RTP格式的UDP报文;
S409:流媒体数据封装设备向客户端发送分段封装得到的每个所述目标格式的报文;
其中,需要说明的是,流媒体数据封装设备向客户端发送分段封装得到的每个目标格式的报文的方式,可以具体包括以下方式:
按照预先保存的发送参数,依次向所述客户端发送分段封装得到的每个所述目标格式的报文,其中,所述发送参数包括发送速率以及发送时间间隔;
需要说明的是,获取预先保存的发送参数之前,所述流媒体数据封装设备可以预先接收所述流媒体服务器发送的发送参数,并保存所述发送参数;
需要说明的是,可以在流媒体服务器通过套接字选项向流媒体数据封装设备发送配置参数的同时,向流媒体数据封装设备发送所述发送参数,作为示例而非限定,若源格式为TS文件或TS流,目标格式为TS/UDP,可以通过自定义的套接字选项或者已定义的套接字选项,向流媒体数据封装设备发送所述配置参数以及所述发送参数,例如,可以定义一个SOL_UDP层或SOL_SOCKET层的选项SO_MEDIA,同时定义配置参数数据结构以及发送参数数据结构,通过函数setsocketopt向所述流媒体数据封装设备发送所述配置参数以及所述发送参数;在另一种具体的实施方式中,对所述配置参数以及所述发送参数中每个需要配置的参数选项定义一个配置选项,使用函数setsockopt向流媒体数据封装设备发送所述配置参数以及发送参数,例如,发送参数包括两个参数选项,即发送速率以及发送时间间隔,对于发送参数则定义两个配置选项,分别对于发送速率以及发送时间间隔,配置参数的情况与此类似,在此不再赘述;
可选地,所述发送参数还可以包括缓存区大小,所述流媒体数据封装设备按照所述缓存区大小设置缓存。
本发明实施例提供的方法实施例,应用层流媒体数据块中数据包的数目大于一个目标格式的报文能够包含的源格式的数据包的最大整数数目,减少了流媒体服务器与流媒体数据封装设备之间通信的次数,降低了流媒体服务器的处理负荷;其次,流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块,由流媒体数据封装设备对应用层流媒体数据块进行封装,进一步降低了流媒体服务器的处理负荷;另外,流媒体数据封装设备根据应用层流媒体数据块的源格式以及目标格式,对应用层流媒体数据块进行分段封装,使得流媒体数据封装设备可以自适应地对各种类型的应用层流媒体数据块进行封装;再次,通过在应用层流媒体数据块中携带源格式标识以及目标格式标识,使得流媒体数据封装设备可以同时处理多种类型的应用层流媒体数据块;此外,通过预先保存的配置参数获知应用层流媒体数据块的源格式以及目标格式,可以进一步降低流媒体服务器与流媒体数据封装设备之间的通信开销,节省网络带宽;进一步地,流媒体数据封装设备封装的目标格式的报文包含整数个源格式的数据包,简化了封装处理的复杂度;再进一步地,流媒体数据封装设备按照目标格式的报文能够包含的源格式的数据包的最大整数数目,将应用层流媒体数据块中的数据包进行分段,使得封装后的每一个目标格式的报文包含最多的数据包,减少了流媒体数据封装设备与客户端之间的通信次数,降低了流媒体数据封装设备的处理负荷;除此之外,流媒体服务器根据流媒体业务的实时性,确定应用层流媒体数据块中数据包的数目,保证了流媒体数据播放的连续性,提升了用户体验;并且,应用层流媒体数据块中数据包的数目为上述最大整数数目的整数倍,便于流媒体数据封装设备对应用层流媒体数据块进行分段封装处理,简化了封装处理的复杂度;最后,流媒体数据封装设备根据预先保存的发送参数向客户端发送目标格式的报文,使得流媒体数据封装设备可以自适应地向客户端发送目标格式的报文,从而保证能够满足业务的需求。
如图5所示,为本发明实施例提供的一种流媒体数据处理系统,包括流媒体服务器501,流媒体数据封装设备502,其中,
所述流媒体服务器501,用于确定应用层流媒体数据的源格式以及目标格式,根据所述源格式以及所述目标格式,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目后,向所述流媒体数据封装设备502发送应用层流媒体数据块,其中,所述应用层流媒体数据块中数据包的数目大于所述最大整数数目;
所述流媒体数据封装设备502,用于接收所述流媒体服务器501发送的应用层流媒体数据块,确定所述应用层流媒体数据块的源格式以及目标格式,根据所述源格式确定所述应用层流媒体数据块中每个数据包的大小,根据所述每个数据包的大小以及所述最大整数数目,将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文,其中,分段封装后的每个所述目标格式的报文包含整数个所述源格式的数据包。
本发明实施例提供的一种流媒体数据处理系统,应用层流媒体数据块中数据包的数目大于一个目标格式的报文能够包含的源格式的数据包的最大整数数目,减少了流媒体服务器与流媒体数据封装设备之间通信的次数,降低了流媒体服务器的处理负荷;其次,流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块,由流媒体数据封装设备对应用层流媒体数据块进行分段封装处理,进一步降低了流媒体服务器的处理负荷。
如图6所示,为本发明实施例提供的一种流媒体服务器,所述流媒体服务器可以应用于上述的流媒体数据处理系统,所述流媒体服务器包括:
确定器601,用于确定应用层流媒体数据的源格式以及目标格式;
所述确定器601还用于根据所述源格式以及所述目标格式,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
发送器602,用于向流媒体数据封装设备发送应用层流媒体数据块,其中,所述应用层流媒体数据块中数据包的数目大于所述确定器601确定的最大整数数目。
其中,需要说明的是,所述确定器601还用于根据流媒体业务的实时性,确定所述应用层流媒体数据块中数据包的数目。
需要进一步说明的是,所述确定器601具体用于根据流媒体数据的平均播放速率以及发送所述应用层流媒体数据块的发送时间间隔,确定所述应用层流媒体数据块中数据包的数目。
需要说明的是,所述发送器602还用于向所述流媒体数据封装设备发送配置参数,所述配置参数包括源格式标识以及目标格式标识,使得所述流媒体数据封装设备根据所述配置参数将所述应用层流媒体数据块分段封装成至少两个所述目标格式的报文。
需要说明的是,所述发送器602还用于向所述流媒体数据封装设备发送发送参数,所述发送参数包括发送速率以及发送时间间隔,使得所述流媒体数据封装设备根据所述发送参数,依次向客户端发送分段封装得到的每个所述目标格式的报文。
需要说明的是,所述确定器601还用于根据所述最大整数数目,确定每次读取应用层流媒体数据的读数据包数目;
则,所述服务器还包括:
数据读取器,用于按照所述确定器602确定的读数据包数目,读取应用层流媒体数据。
需要说明的是,所述确定器601确定的读数据包数目可以大于所述最大整数数目。
本发明实施例提供的一种流媒体服务器,发送器向流媒体数据封装设备发送的应用层流媒体数据块中数据包的数目大于一个目标格式的报文能够包含的源格式的数据包的最大整数数目,减少了流媒体服务器与流媒体数据封装设备之间通信的次数,降低了流媒体服务器的处理负荷;其次,发送器向流媒体数据封装设备发送应用层流媒体数据块,由流媒体数据封装设备对应用层流媒体数据块进行分段封装处理,进一步降低了流媒体服务器的处理负荷;另外,确定器根据流媒体业务的实时性,确定应用层流媒体数据块中数据包的数目,保证了流媒体数据播放的连续性,提升了用户体验。
如图7所示,为本发明实施例提供的一种流媒体数据封装设备,所述流媒体数据封装设备可以应用于上述的流媒体数据处理系统,所述流媒体数据封装设备包括:
接收器701,用于接收流媒体服务器发送的应用层流媒体数据块;
确定器702,用于确定所述接收器701接收到的应用层流媒体数据块的源格式以及目标格式,其中,所述接收器接收到的应用层流媒体数据块中数据包的数目大于一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
所述确定器702还用于根据所述源格式确定每个数据包的大小;
分段封装器703,用于根据所述确定器702确定的每个数据包的大小以及所述最大整数数目,将所述接收器701接收到的应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文,其中,分段封装后的每个所述目标格式的报文包含整数个所述源格式的数据包。
其中,需要说明的是,所述分段封装器703包括:
分段器,用于根据所述确定器702确定的每个数据包的大小以及所述最大整数数目,将所述应用层流媒体数据块中的数据包分为至少两个分段,其中,每个分段包含的数据包的数目为整数且不大于所述最大整数数目;
封装器,用于将所述分段器分段得到的至少两个分段分别封装成所述目标格式的报文。
需要说明的是,所述分段器具体用于按照所述最大整数数目,将所述应用层流媒体数据块中的数据包分为至少两个分段。
需要说明的是,所述接收器701具体用于接收所述流媒体服务器发送的应用层流媒体数据块,所述应用层流媒体数据块中数据包的数目为所述最大整数数目的整数倍。
需要进一步说明的是,所述接收器701具体用于接收所述流媒体服务器发送的应用层流媒体数据块,其中,所述流媒体服务器根据业务的实时性,确定所述应用层流媒体数据块中数据包的数目,其中一种具体的实施方式中,所述流媒体服务根据流媒体数据的平均播放速率以及发送所述应用层流媒体数据块的发送时间间隔,确定所述应用层流媒体数据块中数据包的数目。
需要说明的是,所述确定器702具体用于根据所述接收器701接收到的应用层流媒体数据块携带的源格式标识以及目标格式标识,确定所述应用层流媒体数据块的源格式以及目标格式。
需要说明的是,所述确定器702还可以具体用于根据预先保存的配置参数,确定所述接收器701接收到的应用层流媒体数据块的源格式以及目标格式,其中,所述配置参数包括所述应用层流媒体数据块的源格式标识以及目标格式标识。
需要进一步说明的是,所述接收器701还用于预先接收所述流媒体服务器发送的的配置参数;
则,所述设备还包括:
第一存储器,用于保存所述接收器701接收到的配置参数。
需要说明的是,所述设备还包括:
发送器,用于向客户端发送所述分段封装器703封装得到的每个目标格式的报文。
需要说明的是,所述发送器具体用于按照预先保存的发送参数,依次向所述客户端发送所述分段封装器703封装得到的每个目标格式的报文,其中,所述发送参数包括发送速率以及发送时间间隔。
需要进一步说明的是,所述接收器701还用于预先接收所述流媒体服务器发送的发送参数;
则,所述设备还包括:
第二存储器,用于保存所述接收器701接收到的发送参数。
本发明实施例提供的一种流媒体数据处理方法、装置及系统,应用层流媒体数据块中数据包的数目大于一个目标格式的报文能够包含的源格式的数据包的最大整数数目,减少了流媒体服务器与流媒体数据封装设备之间通信的次数,降低了流媒体服务器的处理负荷;其次,流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块,由流媒体数据封装设备对应用层流媒体数据块进行封装,进一步降低了流媒体服务器的处理负荷;另外,流媒体数据封装设备根据应用层流媒体数据块的源格式以及目标格式,对应用层流媒体数据块进行分段封装,使得流媒体数据封装设备可以自适应地对各种类型的应用层流媒体数据块进行封装;再次,通过在应用层流媒体数据块中携带源格式标识以及目标格式标识,使得流媒体数据封装设备可以同时处理多种类型的应用层流媒体数据块;此外,通过预先保存的配置参数获知应用层流媒体数据块的源格式以及目标格式,可以进一步降低流媒体服务器与流媒体数据封装设备之间的通信开销,节省网络带宽;进一步地,流媒体数据封装设备封装的目标格式的报文包含整数个源格式的数据包,简化了封装处理的复杂度;再进一步地,流媒体数据封装设备按照目标格式的报文能够包含的源格式的数据包的最大整数数目,将应用层流媒体数据块中的数据包进行分段,使得封装后的每一个目标格式的报文包含最多的数据包,减少了流媒体数据封装设备与客户端之间的通信次数,降低了流媒体数据封装设备的处理负荷;除此之外,应用层流媒体数据块中数据包的数目为上述最大整数数目的整数倍,便于流媒体数据封装设备对应用层流媒体数据块进行分段封装处理,简化了封装处理的复杂度;并且,流媒体服务器根据流媒体业务的实时性,确定应用层流媒体数据块中数据包的数目,保证了流媒体数据播放的连续性,提升了用户体验;进一步地,流媒体服务器根据根据流媒体数据的平均播放速率以及发送所述应用层流媒体数据块的发送时间间隔,向流媒体数据封装设备发送应用层流媒体数据块,使得能够满足实时业务的需求;最后,流媒体数据封装设备根据预先保存的发送参数向客户端发送目标格式的报文,使得流媒体数据封装设备可以自适应地向客户端发送目标格式的报文,从而保证能够满足业务的需求。
通过以上实施方式的描述,本领域技术人员可以清楚地了解到各实施方式可以借助软件加必需的通用硬件平台的方式来实现,也可以通过专门的硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁盘、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,网络设备,或者各种手持终端)执行各个实施例或者实施例的某些部分所述的方法。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (30)

1.一种流媒体数据处理方法,其特征在于,包括:
流媒体服务器确定应用层流媒体数据的源格式以及目标格式;
所述流媒体服务器根据所述源格式以及所述目标格式,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
所述流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块,其中,所述应用层流媒体数据块中数据包的数目大于所述最大整数数目。
2.如权利要求1所述的方法,其特征在于,还包括:
所述流媒体服务器根据流媒体业务的实时性,确定所述应用层流媒体数据块中数据包的数目。
3.如权利要求2所述的方法,其特征在于,所述流媒体服务器根据流媒体业务的实时性,确定所述应用层流媒体数据块中数据包的数目,包括:
所述流媒体服务器根据流媒体数据的平均播放速率以及发送所述应用层流媒体数据块的发送时间间隔,确定所述应用层流媒体数据块中数据包的数目。
4.如权利要求1至3中任意一项权利要求所述的方法,其特征在于,所述应用层流媒体数据块中数据包的数目为所述最大整数数目的整数倍。
5.如权利要求1至3中任意一项权利要求所述的方法,其特征在于,还包括:
所述流媒体服务器向所述流媒体数据封装设备发送配置参数,所述配置参数包括源格式标识以及目标格式标识,使得所述流媒体数据封装设备根据所述配置参数将所述应用层流媒体数据块分段封装成至少两个所述目标格式的报文。
6.如权利要求5所述的方法,其其特征在于,还包括:
所述流媒体服务器向所述流媒体数据封装设备发送发送参数,所述发送参数包括发送速率以及发送时间间隔,使得所述流媒体数据封装设备根据所述发送参数,依次向客户端发送分段封装得到的每个所述目标格式的报文。
7.一种流媒体数据处理方法,其特征在于,包括:
接收流媒体服务器发送的应用层流媒体数据块;
确定所述应用层流媒体数据块的源格式以及目标格式,其中,所述应用层流媒体数据块中数据包的数目大于一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
根据所述源格式确定所述应用层流媒体数据块中每个数据包的大小,根据所述每个数据包的大小以及所述最大整数数目,将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文,其中,分段封装后的每个所述目标格式的报文包含整数个所述源格式的数据包。
8.如权利要求7所述的方法,其特征在于,所述将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式报文,包括:
将所述应用层流媒体数据块中的数据包分为至少两个分段,其中,每个分段包含的数据包的数目为整数且不大于所述最大整数数目;
将所述至少两个分段分别封装成所述目标格式的报文。
9.如权利要求8所述的方法,其特征在于,所述将所述应用层流媒体数据块中的数据包分为至少两个分段,包括:
按照所述最大整数数目,将所述应用层流媒体数据块中的数据包分为至少两个分段。
10.如权利要求7至9中任意一项权利要求所述的方法,其特征在于,所述应用层流媒体数据块携带源格式标识以及目标格式标识;
则,所述确定所述应用层流媒体数据块的源格式以及目标格式,包括:
根据所述应用层流媒体数据块携带的源格式标识以及目标格式标识,确定所述应用层流媒体数据块的源格式以及目标格式。
11.如权利要求7至9中任意一项权利要求所述的方法,其特征在于,所述确定所述应用层流媒体数据块的源格式以及目标格式,包括:
根据预先保存的配置参数,确定所述应用层流媒体数据块的源格式以及目标格式,其中,所述配置参数包括所述应用层流媒体数据块的源格式标识以及目标格式标识。
12.如权利要求11所述的方法,其特征在于,还包括:
预先接收所述流媒体服务器发送的所述配置参数;
保存所述配置参数。
13.如权利要求7至9中任意一项权利要求所述的方法,其特征在于,所述将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文之后,还包括:
向客户端发送分段封装得到的每个所述目标格式的报文。
14.如权利要求13所述的方法,其特征在于,所述向所述客户端发送分段封装得到的每个所述目标格式的报文,包括:
按照预先保存的发送参数,依次向所述客户端发送分段封装得到的每个所述目标格式的报文,其中,所述发送参数包括发送速率以及发送时间间隔。
15.如权利要求14所述的方法,其特征在于,还包括:
预先接收所述流媒体服务器发送的发送参数;
保存所述发送参数。
16.一种流媒体服务器,其特征在于,包括:
确定器,用于确定应用层流媒体数据的源格式以及目标格式;
所述确定器还用于根据所述源格式以及所述目标格式,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
发送器,用于向流媒体数据封装设备发送应用层流媒体数据块,其中,所述应用层流媒体数据块中数据包的数目大于所述确定器确定的最大整数数目。
17.如权利要求16所述的服务器,其特征在于,所述确定器还用于根据流媒体业务的实时性,确定所述应用层流媒体数据块中数据包的数目。
18.如权利要求17所述的服务器,其特征在于,所述确定器具体用于根据流媒体数据的平均播放速率以及发送所述应用层流媒体数据块的发送时间间隔,确定所述应用层流媒体数据块中数据包的数目。
19.如权利要求16至18中任意一项权利要求所述的服务器,其特征在于,所述发送器还用于向所述流媒体数据封装设备发送配置参数,所述配置参数包括源格式标识以及目标格式标识,使得所述流媒体数据封装设备根据所述配置参数,将所述应用层流媒体数据块分段封装成至少两个所述目标格式的报文。
20.如权利要求16至18中任意一项权利要求所述的服务器,其特征在于,所述发送器还用于向所述流媒体数据封装设备发送发送参数,所述发送参数包括发送速率以及发送时间间隔,使得所述流媒体数据封装设备根据所述发送参数,依次向客户端发送分段封装得到的每个所述目标格式的报文。
21.一种流媒体数据封装设备,其特征在于,包括:
接收器,用于接收流媒体服务器发送的应用层流媒体数据块;
确定器,用于确定所述接收器接收到的应用层流媒体数据块的源格式以及目标格式,其中,所述接收器接收到的应用层流媒体数据块中数据包的数目大于一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目;
所述确定器还用于根据所述源格式确定每个数据包的大小;
分段封装器,用于根据所述确定器确定的每个数据包的大小以及所述最大整数数目,将所述接收器接收到的应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文,其中,分段封装后的每个所述目标格式的报文包含整数个所述源格式的数据包。
22.如权利要求21所述的设备,其特征在于,所述分段封装器包括:
分段器,用于根据所述确定器确定的每个数据包的大小以及所述最大整数数目,将所述应用层流媒体数据块中的数据包分为至少两个分段,其中,每个分段包含的数据包的数目为整数且不大于所述最大整数数目;
封装器,用于将所述分段器分段得到的至少两个分段分别封装成所述目标格式的报文。
23.如权利要求22所述的设备,其特征在于,所述分段器具体用于按照所述最大整数数目,将所述应用层流媒体数据块中的数据包分为至少两个分段。
24.如权利要求21至23中任意一项权利要求所述的设备,其特征在于,所述确定器具体用于根据所述接收器接收到的应用层流媒体数据块携带的源格式标识以及目标格式标识,确定所述应用层流媒体数据块的源格式以及目标格式。
25.如权利要求21至23中任意一项权利要求所述的设备,其特征在于,所述确定器具体用于根据预先保存的配置参数,确定所述接收器接收到的应用层流媒体数据块的源格式以及目标格式,其中,所述配置参数包括所述应用层流媒体数据块的源格式标识以及目标格式标识。
26.如权利要求25所述的设备,其特征在于,所述接收器还用于预先接收所述流媒体服务器发送的配置参数;
则,所述设备还包括:
第一存储器,用于保存所述接收器接收到的配置参数。
27.如权利要求21至23中任意一项权利要求所述的设备,其特征在于,还包括:
发送器,用于向客户端发送所述分段封装器封装得到的每个目标格式的报文。
28.如权利要求27所述的设备,其特征在于,所述发送器具体用于按照预先保存的发送参数,依次向所述客户端发送所述分段封装器封装得到的每个目标格式的报文,其中,所述发送参数包括发送速率以及发送时间间隔。
29.如权利要求28所述的设备,其特征在于,所述接收器还用于预先接收所述流媒体服务器发送的发送参数;
则,所述设备还包括:
第二存储器,用于保存所述接收器接收到的发送参数。
30.一种流媒体数据处理系统,其特征在,包括:流媒体服务器,流媒体数据封装设备,其中,
所述流媒体服务器,用于确定应用层流媒体数据的源格式以及目标格式,根据所述源格式以及目标格式,确定一个所述目标格式的报文能够包含的所述源格式的数据包的最大整数数目后,向所述流媒体数据封装设备发送应用层流媒体数据块,其中,所述应用层流媒体数据块中数据包的数目大于所述最大整数数目;
所述流媒体数据封装设备,用于接收所述流媒体服务器发送的应用层流媒体数据块,确定所述应用层流媒体数据块的源格式以及目标格式,根据所述源格式确定所述应用层流媒体数据块中每个数据包的大小,根据所述每个数据包的大小以及所述最大整数数目,将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目标格式的报文,其中,分段封装后的每个所述目标格式的报文包含整数个所述源格式的数据包。
CN201180003146.6A 2011-12-31 2011-12-31 一种流媒体数据处理方法、装置及系统 Expired - Fee Related CN103503401B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/085138 WO2013097218A1 (zh) 2011-12-31 2011-12-31 一种流媒体数据处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN103503401A CN103503401A (zh) 2014-01-08
CN103503401B true CN103503401B (zh) 2016-03-30

Family

ID=48696274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180003146.6A Expired - Fee Related CN103503401B (zh) 2011-12-31 2011-12-31 一种流媒体数据处理方法、装置及系统

Country Status (3)

Country Link
US (1) US20140112354A1 (zh)
CN (1) CN103503401B (zh)
WO (1) WO2013097218A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9137216B2 (en) * 2013-08-13 2015-09-15 Verizon Patent And Licensing Inc. Session layer data security
CN104079949B (zh) * 2014-06-26 2017-06-16 北京世纪鼎点软件有限公司 面向多屏的场景自适应的数据封装方法和装置及系统
DE102015208948A1 (de) * 2015-05-13 2016-11-17 Sivantos Pte. Ltd. Verfahren zur Übertragung digitaler Datenpakete von einem Sender zu einem in einem Mobilgerät angeordneten Empfänger
US9986010B2 (en) * 2015-09-29 2018-05-29 Sensormatic Electronics, LLC System and method for controlling video and/or audio streams in a web browser
CN111246290B (zh) * 2018-11-29 2022-07-05 中国电信股份有限公司 图像接收处理方法和装置
CN113037532A (zh) * 2019-12-25 2021-06-25 中兴通讯股份有限公司 一种流媒体码流探测方法、装置、服务器和可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080023902A (ko) * 2006-09-12 2008-03-17 삼성전자주식회사 지상파 디지털 멀티미디어 방송 서비스의 인터넷 프로토콜패킷 재전송 장치
CN101146212A (zh) * 2006-09-11 2008-03-19 思华科技(上海)有限公司 视频点播网络的流媒体封包解包方法及系统
EP2071850A1 (en) * 2007-12-10 2009-06-17 Alcatel Lucent Intelligent wrapping of video content to lighten downstream processing of video streams
CN101729887A (zh) * 2008-10-16 2010-06-09 国家广播电影电视总局广播科学研究院 一种数字广播系统的数据传输方法及装置
CN101888540A (zh) * 2009-05-13 2010-11-17 中兴通讯股份有限公司 一种在流媒体文件中承载ts流的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028643A1 (en) * 2001-03-13 2003-02-06 Dilithium Networks, Inc. Method and apparatus for transcoding video and speech signals
US7096272B1 (en) * 2001-11-20 2006-08-22 Cisco Technology, Inc. Methods and apparatus for pooling and depooling the transmission of stream data
US20120230390A1 (en) * 2011-03-08 2012-09-13 Gun Akkor Adaptive Control of Encoders for Continuous Data Streaming
US8521899B2 (en) * 2010-05-05 2013-08-27 Intel Corporation Multi-out media distribution system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146212A (zh) * 2006-09-11 2008-03-19 思华科技(上海)有限公司 视频点播网络的流媒体封包解包方法及系统
KR20080023902A (ko) * 2006-09-12 2008-03-17 삼성전자주식회사 지상파 디지털 멀티미디어 방송 서비스의 인터넷 프로토콜패킷 재전송 장치
EP2071850A1 (en) * 2007-12-10 2009-06-17 Alcatel Lucent Intelligent wrapping of video content to lighten downstream processing of video streams
CN101729887A (zh) * 2008-10-16 2010-06-09 国家广播电影电视总局广播科学研究院 一种数字广播系统的数据传输方法及装置
CN101888540A (zh) * 2009-05-13 2010-11-17 中兴通讯股份有限公司 一种在流媒体文件中承载ts流的方法及装置

Also Published As

Publication number Publication date
US20140112354A1 (en) 2014-04-24
CN103503401A (zh) 2014-01-08
WO2013097218A1 (zh) 2013-07-04

Similar Documents

Publication Publication Date Title
CN103503401B (zh) 一种流媒体数据处理方法、装置及系统
CN107079017B (zh) 一种报文转换方法及装置
CN108667739A (zh) 拥塞控制方法、装置及系统
CN102118292B (zh) 互联网协议多媒体子系统网络、数据传输方法和装置
CN104378308A (zh) 报文发送速率检测方法及装置
CN110943933A (zh) 一种实现数据传输的方法、装置和系统
US20200250129A1 (en) Rdma data sending and receiving methods, electronic device, and readable storage medium
CN105577566A (zh) 报文汇聚传输的方法、装置和系统
CN104378315B (zh) 一种capwap隧道数据包传输的方法及装置
CN109600248B (zh) 服务质量的确定方法、装置及存储介质
CN109120540A (zh) 传输报文的方法、代理服务器和计算机可读存储介质
CN104469822A (zh) 一种测试方法、基站及系统
CN112787902B (zh) 报文封装方法及装置、报文解封装方法及装置
CN110214439B (zh) 数据传输方法、装置、发送端、接收端及系统
CN107948217B (zh) 交换机系统和通信方法
CN104303471A (zh) 用于通过选择数据加速算法提供内容的方法和装置
WO2022042351A1 (zh) 接口数据的处理方法、发送端设备和接收端设备
CN112737967B (zh) 一种基于Flow Director实现IPv4 GRE报文负载均衡的方法
CN109995608A (zh) 网络速率计算方法和装置
CN102638391B (zh) 一种帧中继压缩报文传输的方法和设备
CN105072057A (zh) 一种用于网络数据传输的中间交换设备及网络通信系统
KR20120014572A (ko) 무선 네트워크들에서 다수의 프로토콜을 지원하기 위한 기술들
CN106550397A (zh) 用于传输无线数据的方法、装置及系统
CN109257772A (zh) 一种rtp数据的发送、接收方法及用户设备
CN112350957B (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180207

Address after: California, USA

Patentee after: Tanous Co.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Effective date of registration: 20180207

Address after: California, USA

Patentee after: Global innovation polymerization LLC

Address before: California, USA

Patentee before: Tanous Co.

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: 20160330

Termination date: 20211231