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

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

Info

Publication number
CN103503401A
CN103503401A CN201180003146.6A CN201180003146A CN103503401A CN 103503401 A CN103503401 A CN 103503401A CN 201180003146 A CN201180003146 A CN 201180003146A CN 103503401 A CN103503401 A CN 103503401A
Authority
CN
China
Prior art keywords
application
level flow
data block
media data
format
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
Application number
CN201180003146.6A
Other languages
English (en)
Other versions
CN103503401B (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

Abstract

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

Description

一种流媒体数据处理方法、 装置及系统 技术领域
本发明涉及通信技术领域, 尤其涉及一种流媒体数据处理方法、 装置及系 统。
背景技术
现有的 TS ( Transport Stream, 传输流 ) /UDP流媒体业务中, 在向网卡发 送流媒体数据时, 流媒体服务器需把流媒体数据封装成 UDP报文, 再把封装 好的 UDP报文发送给网卡。 TS/UDP流媒体业务中, 源内容为 TS流或 TS文 件,每个 TS包的长度为 188字节,为简化处理,流媒体服务器每次封装的 UDP 报文中流媒体净荷的长度为 188字节的整数倍。 由于 UDP头占 8个字节, 并 且以太网中 MTU ( Maximum Transmission Unit, 最大传输单元) 大小为 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/UDPUDP报文最多能够包含 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;
需要说明的是, 所述应用层流媒体数据块中数据包的数目为整数; 其中, 需要说明的是, 确定所述应用层流媒体数据块的源格式以及目标格 式的方式, 可以包括以下任一方式:
方式一: 应用层流媒体数据块携带源格式标识以及目标格式标识, 所述流 媒体数据封装设备根据所述应用层流媒体数据块携带的源格式标识以及目标 格式标识, 确定所述应用层流媒体数据块的源格式以及目标格式;
方式二: 根据预先保存的配置参数, 确定所述应用层流媒体数据块的源格 式以及目标格式, 其中, 所述配置参数包括所述应用层流媒体数据块的源格式 标 i只以及目标格式标 i只;
S303 : 根据所述源格式确定每个数据包的大小, 根据所述每个数据包的大 小以及所述最大整数数目, 将所述应用层流媒体数据块中的数据包分段封装成 至少两个所述目标格式的报文, 其中, 分段封装后的每个所述目标格式的报文 包含整数个所述源格式的数据包; 其中, 将所述应用层流媒体数据块中的数据包分段封装成至少两个所述目 标格式的报文的方式, 具体包括以下方式:
将所述应用层流媒体数据块中的数据包分为至少两个分段, 其中, 每个分 段包含的数据包的数目为整数且不大于所述最大整数数目; 将所述至少两个分 段分别封装成所述目标格式的报文;
例如, 源格式为 TS流或 TS文件, 目标格式为 TS/UDP, 则表明需把源格 式的 TS包封装成 TS格式的 UDP报文, 由于 TS包的大小为 188字节, MTU 的值为 1500字节, 因此, 一个 UDP报文最多能携带 7个 TS包, 可以按照不 大于 7个 TS包的分段方式对应用层流媒体数据块进行分段, 例如应用层流媒 体数据块包含 35个 TS包, 按每 5个 TS包分为一段的方式, 将该应用层流媒 体数据块分段封装成 7个 UDP报文, 每个 UDP报文的格式如下表所示:
又例如,源格式为 TS流或 TS文件,目标格式为 TS/RTP/UDPTS/RTP/UDP, 则表明需首先把多个源格式的 TS 包加上 RTP 头封装成 RTP ( Real-time Transport Protocol, 实时传输协议)格式的包, 再把 RTP格式的包加上 UDP 头封装成 UDP报文, 由于 TS包的大小为 188字节, UDP头占 8个字节, RTP 头占 12个字节, 因此, 一个 UDP报文最多能携带 7个 TS包, 可以按照不大 于 7个 TS 包的分段方式对应用层流媒体数据块进行分段, 例如按每 5个 TS 包分为一段的方式, 将分段后每个分段封装成 UDP报文, RTP格式的 UDP报 文与 TS格式的 UDP报文不同之处在于多了一个 RTP头, 如下表所示:
需要说明的是, 对于其他的目标格式, 可以采用类似的方式扩展流媒体数 据封装设备相应的功能, 作为示例而非限定, 源格式为 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 包, 所述流媒体服务器发送的应用层流媒体数据块中数据包的数目为 Ί的 整数倍, 例如所述流媒体服务器发送的应用层流媒体数据块中数据包的数目为 1400 , 对于其他类型的源格式以及目标格式, 例如源格式为 H.264, 目标格式 为 H.264/RTP/ UDP,可采用类似方式扩展流媒体数据封装设备相应的功能,在 此不再赘述;
可选地, 在流媒体数据封装设备的緩存允许时, 在向流媒体数据封装设备 发送应用层流媒体数据块的过程中, 流媒体服务器可以尽可能多地增加一次性 向流媒体数据封装设备发送数据包的数目, 以减少流媒体服务器和流媒体数据 封装设备通信的次数, 进一步减轻流媒体服务器的处理负荷;
需要说明的是, 若流媒体服务器读取的数据包的数目不足所述最大整数数 目, 则按照实际读取的数据包数目, 向流媒体数据封装设备发送应用层流媒体 数据块;
优选地, 所述读数据包数目可以大于或等于所述最大整数数目;
其中, 需要指出的是, 本发明实施例并不限定流媒体服务器向流媒体数据 封装设备发送应用层流媒体数据块的具体方式, 作为示例而非限定, 流媒体服 务器可以通过自定义一个新的套接字结构类型, 在该结构中包含应用层流媒体 数据块的源格式标识、 目标格式标识以及净荷等, 如下表所示:
15 16 23 24 31
ST DT R R
Block_SN
TimeStamp
Length
Payload
其中, ST为源格式标识, 用于表示应用层流媒体数据块的源格式, 标识 DT为目标格式标识, 用于表示应用层流媒体数据块的目标格式, Block— SN为 应用层流媒体数据块的块序号, TimeStamp 为时间戳, 由于 Block— SN值和 TimeStamp值是有规律的, 其中, TimeStamp初始值为随机值, 只要得到该随 机值就可以对应用层流媒体数据块进行处理, Length为净荷长度, Payload为 净荷, 例如, 对于源格式为 TS流或 TS文件的应用层流媒体数据块, 对于第一 个应用层流媒体数据块, ST=1 , DT=1 , Block-SN=l , Timestam 为初始随机 值, Length=1400, 表示 Payload中包含 1400个 TS包;
需要说明的是, 流媒体服务器还可以利用已定义的套接字结构类型, 将应 用层流媒体数据块发送到流媒体数据封装设备;
需要进一步说明的是, 若所述流媒体数据封装设备没有打开分段封装功 能, 所述流媒体服务器指示所述流媒体数据封装设备打开分段封装功能, 以便 所述流媒体数据封装设备对所述流媒体服务器发送的流媒体数据块进行分段 封装;
S406: 流媒体数据封装设备确定所述应用层流媒体数据块的源格式以及目 标格式;
其中, 需要说明的是, 确定所述应用层流媒体数据块的源格式以及目标格 式的方式, 可以包括以下任一方式:
方式一: 所述应用层流媒体数据块携带源格式标识以及目标格式标识, 所 述流媒体数据封装设备根据所述应用层流媒体数据块携带的源格式标识以及 目标格式标识, 确定所述应用层流媒体数据块的源格式以及目标格式, 例如, 在上述自定义的套接字结构类型中, 通过 ST标识以及 DT标识, 确定应用层 流媒体数据块的源格式以及目标格式;
方式二: 根据预先保存的配置参数, 确定所述应用层流媒体数据块的源格 式以及目标格式, 其中, 所述配置参数包括所述应用层流媒体数据块的源格式 标 i只以及目标格式标 i只;
其中, 需要说明的是, 在获取预先保存的配置参数之前, 所述流媒体数据 封装设备可以预先接收所述流媒体服务器发送的配置参数, 并保存所述配置参 数, 以便流媒体数据封装设备接收到流媒体服务器发送的应用层流媒体数据块 时, 根据预先保存的配置参数确定应用层流媒体数据块的源格式以及目标格 式;
需要说明的是, 流媒体服务器可以根据自定义的套接字 (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— Η.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报文的格式如下表所示:
又例如,源格式为 TS流或 TS文件,目标格式为 TS/RTP/UDPTS/RTP/UDP, 则表明需首先把多个源格式的 TS 包加上 RTP 头封装成 RTP ( Real-time Transport Protocol, 实时传输协议)格式的包, 再把 RTP格式的包加上 UDP 头封装成 UDP报文, 由于 TS包的大小为 188字节, UDP头占 8个字节, RTP 头占 12个字节, 因此, 一个 UDP报文最多能携带 7个 TS包, 可以按照不大 于 7个 TS 包的分段方式对应用层流媒体数据块进行分段, 例如按每 5个 TS 包分为一段的方式, 将分段后每个分段封装成 UDP报文, RTP格式的 UDP报 文与 TS格式的 UDP报文不同之处在于多了一个 RTP头, 如下表所示:
需要说明的是, 对于其他的目标格式, 可以采用类似的方式扩展流媒体数 据封装设备相应的功能, 作为示例而非限定, 源格式为 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还用于根据所述最大整数数目, 确定每次 读取应用层流媒体数据的读数据包数目;
贝' J , 所述服务器还包括:
数据读取器, 用于按照所述确定器 602确定的读数据包数目, 读取应用层 流媒体数据。
需要说明的是, 所述确定器 601确定的读数据包数目可以大于所述最大整 数数目。
本发明实施例提供的一种流媒体服务器, 发送器向流媒体数据封装设备发 送的应用层流媒体数据块中数据包的数目大于一个目标格式的报文能够包含 的源格式的数据包的最大整数数目, 减少了流媒体服务器与流媒体数据封装设 备之间通信的次数, 降低了流媒体服务器的处理负荷; 其次, 发送器向流媒体 数据封装设备发送应用层流媒体数据块, 由流媒体数据封装设备对应用层流媒 体数据块进行分段封装处理, 进一步降低了流媒体服务器的处理负荷; 另外, 确定器根据流媒体业务的实时性, 确定应用层流媒体数据块中数据包的数目, 保证了流媒体数据播放的连续性, 提升了用户体验。 如图 7所示, 为本发明实施例提供的一种流媒体数据封装设备, 所述流媒 体数据封装设备可以应用于上述的流媒体数据处理系统, 所述流媒体数据封装 设备包括:
接收器 701 , 用于接收流媒体服务器发送的应用层流媒体数据块; 确定器 702, 用于确定所述接收器 701接收到的应用层流媒体数据块的源 格式以及目标格式, 其中, 所述接收器接收到的应用层流媒体数据块中数据包 的数目大于一个所述目标格式的报文能够包含的所述源格式的数据包的最大 整数数目;
所述确定器 702还用于根据所述源格式确定每个数据包的大小; 分段封装器 703 , 用于根据所述确定器 702确定的每个数据包的大小以及 所述最大整数数目, 将所述接收器 701接收到的应用层流媒体数据块中的数据 包分段封装成至少两个所述目标格式的报文, 其中, 分段封装后的每个所述目 标格式的报文包含整数个所述源格式的数据包。
其中, 需要说明的是, 所述分段封装器 703包括:
分段器, 用于根据所述确定器 702确定的每个数据包的大小以及所述最大 整数数目, 将所述应用层流媒体数据块中的数据包分为至少两个分段, 其中, 每个分段包含的数据包的数目为整数且不大于所述最大整数数目;
封装器, 用于将所述分段器分段得到的至少两个分段分别封装成所述目标 格式的报文。
需要说明的是, 所述分段器具体用于按照所述最大整数数目, 将所述应用 层流媒体数据块中的数据包分为至少两个分段。
需要说明的是, 所述接收器 701具体用于接收所述流媒体服务器发送的应 用层流媒体数据块, 所述应用层流媒体数据块中数据包的数目为所述最大整数 数目的整数倍。
需要进一步说明的是, 所述接收器 701具体用于接收所述流媒体服务器发 送的应用层流媒体数据块, 其中, 所述流媒体服务器根据业务的实时性, 确定 所述应用层流媒体数据块中数据包的数目, 其中一种具体的实施方式中, 所述 流媒体服务根据流媒体数据的平均播放速率以及发送所述应用层流媒体数据 块的发送时间间隔, 确定所述应用层流媒体数据块中数据包的数目。
需要说明的是, 所述确定器 702具体用于根据所述接收器 701接收到的应 用层流媒体数据块携带的源格式标识以及目标格式标识, 确定所述应用层流媒 体数据块的源格式以及目标格式。
需要说明的是,所述确定器 702还可以具体用于根据预先保存的配置参数, 确定所述接收器 701接收到的应用层流媒体数据块的源格式以及目标格式, 其 中, 所述配置参数包括所述应用层流媒体数据块的源格式标识以及目标格式标 识。
需要进一步说明的是, 所述接收器 701还用于预先接收所述流媒体服务器 发送的的配置参数;
贝' J , 所述设备还包括:
第一存储器, 用于保存所述接收器 701接收到的配置参数。
需要说明的是, 所述设备还包括:
发送器, 用于向客户端发送所述分段封装器 703封装得到的每个目标格式 的报文。
需要说明的是, 所述发送器具体用于按照预先保存的发送参数, 依次向所 述客户端发送所述分段封装器 703封装得到的每个目标格式的报文, 其中, 所 述发送参数包括发送速率以及发送时间间隔。
需要进一步说明的是, 所述接收器 701还用于预先接收所述流媒体服务器 贝' J , 所述设备还包括:
第二存储器, 用于保存所述接收器 701接收到的发送参数。
本发明实施例提供的一种流媒体数据处理方法、 装置及系统, 应用层流媒 体数据块中数据包的数目大于一个目标格式的报文能够包含的源格式的数据 包的最大整数数目, 减少了流媒体服务器与流媒体数据封装设备之间通信的次 数, 降低了流媒体服务器的处理负荷; 其次, 流媒体服务器向流媒体数据封装 设备发送应用层流媒体数据块, 由流媒体数据封装设备对应用层流媒体数据块 进行封装, 进一步降低了流媒体服务器的处理负荷; 另外, 流媒体数据封装设 备根据应用层流媒体数据块的源格式以及目标格式, 对应用层流媒体数据块进 行分段封装, 使得流媒体数据封装设备可以自适应地对各种类型的应用层流媒 体数据块进行封装; 再次, 通过在应用层流媒体数据块中携带源格式标识以及 目标格式标识, 使得流媒体数据封装设备可以同时处理多种类型的应用层流媒 体数据块; 此外, 通过预先保存的配置参数获知应用层流媒体数据块的源格式 以及目标格式, 可以进一步降低流媒体服务器与流媒体数据封装设备之间的通 信开销, 节省网络带宽; 进一步地, 流媒体数据封装设备封装的目标格式的报 文包含整数个源格式的数据包, 简化了封装处理的复杂度; 再进一步地, 流媒 体数据封装设备按照目标格式的报文能够包含的源格式的数据包的最大整数 数目, 将应用层流媒体数据块中的数据包进行分段, 使得封装后的每一个目标 格式的报文包含最多的数据包, 减少了流媒体数据封装设备与客户端之间的通 信次数, 降低了流媒体数据封装设备的处理负荷; 除此之外, 应用层流媒体数 据块中数据包的数目为上述最大整数数目的整数倍, 便于流媒体数据封装设备 对应用层流媒体数据块进行分段封装处理, 简化了封装处理的复杂度; 并且, 流媒体服务器根据流媒体业务的实时性, 确定应用层流媒体数据块中数据包的 数目, 保证了流媒体数据播放的连续性, 提升了用户体验; 进一步地, 流媒体 服务器根据根据流媒体数据的平均播放速率以及发送所述应用层流媒体数据 块的发送时间间隔, 向流媒体数据封装设备发送应用层流媒体数据块, 使得能 够满足实时业务的需求; 最后, 流媒体数据封装设备根据预先保存的发送参数 向客户端发送目标格式的报文, 使得流媒体数据封装设备可以自适应地向客户 端发送目标格式的报文, 从而保证能够满足业务的需求。
通过以上实施方式的描述, 本领域技术人员可以清楚地了解到各实施方式 可以借助软件加必需的通用硬件平台的方式来实现, 也可以通过专门的硬件来 实现。 基于这样的理解, 上述技术方案本质上或者说对现有技术做出贡献的部 分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在计算机可读 存储介质中, 如 ROM/RAM、 磁盘、 光盘等, 包括若干指令用以使得一台计算 机设备(可以是个人计算机, 服务器, 网络设备, 或者各种手持终端)执行各 个实施例或者实施例的某些部分所述的方法。
总之, 以上所述仅为本发明技术方案的较佳实施例而已, 并非用于限定本 发明的保护范围。凡在本发明的精神和原则之内, 所作的任何修改、等同替换、 改进等, 均应包含在本发明的保护范围之内。

Claims (1)

  1. 权 利 要 求 书
    1、 一种流媒体数据处理方法, 其特征在于, 包括:
    流媒体服务器确定应用层流媒体数据的源格式以及目标格式;
    所述流媒体服务器根据所述源格式以及所述目标格式, 确定一个所述目标 格式的报文能够包含的所述源格式的数据包的最大整数数目;
    所述流媒体服务器向流媒体数据封装设备发送应用层流媒体数据块, 其 中, 所述应用层流媒体数据块中数据包的数目大于所述最大整数数目。
    2、 如权利要求 1所述的方法, 其特征在于, 还包括:
    所述流媒体服务器根据流媒体业务的实时性, 确定所述应用层流媒体数据 块中数据包的数目。
    3、 如权利要求 2所述的方法, 其特征在于, 所述流媒体服务器根据流媒 体业务的实时性, 确定所述应用层流媒体数据块中数据包的数目, 包括: 所述流媒体服务器根据流媒体数据的平均播放速率以及发送所述应用层 流媒体数据块的发送时间间隔, 确定所述应用层流媒体数据块中数据包的数 目。
    4、 如权利要求 1至 3 中任意一项权利要求所述的方法, 其特征在于, 所 述应用层流媒体数据块中数据包的数目为所述最大整数数目的整数倍。
    5、 如权利要求 1至 3 中任意一项权利要求所述的方法, 其特征在于, 还 包括:
    所述流媒体服务器向所述流媒体数据封装设备发送配置参数, 所述配置参 数包括源格式标识以及目标格式标识, 使得所述流媒体数据封装设备根据所述 配置参数将所述应用层流媒体数据块分段封装成至少两个所述目标格式的报 文。
    6、 如权利要求 5所述的方法, 其其特征在于, 还包括:
    所述流媒体服务器向所述流媒体数据封装设备发送发送参数, 所述发送参 数包括发送速率以及发送时间间隔, 使得所述流媒体数据封装设备根据所述发 送参数, 依次向客户端发送分段封装得到的每个所述目标格式的报文。
    7、 一种流媒体数据处理方法, 其特征在于, 包括:
    接收流媒体服务器发送的应用层流媒体数据块;
    确定所述应用层流媒体数据块的源格式以及目标格式, 其中, 所述应用层 流媒体数据块中数据包的数目大于一个所述目标格式的报文能够包含的所述 源格式的数据包的最大整数数目;
    根据所述源格式确定所述应用层流媒体数据块中每个数据包的大小, 根据 所述每个数据包的大小以及所述最大整数数目, 将所述应用层流媒体数据块中 所述目标格式的报文包含整数个所述源格式的数据包。
    8、 如权利要求 Ί 所述的方法, 其特征在于, 所述将所述应用层流媒体数 据块中的数据包分段封装成至少两个所述目标格式报文, 包括:
    将所述应用层流媒体数据块中的数据包分为至少两个分段, 其中, 每个分 段包含的数据包的数目为整数且不大于所述最大整数数目;
    9、 如权利权要求 8 所述的方法, 其特征在于, 所述将所述应用层流媒体 数据块中的数据包分为至少两个分段, 包括:
    按照所述最大整数数目, 将所述应用层流媒体数据块中的数据包分为至少 两个分段。
    10、 如权利要求 7至 9中任意一项权利要求所述的方法, 其特征在于, 所 述应用层流媒体数据块携带源格式标识以及目标格式标识;
    贝' J , 所述确定所述应用层流媒体数据块的源格式以及目标格式, 包括: 根据所述应用层流媒体数据块携带的源格式标识以及目标格式标识, 确定 所述应用层流媒体数据块的源格式以及目标格式。 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 所述的设备, 其特征在于, 所述接收器还用于预先接 收所述流媒体服务器发送的配置参数;
    贝' J , 所述设备还包括:
    第一存储器, 用于保存所述接收器接收到的配置参数。
    27、 如权利要求 21至 23中任意一项权利要求所述的设备, 其特征在于, 还包括:
    发送器, 用于向客户端发送所述分段封装器封装得到的每个目标格式的报 文。
    28、 如权利要求 27 所述的设备, 其特征在于, 所述发送器具体用于按照 预先保存的发送参数, 依次向所述客户端发送所述分段封装器封装得到的每个 目标格式的报文, 其中, 所述发送参数包括发送速率以及发送时间间隔。
    29、 如权利要求 28 所述的设备, 其特征在于, 所述接收器还用于预先接 收所述流媒体服务器发送的发送参数;
    贝' J , 所述设备还包括:
    第二存储器, 用于保存所述接收器接收到的发送参数。
    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 true CN103503401A (zh) 2014-01-08
CN103503401B 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111246290A (zh) * 2018-11-29 2020-06-05 中国电信股份有限公司 图像接收处理方法和装置
CN113037532A (zh) * 2019-12-25 2021-06-25 中兴通讯股份有限公司 一种流媒体码流探测方法、装置、服务器和可读存储介质

Families Citing this family (4)

* 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

Citations (8)

* 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
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流的方法及装置
US20110276712A1 (en) * 2010-05-05 2011-11-10 Realnetworks, Inc. Multi-out media distribution system and method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120230390A1 (en) * 2011-03-08 2012-09-13 Gun Akkor Adaptive Control of Encoders for Continuous Data Streaming

Patent Citations (8)

* 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
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流的方法及装置
US20110276712A1 (en) * 2010-05-05 2011-11-10 Realnetworks, Inc. Multi-out media distribution system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111246290A (zh) * 2018-11-29 2020-06-05 中国电信股份有限公司 图像接收处理方法和装置
CN111246290B (zh) * 2018-11-29 2022-07-05 中国电信股份有限公司 图像接收处理方法和装置
CN113037532A (zh) * 2019-12-25 2021-06-25 中兴通讯股份有限公司 一种流媒体码流探测方法、装置、服务器和可读存储介质

Also Published As

Publication number Publication date
US20140112354A1 (en) 2014-04-24
CN103503401B (zh) 2016-03-30
WO2013097218A1 (zh) 2013-07-04

Similar Documents

Publication Publication Date Title
CN103503401A (zh) 一种流媒体数据处理方法、装置及系统
CN107079017B (zh) 一种报文转换方法及装置
CN109756536B (zh) 一种数据传输的方法、装置及系统
WO2016187813A1 (zh) 一种光电混合网络的数据传输方法及装置
EP2656556B1 (en) An improvement on ip fragmentation in gtp tunnel
CN101662418B (zh) 一种传输文件的检测方法及终端
CN103346963A (zh) 一种基于预测到达时间的mptcp数据调度方法
EP3413521B1 (en) Data packet sending method, data packet receiving method, data packet sending device and data packet receiving device
CN109120540B (zh) 传输报文的方法、代理服务器和计算机可读存储介质
CN104506287A (zh) 一种td-lte应急通信下的实时语音通信方法
CN109936492A (zh) 一种通过隧道传输报文的方法、装置和系统
CN109067796A (zh) 一种数据传输方法及装置
CN104378315A (zh) 一种capwap隧道数据包传输的方法及装置
CN107948217B (zh) 交换机系统和通信方法
CN112787902A (zh) 报文封装方法及装置、报文解封装方法及装置
CN103442015A (zh) 一种基于linux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法及系统
CN109600248A (zh) 服务质量的确定方法、装置及存储介质
CN104052741B (zh) 一种IPv6数据流的传输方法及装置
CN103313045A (zh) 宽带多媒体集群系统调度台h.264视频分包方法
CN103973774B (zh) 一种基于数据链路层协议的高速网络存储方法
CN102638391B (zh) 一种帧中继压缩报文传输的方法和设备
CN104283647A (zh) 基于空中接口的数据传输方法、装置和网络通信设备
KR20120014572A (ko) 무선 네트워크들에서 다수의 프로토콜을 지원하기 위한 기술들
WO2017008401A1 (zh) 一种协议帧传输方法、装置、节点设备以及系统
CN102469011B (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

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.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160330

Termination date: 20211231

CF01 Termination of patent right due to non-payment of annual fee