CN110868373A - 多媒体数据传输方法、装置及计算机可读存储介质 - Google Patents
多媒体数据传输方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110868373A CN110868373A CN201810984050.6A CN201810984050A CN110868373A CN 110868373 A CN110868373 A CN 110868373A CN 201810984050 A CN201810984050 A CN 201810984050A CN 110868373 A CN110868373 A CN 110868373A
- Authority
- CN
- China
- Prior art keywords
- data
- multimedia data
- frame loss
- network state
- network
- 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
Images
Classifications
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0023—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
- H04L1/0026—Transmission of channel quality indication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- 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/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
Abstract
本发明实施例提出一种多媒体数据传输方法、装置及计算机可读存储介质,涉及多媒体技术领域。所述方法包括:获取与接收端之间网络连接的网络状态数据;基于所述网络状态数据,确定传输多媒体数据的传输控制参数,所述传输控制参数包括数据包封装格式;基于所述传输控制参数,向所述接收端发送多媒体数据。本发明实施例能够充分利用通信网络的性能,提高传输质量和传输效率。
Description
技术领域
本发明涉及多媒体技术领域,具体而言,涉及一种多媒体数据传输方法、装置及计算机可读存储介质。
背景技术
随着多媒体技术的发展,监控、直播以及视频点播等多种多媒体业务已经逐渐发展壮大,为用户的生活和生产带来了极大的便利。为了多媒体业务的稳定执行,亟需一种多媒体数据传输方法。
现有技术中,可以在组建用于传输多媒体数据的通信网络时,确定该通信网络中多媒体数据的数据包封装格式为TS(TransportStream,传输流)码流格式或PS(ProgramStream,传输流)码流格式,之后,在该通信网络中,多媒体数据的发送端均会按照事先确定的数据包封装格式传输多媒体数据。
但由于多媒体数据的数据包封装格式是在组网时确定的,而通信网络的网络状态是千差万别的,因此,现有技术中传输多媒体数据的方式难以适应不同网络状态的通信网络,难以充分利用通信网络的传输性能,传输质量和传输效率难以保证。
发明内容
本发明实施例的目的在于提供一种多媒体数据传输方法、装置及计算机可读存储介质,以在传输多媒体数据的过程中,充分利用通信网络的性能,提高传输质量和传输效率。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提出一种多媒体数据传输方法,所述方法包括:
获取与接收端之间网络连接的网络状态数据;
基于所述网络状态数据,确定传输多媒体数据的传输控制参数,所述传输控制参数包括数据包封装格式;
基于所述传输控制参数,向所述接收端发送多媒体数据。
可选地,所述基于所述网络状态数据,确定传输多媒体数据的传输控制参数包括:
若所述网络状态数据大于第一网络状态数据阈值,则确定所述数据包封装格式为PS码流格式。
可选地,所述传输控制参数还包括丢帧级别和数据包长度中的至少一个。
可选地,当所述传输控制参数包括所述丢帧级别时,所述基于所述网络状态数据,确定传输多媒体数据的传输控制参数包括:
确定所述网络状态数据所在的网络状态数据区间;
获取与所述网络状态数据区间对应的丢帧级别,所述丢帧级别与所述网络状态数据成正相关。
可选地,当所述传输控制参数包括所述丢帧级别时,所述基于所述网络状态数据,确定传输多媒体数据的传输控制参数包括:
获取前一次发送多媒体数据所采用的丢帧级别;
若所述网络状态数据大于第二网络状态数据阈值,且所获取的丢帧级别不为最高丢帧级别,则将所获取到的丢帧级别增加一个级别以作为当前发送多媒体数据的丢帧级别;
若在第一预设时间段内,所述网络状态数据均小于或等于第三网络状态数据阈值,且所获取的丢帧级别不为最低丢帧级别,则将所获取到的丢帧级别降低一个级别以作为当前发送多媒体数据的丢帧级别,所述第三网络状态数据阈值小于所述第二网络状态数据阈值。
可选地,当所述传输控制参数包括所述丢帧级别和所述数据包长度时,所述基于所述网络状态数据,确定传输多媒体数据的传输控制参数包括:
获取前一次发送多媒体数据所采用的数据包长度;
若在第二预设时间段内,发送多媒体数据所采用的丢帧级别均为最低级别,且所述网络状态数据均小于或等于第四网络状态数据阈值,则将获取到的数据包长度增加第一预设长度以作为当前发送多媒体数据的数据包长度。
可选地,当所述传输控制参数包括数据包长度时,所述基于所述网络状态数据,确定传输多媒体数据的传输控制参数包括:
获取前一次发送多媒体数据所采用的数据包长度;
若在第二预设时间段内,所述网络状态数据均大于第四网络状态数据阈值,则将获取到的数据包长度减小第二预设长度以作为当前发送多媒体数据的数据包长度。
可选地,所述方法还包括:
获取待发送多媒体数据;
对所述待发送多媒体数据进行识别得到帧序列,所述帧序列包括至少一个非关键帧;
所述基于所述传输控制参数,向所述接收端发送多媒体数据包括:
基于所述丢帧级别,获取与所述丢帧级别对应的丢帧系数;
基于所述丢帧系数,从所述至少一个非关键帧中删除与所述丢帧系数对应的非关键帧;
基于所述数据包封装格式和所述数据包长度,对删减之后的帧序列进行封装;
将封装得到的数据包发送给所述接收端。
可选地,所述网络状态数据包括丢包率。
第二方面,本发明实施例还提出一种多媒体数据传输装置,所述装置包括:
第一获取模块,用于获取与接收端之间网络连接的网络状态数据;
确定模块,用于基于所述网络状态数据,确定传输多媒体数据的传输控制参数,所述传输控制参数包括数据包封装格式;
发送模块,用于基于所述传输控制参数,向所述接收端发送多媒体数据。
第三方面,本发明实施例还提出一种网络设备,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现上述第一方面所述的方法。
第四方面,本发明实施例还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器读取并运行时,实现上述第一方面所述的方法。
相对现有技术,本发明实施例具有以下有益效果:
在本发明实施例中,发送端可以获取与接收端之间的网络连接的网络状态数据,该网络状态数据能够说明与接收端之间的网络连接的状态,因此发送端能够基于网络状态数据,确定传输控制参数,该传输控制参数即为针对网络状态所匹配的传输控制参数,所以发送端可以通过与接收端之间网络连接的网络状态相匹配的数据包封装格式,向接收端发送多媒体数据,而尽可能地确保所采用的传输方式与接收端之间网络连接的网络状态相匹配,充分利用通信网络的性能,提高传输质量和传输效率。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的一种多媒体数据传输系统的结构示意图;
图2示出了本发明实施例所提供的一种多媒体数据传输方法的流程示意图;
图3示出了本发明实施例所提供的一种多媒体数据传输方法的流程示意图;
图4示出了本发明实施例所提供的一种帧序列的示意图;
图5示出了本发明实施例所提供的一种多媒体数据传输方法的流程图;
图6示出了本发明实施例所提供的一种多媒体数据传输装置的功能模块示意图;
图7示出了本发明实施例所提供的一种网络设备的功能模块示意图。
图标:101-发送端;102-接收端。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,为本发明实施例所提供的一种多媒体数据传输系统的结构示意图。该多媒体数据传输系统可以包括发送端101和接收端102,发送端101和接收端102可以处于通信网络中,从而通过网络连接。
发送端101为发送多媒体数据的多媒体设备,该多媒体设备可以包括计算机、服务器、摄像头等,当然,在实际应用中,多媒体设备还可以包括其它类型的设备。比如在监控业务中,发送端101可以包括IPC(IPCAMERA,网络摄像机)、DMS(Data Manager Server,数据管理服务器器)、BMS(Backup ManagerServer,备份管理服务器器)或MS(MediaServer,服务器)。
多媒体数据可以包括图像数据,当然还可以包括其它数据,比如声音数据等。
其中,图像数据可以包括多个GOP(Group of Pictures,图像组)。GOP包括一组连续的画面,可以包括I帧、还可以包括P帧和B帧中的至少一种。其中,I帧为一个完整的画面,是关键帧,P帧和B帧用于记录相对于I帧的变化,是非关键帧。
IPC由网络编码模块和模拟摄像机组合而成。网络编码模块将模拟摄像机采集到的模拟视频信号编码压缩成数字信号,从而可以接入通信网络。
DMS用于对存储设备中的多媒体数据进行管理,包括定时巡检存储设备并记录数据存储状态、协助建立与存储资源之间的网络连接、协助检索回放多媒体数据、备份多媒体数据、存储资源状态监控、历史数据的点播等。该DMS可以管理128个存储设备。
BMS用于将存储设备中已有的多媒体数据备份至备份设备,防止存储设备存储空间有限而导致多媒体数据被覆盖、记录丢失等情况的出现。MS位于应用层,可以用于进行多媒体数据的封装、解封装或复制转发。
接收端102用于接收发送端所发送的多媒体数据的多媒体设备。比如,在监控业务中,接收端102可以包括VM(Video Manager,视频管理器)或MS。
VM用于对多媒体数据进行管理。该VM可以通过WEB(又称WorldWide Web,全球广域网)页面向用户提供相关的操作入口,从而根据用户的相关操作,对多媒体数据进行管理。
需要说明的是,在多媒体数据传输系统中,由于多媒体数据可能会被复制转发,因此,多媒体数据传输系统中具有转发功能的多媒体设备,既可以作为发送端101,也可以作为接收端102,比如前述中的MS。
以下对本发明实施例的应用场景予以介绍。由于通信网络的网络状态千差万别,即便是同一通信网络的网络状态也会时刻处于波动之中,而不同网络状态的通信网络也会相应具有不同的性能。如果仅在组网时根据通信网络整体的网络状态确定数据包封装格式,并通过该数据包封装格式传输多媒体数据,该多媒体数据的传输方式难以适于不同网络状态的通信网络,当然也就难以充分利用通信网络的传输性能,难以保证多媒体数据的传输质量和传输效率。因此,本发明实施例提供了一种多媒体数据传输方法。首先,发送端可以获取与接收端之间的网络连接的网络状态数据,该网络状态数据能够说明与接收端之间的网络连接的状态,因此发送端能够基于网络状态数据,确定传输控制参数,该传输控制参数即为与网络状态所匹配的传输控制参数,所以发送端可以通过与接收端之间网络连接的网络状态相匹配的数据包封装格式,向接收端发送多媒体数据,从而尽可能地确保所采用的传输方式与接收端之间网络连接的网络状态相匹配,充分利用通信网络的性能,提高传输质量和传输效率,比如在网络状态较差时,优先保证多媒体数据的流畅传输,即提高传输效率,在网络状态较好时,尽可能提升多媒体数据的传输质量。当然,在实际应用中,为了通过多个维度控制传输多媒体数据的方式,进而能够按照与接收端之间网络连接的更加匹配的传输方式,向接收端传输多媒体数据,以进一步充分利用通信网络的性能,提高传输质量和传输效率,传输控制参数还可以包括更多的参数,比如可以包括丢帧级别和数据包长度中的至少一个。
网络状态数据可以包括丢包率。当网络状态数据越大,则可能网络状态较差,或传输多媒体数据的方式与网络状态匹配程度较低,多媒体数据的传输效果越差;相应的,当网络状态数据越小,则表示多媒体数据的传输效果越好。当然,在实际应用中,网络状态数据也可以包括其它类型的参数,比如网速值(即不带单位的数值)的倒数或带宽值的倒数。
丢包率为发送数据包过程中所丢失数据包数量占所发送数据包总数量的比率。
需要说明的是,网络状态数据包括网速值的倒数或带宽值的倒数,是为了与后续计算传输控制参数的方式相适应,在实际应用中,只要能达到与本发明实施例对传输控制参数一致的确定结果,网络状态数据也可以为其它形式,比如丢包率的倒数、网速值或带宽值。
传输控制参数为传输多媒体数据方式的参数。
数据包封装格式为多媒体数据在传输过程中所封装的格式,可以包括TS码流格式和PS码流格式中的至少一个。当然,在实际应用中,还可以包括其它种类的数据包封装格式。
丢帧级别为传输多媒体数据的过程中,为减少发送的数据量而删减该多媒体数据中图像数据的非关键帧(比如P帧)的级别。该丢帧级别可以与网络状态数据成正相关,并与丢帧系数成正相关。当删减的数据量越多,所需发送的数据量越小,越能够快速地将多媒体数据发送至接收端,有利于提高传输效率;当删减的数据量越少,则所传输的多媒体数据的质量也就越高,有利于提高传输效率。
其中,丢帧级别可以通过数值或字母表示,比如丢帧级别可以包括1、2、3和4。
丢帧系数为删减多媒体数据中图像数据的非关键帧的比例。丢帧系数可以通过小数(即[0,1]之间的数值)、分数或百分数表示。
例如,对于H264/H265格式的多媒体数据,丢帧系数可以包括0或1;对于SVC(Scalable Video Coding,可适性视讯编码)格式的多媒体数据,则丢帧系数可以包括1/2或1/4。
数据包长度为用于传输多媒体数据的单个数据包的长度。当数据包长度较大时,传输多媒体数据过程中的额外包括的包头等数据较少,有利于提高传输效率;当数据包长度较小时,有利于化整为零地传输多媒体数据,减少数据丢失,有利于提高传输质量。
请参照图2,为本发明实施例所提供的一种多媒体数据传输方法的流程示意图。该方法应用于图1所示的发送端中。需要说明的是,本发明实施例所述的多媒体数据传输方法并不以图2以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本发明实施例所述的多媒体数据传输方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图2所示的流程进行详细阐述。
步骤201,获取与接收端之间网络连接的网络状态数据。
由于发送端与接收端之间的网络连接的网络状态可能会处于不断变化的过程中,从而导致该网络连接传输数据的能力也会处于变化中,因此,为了便于后续发送端根据与接收端之间的网络状态,采用相适应的方式传输多媒体数据,从而充分利用通信网络的性能,提高传输质量和传输效率,发送端可以获取与接收端之间网络连接的网络状态数据。
发送端可以通过向接收端发送测试数据,从而测试得到与接收端之间的网络状态数据;或者,发送端可以在向接收端发送多媒体数据的过程中,根据收发过程,确定与接收端之间的网络状态数据;或者,发送端可以接收该接收端发送的网络状态数据。当然,在实际应用中,也可以通过其它方式来获取与接收端之间网络连接的网络状态数据。
步骤202,基于该网络状态数据,确定传输控制参数,该传输控制参数包括数据包封装格式。
由于不同的数据包封装格式具有不同的特点,从而可能适用于不同网络状态时的数据传输,比如,由于TS码流格式发送多媒体数据的可靠性较高,更适于网络状态较好或对传输质量要求较高的场景,而PS码流格式中数据包大小是可变的,更适用于比较网络状态较差或较为复杂的场景,因此,为了使封装多媒体数据的格式与网络状态向匹配,进而充分利用通信网络的性能,可以基于网络状态数据,确定的传输控制参数。
可以事先确定网络状态数据与传输控制参数之间对应关系,并基于获取到与接收端之间的网络状态数据,通过网络状态数据与传输控制参数之间对应关系,确定与该网络状态数据对应的传输控制参数。当然,在实际应用中,也可以通过其它方式基于网络状态数据,确定传输控制参数。
例如,网络状态数据包括丢包率,则可以根据如下表1所示的丢包率区间与传输控制参数之间的对应关系,确定数据包封装格式。
表1
需要说明的是,本发明实施例仅以上述表1为例,对丢包率区间与传输控制参数之间的对应关系进行说明,上述表1并不对丢包率区间与传输控制参数之间的对应关系构成具体限定。
其中,丢包率区间以及多对应的传输控制参数可以通过事先确定。当丢包率较大时,网络状态可能较差,由于TS码流格式中数据包大小通常是固定的,而PS码流格式中数据包大小是可变的,因此当丢包率较小时,说明当前传输多媒体数据的方式与网络状态较为吻合,可以不对数据包封装格式进行改变(可能为TS码流格式或PS码流格式),即确定的数据包封装格式为与前一次相同,其中,前一次指前一次发送多媒体数据所采用的数据包封装格式;当丢包率较大时,说明当前传输多媒体数据的方式可能与网络状态不吻合,为了减少传输的数据量,从而流畅地传输多媒体数据,可以将数据包封装格式确定为PS码流格式。
还需要说明的是,在实际应用中,由于TS码流格式发送多媒体数据的可靠性较高,因此当丢包率较小时,比如小于1%,也可以将数据包封装格式确定为TS。
步骤203,基于该传输控制参数,向该接收端发送多媒体数据。
由前述可知,前述所得到的传输控制参数,包括数据包封装格式,是适于当前与接收端之间网络连接的网络状态的,因此,可以通过该传输控制参数,向接收端发送多媒体数据,从而确保传输多媒体数据的方式与当前通信网络的性能相匹配,实现充分利用通信网络性能,提高传输质量和传输效率的目的。
若当前发送多媒体数据的过程不为转发,则可以将待发送的多媒体数据,按照所确定的数据包封装格式进行打包,并将打包的数据包发送给接收端。
需要说明的是,若基于前述步骤所确定的数据包封装格式为与前一次相同,则发送端可以按照前一次发送多媒体数据包所采用的数据包封装格式,作为当前的数据包封装格式。当然,若未获取到当前一次发送多媒体数据包所采用的数据包封装格式,比如当前即为第一次向前述中的接收端发送多媒体数据,则可以选择缺省数据包封装格式作为当前的数据包封装格式。
其中,缺省数据包封装格式可以通过事先确定,比如接收用户提交得到等。
例如,缺省数据包封装格式可以为TS码流格式。
还需要说明的是,上述中第一次向前述中的接收端发送多媒体数据,指发送端新与该接收端建立通信连接之后的第一次,或者在开始某次多媒体业务之后的第一次,当然,在实际应用中,也可以包括其它情况下的第一次。
若当前发送多媒体数据的过程为转发,可以按照所确定的数据包封装格式,重新对接收到多媒体数据进行封装,并将封装之后的数据包发送给接收端。
需要说明的是,若基于前述步骤所确定的数据包封装格式为与前一次相同,且未获取到当前一次发送多媒体数据包所采用的数据包封装格式,则可以不改变接收到多媒体数据的数据包封装格式。
在本发明实施例中,发送端可以获取与接收端之间的网络连接的网络状态数据,该网络状态数据能够说明与接收端之间的网络连接的状态,因此发送端能够基于网络状态数据,确定传输控制参数,该传输控制参数即为针对网络状态所匹配的传输控制参数,所以发送端可以通过与接收端之间网络连接的网络状态相匹配的数据包封装格式,向接收端发送多媒体数据,而尽可能地确保所采用的传输方式与接收端之间网络连接的网络状态相匹配,充分利用通信网络的性能,提高传输质量和传输效率。
请参照图3,为本发明实施例所提供的一种多媒体数据传输方法的流程示意图。该方法应用于图1所示的发送端中。需要说明的是,本发明实施例所述的多媒体数据传输方法并不以图3以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本发明实施例所述的多媒体数据传输方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图3所示的流程进行详细阐述。
步骤301,发送端获取与接收端之间网络连接的网络状态数据。
其中,发送端获取与接收端之间网络连接的网络状态数据的方式,可以参见前述中的相关描述,此处可以不再一一赘述。
可选地,由于丢包率与数据包长度以及数据包的发送频率相关,为了能够准确说明当前发送多媒体数据的方式是否与网络连接的网络状态相匹配,提高网络状态数据的准确性,进而提高后续确定传输多媒体数据的方式的准确性,该网络状态数据包括丢包率。
步骤302,该发送端基于该网络状态数据,确定传输多媒体数据的传输控制参数,该传输控制参数包括数据包封装格式,以及丢帧级别和数据包长度中的至少一个。
由于数据包的长度以及所传输的数据量,也影响传输质量和效率,因此为了通过多个维度控制传输多媒体数据的方式,进而能够按照与接收端之间网络连接的更加匹配的传输方式,向接收端传输多媒体数据,以进一步充分利用通信网络的性能,提高传输质量和传输效率,传输控制参数在包括数据包封装格式的基础上,还可以包括丢帧级别和数据包长度中的至少一个。
需要说明的是,当传输控制参数包括多个时,发送端可以基于网络状态数据,分别确定各种传输控制参数,当然,也可以基于网络状态数据,直接确定多种传输控制参数。
例如,网络状态数据包括丢包率,则可以根据如下表2所示的丢包率区间与传输控制参数之间的对应关系,确定数据包封装格式。
表2
需要说明的是,本发明实施例仅以上述表2为例,对丢包率区间与传输控制参数之间的对应关系进行说明,上述表2并不对丢包率区间与传输控制参数之间的对应关系构成具体限定。
可选地,由于TS码流格式中数据包的大小是固定的,PS码流格式中数据包的大小是非固定的,因此,为了便于根据网络状态的不同,选择不同大小的数据包发送多媒体数据,进而适应于不同网络状态的网络连接,当该传输控制参数包括数据包封装格式时,相应的,若该网络状态数据大于第一网络状态数据阈值,则确定该数据包封装格式为PS码流格式。若该网络状态数据小于或等于第一网络状态数据阈值,则保持数据包封装格式不变,即与前一次发送多媒体数据所采用的数据包封装格式相同。
第一网络状态数据阈值可以通过事先确定,比如通过接收用户提交的数值得到。第一网络状态数据阈值的大小,可以根据网络状态数据所属种类的不同而不同。
例如,当网络状态数据包括丢包率时,第一网络状态数据阈值可以为1%。若获取到的网络状态数据为2%,即大于第一网络状态数据阈值,则无论前一次发送多媒体数据所采用的数据包封装格式为TS码流格式或PS码流格式,均将当前发送多媒体数据的数据包封装格式确定为PS码流格式。若获取到的网络状态数据为0.5%,即小于第一网络状态数据阈值,则保持前一次发送多媒体数据所采用的数据包封装格式不变,可以为TS码流格式或PS码流格式。
其中,由于TS码流格式中,每个数据包的大小为188字节,其中,包头最多6个字节,约占用整个数据包的3.2%,且每个I帧都会包括PAT(Program Association Table,节目关联表)和PMT(Program Map Table,节目映射表),PAT和PMT各占188字节。而PS码流格式中,数据包的大小并不是固定的,I帧首包包括PS头(14字节)、系统头(18字节)和映射头(24字节),每个P帧首包包括PS头,也即是,不需要包括PAT和PMT,PS包头的开销基本可以与PAT和PMT的开销抵消,因此,将数据包封装格式将TS码流格式转换为PS模式,可以少发送3.2%的数据。
可选地,为了根据与接收端之间网络连接的状态,对传输的多媒体数据中图像数据的图像帧进行删减,从而减少所需传输的数据量,进而尽可能地提高传输多媒体数据的传输效率,当该传输控制参数包括丢帧级别时,相应的,发送端可以确定该网络状态数据所在的网络状态数据区间,获取与该网络状态数据区间对应的丢帧级别,该丢帧级别与该网络状态数据成正相关。
网络状态数据区间为网络状态数据的分布范围。该网络状态数据区间可以通过事先确定得到,比如通过接收用户提交得到等。
发送端可以将获取的网络状态数据,将该网络状态数据与网络状态数据区间进行比较,从而确定该网络状态数据所在的网络状态数据区间。
例如,当网络状态数据包括丢包率,可以基于如上表2所示的丢包率区间与传输控制参数之间的对应关系,确定与该丢包率对应的丢帧级别。
可选地,为了便于准确地连续对丢帧级别等传输控制参数进行改变,使传输多媒体数据过程中所丢弃的图像帧的数目,更好地适应不断波动的网络连接之间的网络状态,进一步提高传输多媒体数据的质量和效率,当该传输控制参数包括丢帧级别时,相应的,可以获取前一次发送多媒体数据所采用的丢帧级别,若当前的网络状态数据大于第二网络状态数据阈值,且所获取的丢帧级别不为最高丢帧级别,则将所获取到的丢帧级别增加一个级别以作为当前发送多媒体数据的丢帧级别,若在第一预设时间段内,该网络状态数据均小于或等于第三网络状态数据阈值,且所获取的丢帧级别不为最低丢帧级别,则将所获取到的丢帧级别降低一个级别以作为当前发送多媒体数据的丢帧级别,第三网络状态数据阈值小于第二网络状态数据阈值。
最高丢帧级别或最低丢帧级别可以通过事先确定,比如,当丢帧级别包括1、2、3和4时,其中1即为最低丢帧级别,4即为最高丢帧级别。
第一预设时间段可以通过事先确定。例如,第一预设时间段可以为在当前时刻之前的5分钟内。
第二网络状态阈值和第三网络状态阈值可以通过事先确定得到。
其中,第二网络状态阈值可以大于第一网络状态阈值。
例如,当网络状态数据包括丢包率时,第二网络状态数据阈值可以为3.2%,第三网络状态阈值可以为0。
在本发明的另一可选实施例中,发送端可以获取前一次发送多媒体数据所采用的丢帧级别,若当前网络状态数据大于第二网络状态数据阈值,且所获取的丢帧级别不为最高丢帧级别,则将获取到的丢帧级别增大一个级别以作为当前发送多媒体数据的丢帧级别。若当前网络状态数据小于或等于第二网络状态数据阈值,且大于第三网络状态阈值,则保持前一次传输多媒体数据所采用的丢帧级别不变,以作为当前发送多媒体数据的丢帧级别。若当前网络状态参数均小于或等于第三网络状态阈值,且所获取的丢帧级别不为最低丢帧级别,可以将获取到的丢帧级别减小一个级别以作为当前发送多媒体数据的丢帧级别。
可选地,为了根据与接收端之间的网络状态,及时采用与该网络状态相适应的数据包长度进行传输数据,以在网络状态较好时提高单一数据包传输的数据量,进而进一步提高传输质量,或者,在网络状态较差时减少数据丢失,进而进一步提高传输效率,当该传输控制参数包括数据包长度时,相应的,发送端可以获取前一次发送多媒体数据所采用的数据包长度,若在第二预设时间段内,发送多媒体数据所采用的丢帧级别均为最低级别,该网络状态数据均小于或等于第四网络状态数据阈值,则将获取到的数据包长度增加第一预设长度以作为当前发送多媒体数据的数据包长度。若在第二预设时间段内,发送多媒体数据所采用的丢帧级别均为最低级别,该网络状态数据不均小于或等于第四网络状态数据阈值,可以将获取到的数据包长度减小第二预设长度,以作为当前发送多媒体数据的数据包长度。
第二预设时间段可以通过事先确定得到,且第二预设时间段可以与第二预设时间段相同。比如第二预设时间段可以为在当前时刻之前的5分钟内。
第四网络状态数据阈值可以通过事先确定得到。比如当网络状态数据包括丢包率时,第四网络状态数据阈值可以为0,即丢包率为0。
第一预设长度和第二预设时长可以通过事先确定得到,且第一预设长度可以与第二预设长度相同。比如,第一预设长度和第二预设长度可以均为188字节或376字节,或者,第一预设长度可以为376字节,第二预设长度可以为188字节。
发送端可以实时监测与接收端之间的网络状态数据,并将该网络状态数据与第四网络状态数据阈值进行比较,确定该网络状态数据,是否在第二预设时间段内,均小于第四网络状态阈值。
在本发明的另一可选实施例中,当该传输控制参数包括数据包长度时,相应的,发送端可以获取前一次发送多媒体数据所采用的数据包长度,若在第二预设时间段内,该网络状态数据均小于或等于第四网络状态数据阈值,则将获取到的数据包长度增加第一预设长度以作为当前发送多媒体数据的数据包长度。若在第二预设时间段内,该网络状态数据均大于第四网络状态数据阈值,则将获取到的数据包长度减小第一预设长度以作为当前发送多媒体数据的数据包长度。若在第二预设时间段内,该网络状态数据既不均小于或等于第四网络状态数据阈值,也不均大于第四网络状态数据阈值,则保持获取到的数据包长度不变以作为当前发送多媒体数据的数据包长度。
在本发明的另一可选实施例中,由于数据包的长度过长可能会导致传输过程中数据丢失的可能较大,降低传输的可靠性,而数据包的长度过短,则大量的数据包可能会包括大量的包头,从而降低传输的效率,因此,为了提高传输的可靠性和效率,在将获取到的数据包长度增加第一预设长度后,若增加之后的长度大于当前待发送的图像帧的数据长度,则采用该发送的图像帧的数据长度作为当前的数据包长度,也即是,发送多媒体数据包所采用的数据包长度最大为待发送的图像帧的数据长度;在将获取到的数据包长度减小第二预设长度后,若减小之后的长度小于当前第三预设长度,则将第三预设长度作为当前的数据包长度。
其中,第三预设长度可以通过事先确定。
当然,在实际应用中,在将数据包长度进行减小时,也可以不设置第三预设长度,即持续将数据包长度减小,直至网络状态数据小于或等于第四网络状态数据阈值。
在本发明的另一可选实施例中,可以在传输多媒体数据的过程中,第一次发现丢包时,通过确定该网络状态数据所在的网络状态数据区间,获取与该网络状态数据区间对应的丢帧级别的方式(比如通过前述中的表1或表2查询),确定传输多媒体数据所采用的传输控制参数,之后基于获取到的网络状态数据、第一网络状态数据阈值、第二网络状态数据阈值、第三网络状态数据阈值和第一网络状态数据阈值,当前传输多媒体数据所采用的传输控制参数。
例如,网络状态数据包括丢包率,第一网络状态数据阈值为1%,第二网络状态数据阈值为3.2%,第三网络状态阈值和第四网络状态阈值为0。发送端在开始针对某项多媒体业务向接收端传输多媒体数据之后,首次发现丢包,且丢包率为7%,说明当前传输多媒体数据的方式不太适应于与接收端之间的网络状态,可能该网络状态较差,需要优先保证传输效率,则可以基于如表2所示的丢包率与传输控制参数别之间的对应关系,确定数据包封装格式为PS码流格式、丢包级别为3、数据包长度为300字节。在改变传输方式之后,检测到丢包率为4%,大于第一网络状态数据阈值、第二网络状态数据阈值、第三网络状态阈值和第四网络状态阈值,说明需要进一步提高传输效率,基于前述中的描述的相关方式,确定当前数据包封装格式为PS码流格式、丢帧级别4、数据包长度为300字节不变。在多次改变传输方式之后,检测到最近5分中内未丢包,即丢包率为0,其中,前一次发送多媒体数据所采用的数据包封装格式为TS、丢帧级别为最低丢帧级别1、数据包长度为300字节,则可以确定当前数据包封装格式为TS码流格式不变、丢帧级别1不变、数据包长度增加376字节为676字节。
在本发明的另一可选实施例中,为了确保接收端能够可靠地对发送端所发送的多媒体数据进行解包,对于对应于一个GOP的多媒体数据的发送方式可以是相同的,因此,若前一次发送的多媒体数据与当前发送的多媒体数据归属于同一GOP,可以获取前一次的传输控制参数以作为当前的传输控制参数。
另外,当未获取到前一次发送多媒体数据所采用的传输控制参数时,若当前发送多媒体数据的过程不为转发,可以获取缺省传输控制参数作为当前的传输控制参数,若当前发送多媒体数据的过程为转发,则可以获取所接收到的多媒体数据的传输控制参数,为当前发送多媒体数据的传输控制参数,即直接将接收到的多媒体数据进行转发。
其中,缺省传输控制参数可以通过事先确定。缺省传输控制可以包括缺省数据包封装格式,以及缺省丢包级别和缺省数据包长度中的至少一个。
例如,缺省数据包封装格式可以为TS码流格式、缺省丢包级别可以为1、缺省数据包长度可以为800字节。
步骤303,该发送端获取待发送多媒体数据,对该待发送多媒体数据进行识别得到帧序列,该帧序列包括至少一个非关键帧。
为了便于后续发送多媒体数据时,对数据包封装格式进行转换,以及对多媒体数据中图像数据所包括的图像帧进行删减,发送端可以获取待发送的多媒体数据,并从待发送的多媒体数据中识别得到其中图像数据所包括的帧序列。
帧序列为图像数据的图像帧所组成的序列。该帧序列中可以包括至少一个GOP中的图像帧。
若发送端只能够进行多媒体数据发送,则可以从本地获取或者通过录制得到待发送的多媒体数据。若发送端也能够接收多媒体数据,即该发送端可以用于多媒体数据转发,比如前述中的MS,则可以将接收到的多媒体数据作为待发送的多媒体数据。
发送端可以对获取到的多媒体数据进行解包或者其它处理,从而识别其中图像数据所的图像帧,得到帧序列。
需要说明的是,若该发送端为其它多个发送端的多媒体数据提供转发功能,则可以将分别获取自多个发送端的多媒体数据,并分别识别得到多个帧序列。
还需要说明的是,在实际应用中,发送端也可以在下述步骤304基于该传输控制参数向接收端发送多媒体数据之前的任意时机,执行获取待发送多媒体数据,并对该待发送多媒体数据进行识别得到帧序列的步骤。
步骤304,该发送端基于该传输控制参数,向该接收端发送多媒体数据。
可以通过数据包长度,确定传输多媒体数据的数据包所封装的数据量;通过丢帧级别,确定丢弃所传输多媒体数据中图像数据所包括的图像帧的比例;通过数据包封装格式,确定数据包的封装格式,从而实现通过多维度精确控制传输多媒体数据的方式。
需要说明的是,为了精准地控制传输多媒体数据的方式,以进一步提高传输质量和传输效率,在实际应用中,发送端可以基于更多或更少种类的传输控制参数,向接收端发送多媒体数据。
可选地,为了通过多个维度控制向接收端发送多媒体数据的方式,从而尽可能地使发送多媒体数据的方式,适应与当前与接收端之间的网络状态,提高传输多媒体数据的传输质量和传输效率,该发送端可以基于该丢帧级别,获取与该丢帧级别对应的丢帧系数,基于该丢帧系数,从该至少一个非关键帧中删除与该丢帧系数对应的非关键帧,基于该数据包封装格式和该数据包长度,对删减之后的帧序列进行封装,将封装得到的数据包发送给该接收端。
可以基于丢帧级别,从丢帧级别和丢帧系数之间的对应关系中,获取与该丢帧对应的丢帧系数。
例如,丢帧级别为3,则可以从如下表3所示的丢帧级别和丢帧系数之间的对应关系中,获取得到对应的丢帧系数为1/2。
表3
丢帧级别 | 丢帧系数 |
1 | 0 |
2 | 1/4 |
3 | 1/2 |
4 | 1 |
需要说明的是,本发明实施例仅以上述表3,对丢帧级别与丢帧系数之间的对应关系进行说明,并不对丢帧级别和丢帧系数之间的对应关系构成具体限定。
还需要说明的是,可以事先确定与各丢帧级别对应的丢帧系数,并将各丢帧级别以及对应的丢帧系数,存储至丢帧级别和丢帧系数之间的对应关系中。
由于关键帧为一个完整的画面,而非关键帧用于记录相对于关键帧的变化,可以将非关键帧进行删减。
需要说明的是,对帧序列中非关键帧的删减,可以是以一个GOP为单位,也即是,基于丢帧系数,从归属于同一GOP中的非关键帧中删除与该丢帧系数对应的非关键帧。
还需要说明的是,对于仅包括I帧和P帧的帧系列,可以基于丢帧系数,从P帧中删除与丢帧系数对应的P帧;对于包括I帧、P帧和B帧的帧序列,可以基于丢帧系数,仅从P帧中删除与丢帧系数对应的P帧,当然,也可以基于丢帧系数,仅从B帧中删除与丢帧系数对应的B帧,或者,也可以基于丢帧系数,从P帧和B帧中删除与丢帧系数对应的P帧和B帧。
例如,一种帧序列的示意图可以如图4所示。图4中第一行为接收队列,即接收到待发送的多媒体数据所包括的帧序列,其中每个GOP包括1个I帧和4个P帧,该帧序列中P帧约占整个码流的1/4。若丢帧系数为1/4,则从P帧中删除并丢弃1/4的P帧,得到如图4中第二行所示的发送队列1,其中每个GOP包括1个I帧和3个P帧,所发送多媒体数据的码率降低约1/16。若丢帧系数为1/2,则从P帧中删除并丢弃2/4的P帧,得到如图4中第三行所示的发送队列2,其中每个GOP包括1个I帧和2个P帧,所发送多媒体数据的码率降低约1/8。若丢帧系数为1,则删除所有的P帧,得到如图4中第四行所示的发送队列3,其中每个GOP仅包括1个I帧,所发送多媒体数据的码率降低约1/4。
发送端可以基于前述中确定的数据包封装格式以及数据包长度,将删减之后的帧序列进行封装,所得到的数据包的长度即为该数据包长度,封装格式即为该数据包封装格式。该发送端将封装后的数据包发送给接收端,接收端接收该数据包,并对数据包进行解封,从而得到所传输的多媒体数据。
需要说明的是,在实际应用中,发送端可以在传输多媒体数据的任意时机,开始采用本发明实施例所提供的多媒体数据传输方法,进行多媒体数据传输。或者,可以周期性地(比如每间隔5分钟)或实时地采用本发明实施例所提供的多媒体数据传输方法,进行多媒体数据传输。
在本发明实施例中,首先,发送端可以获取与接收端之间的网络连接的网络状态数据,该网络状态数据能够说明与接收端之间的网络连接的状态,因此发送端能够基于网络状态数据,确定传输控制参数,该传输控制参数即为针对网络状态所匹配的传输控制参数,所以发送端可以通过与接收端之间网络连接的网络状态相匹配的数据包封装格式,向接收端发送多媒体数据,而尽可能地确保所采用的传输方式与接收端之间网络连接的网络状态相匹配,充分利用通信网络的性能,提高传输质量和传输效率。其次,传输控制参数还可以包括丢帧级别和数据包长度中的至少一个,从而能够通过多个维度控制传输多媒体数据的方式,进而能够按照与接收端之间网络连接的更加匹配的传输方式,向接收端传输多媒体数据,以进一步充分利用通信网络的性能,提高传输质量和传输效率。
以下将通过一个具体的示例,对本发明所提供的多媒体数据传输方法进行说明。请参照图5,为本发明所提供的一种多媒体数据传输方法的流程图。
步骤501,MS接收多媒体数据;
其中,MS可以作为接收端,接收至少一个发送端的多媒体数据。
步骤502,MS根据当前丢包率,设置相应的数据包封装格式和丢帧级别,并按照该数据封装格式和丢帧级别进行多媒体数据转发;
其中,此处未设置数据包长度,则该数据包长度可以为最三预设长度或者事先设置的缺省长度。
需要说明的是,MS在按照该数据封装格式和丢帧级别进行多媒体数据转发5分钟之后,在执行下述步骤503,当然,也可以立即执行。
步骤503,MS根据丢包率,重新确定数据包封装格式、丢包级别和数据包长度;
对于数据包封装格式,若当前丢包率大于1%,则确定数据包封装格式为PS码流格式,否则保持数据包封装格式不变。
对于丢包级别,若当前丢包率大于3.2%,则将丢帧级别增加一个级别;若丢包率大于1%且小于或等于3.2%,则保持不变;若丢包率小于1%,则将丢帧级别减小一个级别。
其中,丢帧级别最高为最高丢帧级别,丢帧级别最低为最低丢帧级别。
对于数据包长度,若5分钟内丢包率为0,且丢包级别为最低丢包级别,则将数据包长度增加376字节;若5分钟内存在丢包率不为0的情况,且丢包级别为最低丢帧级别,则将数据包长度减少376字节。
其中,最大数据包长度为当前待发送的图像帧所包括的最大数据量。
步骤504,MS根据重新确定的数据包封装格式、丢帧级别和数据包长度进行多媒体数据转发。
请参照图6,为本发明实施例所提供的一种多媒体数据传输装置600的功能模块示意图。需要说明的是,本实施例所提供的多媒体数据传输装置600,其基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。该多媒体数据传输装置600包括:
第一获取模块601,用于获取与接收端之间网络连接的网络状态数据;
确定模块602,用于基于该网络状态数据,确定传输多媒体数据的传输控制参数,该传输控制参数包括数据包封装格式;
发送模块603,用于基于该传输控制参数,向该接收端发送多媒体数据。
可选地,该确定模块包括:
第一确定子模块,用于若该网络状态数据大于第一网络状态数据阈值,则确定该数据包封装格式为节目流PS码流格式。
可选地,该传输控制参数还包括丢帧级别和数据包长度中的至少一个。
可选地,当该传输控制参数包括该丢帧级别时,该确定模块包括:
第二确定子模块,用于确定该网络状态数据所在的网络状态数据区间;
第一获取子模块,用于获取与该网络状态数据区间对应的丢帧级别,该丢帧级别与该网络状态数据成正相关。
可选地,当该传输控制参数包括该丢帧级别时,该确定模块包括:
第二获取子模块,用于获取前一次发送多媒体数据所采用的丢帧级别;
第一增大子模块,用于若该网络状态数据大于第二网络状态数据阈值,且所获取的丢帧级别不为最高丢帧级别,则将所获取到的丢帧级别增加一个级别以作为当前发送多媒体数据的丢帧级别;
减小子模块,用于若在第一预设时间段内,该网络状态数据均小于或等于第三网络状态数据阈值,且所获取的丢帧级别不为最低丢帧级别,则将所获取到的丢帧级别降低一个级别以作为当前发送多媒体数据的丢帧级别,该第三网络状态数据阈值小于该第二网络状态数据阈值。
可选地,当该传输控制参数包括该丢帧级别和该数据包长度时,该确定模块包括:
第三获取子模块,用于获取前一次发送多媒体数据所采用的数据包长度;
第二增加子模块,用于若在第二预设时间段内,发送多媒体数据所采用的丢帧级别均为最低级别,且该网络状态数据均小于或等于第四网络状态数据阈值,则将获取到的数据包长度增加第一预设长度以作为当前发送多媒体数据的数据包长度。
可选地,该装置还包括:
第二获取模块,用于获取待发送多媒体数据;
识别模块,用于对该待发送多媒体数据进行识别得到帧序列,该帧序列包括至少一个非关键帧;
该发送模块包括:
第四获取子模块,用于基于该丢帧级别,获取与该丢帧级别对应的丢帧系数;
删除子模块,用于基于该丢帧系数,从该至少一个非关键帧中删除与该丢帧系数对应的非关键帧;
封装子模块,用于基于该数据包封装格式和该数据包长度,对删减之后的帧序列进行封装;
发送子模块,用于将封装得到的数据包发送给该接收端。
可选地,该网络状态数据包括丢包率。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
在本发明实施例中,发送端可以获取与接收端之间的网络连接的网络状态数据,该网络状态数据能够说明与接收端之间的网络连接的状态,因此发送端能够基于网络状态数据,确定传输控制参数,该传输控制参数即为针对网络状态所匹配的传输控制参数,所以发送端可以通过与接收端之间网络连接的网络状态相匹配的数据包封装格式,向接收端发送多媒体数据,而尽可能地确保所采用的传输方式与接收端之间网络连接的网络状态相匹配,充分利用通信网络的性能,提高传输质量和传输效率。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable GateArray,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
请参照图7,为本发明实施例所提供的一种网络设备的功能模块示意图。该电子设备可以包括存储有计算机程序的计算机可读存储介质701和处理器702,处理器702可以调用计算机可读存储介质701存储的计算机程序。当该计算机程序被处理器702读取并运行,可以实现上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器读取并运行时,可以实现上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random AccessMemory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种多媒体数据传输方法,其特征在于,所述方法包括:
获取与接收端之间网络连接的网络状态数据;
基于所述网络状态数据,确定传输多媒体数据的传输控制参数,所述传输控制参数包括数据包封装格式;
基于所述传输控制参数,向所述接收端发送多媒体数据。
2.如权利要求1所述的多媒体数据传输方法,其特征在于,所述基于所述网络状态数据,确定传输多媒体数据的传输控制参数包括:
若所述网络状态数据大于第一网络状态数据阈值,则确定所述数据包封装格式为节目流PS码流格式。
3.如权利要求1所述的多媒体数据传输方法,其特征在于,所述传输控制参数还包括丢帧级别和数据包长度中的至少一个。
4.如权利要求3所述的多媒体数据传输方法,其特征在于,当所述传输控制参数包括所述丢帧级别时,所述基于所述网络状态数据,确定传输多媒体数据的传输控制参数包括:
确定所述网络状态数据所在的网络状态数据区间;
获取与所述网络状态数据区间对应的丢帧级别,所述丢帧级别与所述网络状态数据成正相关。
5.如权利要求3所述的多媒体数据传输方法,其特征在于,当所述传输控制参数包括所述丢帧级别时,所述基于所述网络状态数据,确定传输多媒体数据的传输控制参数包括:
获取前一次发送多媒体数据所采用的丢帧级别;
若所述网络状态数据大于第二网络状态数据阈值,且所获取的丢帧级别不为最高丢帧级别,则将所获取到的丢帧级别增加一个级别以作为当前发送多媒体数据的丢帧级别;
若在第一预设时间段内,所述网络状态数据均小于或等于第三网络状态数据阈值,且所获取的丢帧级别不为最低丢帧级别,则将所获取到的丢帧级别降低一个级别以作为当前发送多媒体数据的丢帧级别,所述第三网络状态数据阈值小于所述第二网络状态数据阈值。
6.如权利要求3-5任一所述的多媒体数据传输方法,其特征在于,当所述传输控制参数包括所述丢帧级别和所述数据包长度时,所述基于所述网络状态数据,确定传输多媒体数据的传输控制参数包括:
获取前一次发送多媒体数据所采用的数据包长度;
若在第二预设时间段内,发送多媒体数据所采用的丢帧级别均为最低级别,且所述网络状态数据均小于或等于第四网络状态数据阈值,则将获取到的数据包长度增加第一预设长度以作为当前发送多媒体数据的数据包长度。
7.如权利要求3所述的多媒体数据传输方法,其特征在于,所述方法还包括:
获取待发送多媒体数据;
对所述待发送多媒体数据进行识别得到帧序列,所述帧序列包括至少一个非关键帧;
所述基于所述传输控制参数,向所述接收端发送多媒体数据包括:
基于所述丢帧级别,获取与所述丢帧级别对应的丢帧系数;
基于所述丢帧系数,从所述至少一个非关键帧中删除与所述丢帧系数对应的非关键帧;
基于所述数据包封装格式和所述数据包长度,对删减之后的帧序列进行封装;
将封装得到的数据包发送给所述接收端。
8.如权利要求1所述的多媒体数据传输方法,其特征在于,所述网络状态数据包括丢包率。
9.一种多媒体数据传输装置,其特征在于,所述装置包括:
第一获取模块,用于获取与接收端之间网络连接的网络状态数据;
确定模块,用于基于所述网络状态数据,确定传输多媒体数据的传输控制参数,所述传输控制参数包括数据包封装格式;
发送模块,用于基于所述传输控制参数,向所述接收端发送多媒体数据。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器读取并运行时,实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810984050.6A CN110868373A (zh) | 2018-08-27 | 2018-08-27 | 多媒体数据传输方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810984050.6A CN110868373A (zh) | 2018-08-27 | 2018-08-27 | 多媒体数据传输方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110868373A true CN110868373A (zh) | 2020-03-06 |
Family
ID=69651410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810984050.6A Pending CN110868373A (zh) | 2018-08-27 | 2018-08-27 | 多媒体数据传输方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110868373A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259759A (zh) * | 2021-05-20 | 2021-08-13 | 深圳市雷鸟网络传媒有限公司 | 一种网络连接状态评价方法、装置、终端设备和存储介质 |
CN114760491A (zh) * | 2022-04-18 | 2022-07-15 | 北京金山云网络技术有限公司 | 直播数据的传输系统、方法和装置、电子设备、存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562615A (zh) * | 2009-05-20 | 2009-10-21 | 宁波大学 | 基于mpeg-4编码的多媒体数据流自适应网络带宽的传输方法 |
CN103607255A (zh) * | 2013-10-21 | 2014-02-26 | 国家电网公司 | 无线信道视频通信丢包率控制方法 |
CN103686221A (zh) * | 2013-12-31 | 2014-03-26 | 北京大洋润博科技有限公司 | 一种适应公用无线网络实现音视频流畅播出的方法 |
CN104394484A (zh) * | 2014-11-12 | 2015-03-04 | 海信集团有限公司 | 一种无线实时流媒体传输方法 |
CN104735470A (zh) * | 2015-02-11 | 2015-06-24 | 海信集团有限公司 | 一种流媒体数据传输方法及装置 |
CN105357592A (zh) * | 2015-10-26 | 2016-02-24 | 山东大学苏州研究院 | 一种流媒体自适应传输选择性丢帧方法 |
US20160105478A1 (en) * | 2014-10-14 | 2016-04-14 | Intel IP Corporation | Carriage of media content quality information |
CN105791260A (zh) * | 2015-11-30 | 2016-07-20 | 武汉斗鱼网络科技有限公司 | 一种网络自适应的流媒体服务质量控制方法及装置 |
CN106210785A (zh) * | 2016-08-12 | 2016-12-07 | 浙江宇视科技有限公司 | 媒体流网络自适应单向控制方法及系统 |
CN108347427A (zh) * | 2017-12-29 | 2018-07-31 | 中兴通讯股份有限公司 | 一种视频数据传输、处理方法、装置及终端、服务器 |
-
2018
- 2018-08-27 CN CN201810984050.6A patent/CN110868373A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562615A (zh) * | 2009-05-20 | 2009-10-21 | 宁波大学 | 基于mpeg-4编码的多媒体数据流自适应网络带宽的传输方法 |
CN103607255A (zh) * | 2013-10-21 | 2014-02-26 | 国家电网公司 | 无线信道视频通信丢包率控制方法 |
CN103686221A (zh) * | 2013-12-31 | 2014-03-26 | 北京大洋润博科技有限公司 | 一种适应公用无线网络实现音视频流畅播出的方法 |
US20160105478A1 (en) * | 2014-10-14 | 2016-04-14 | Intel IP Corporation | Carriage of media content quality information |
CN104394484A (zh) * | 2014-11-12 | 2015-03-04 | 海信集团有限公司 | 一种无线实时流媒体传输方法 |
CN104735470A (zh) * | 2015-02-11 | 2015-06-24 | 海信集团有限公司 | 一种流媒体数据传输方法及装置 |
CN105357592A (zh) * | 2015-10-26 | 2016-02-24 | 山东大学苏州研究院 | 一种流媒体自适应传输选择性丢帧方法 |
CN105791260A (zh) * | 2015-11-30 | 2016-07-20 | 武汉斗鱼网络科技有限公司 | 一种网络自适应的流媒体服务质量控制方法及装置 |
CN106210785A (zh) * | 2016-08-12 | 2016-12-07 | 浙江宇视科技有限公司 | 媒体流网络自适应单向控制方法及系统 |
CN108347427A (zh) * | 2017-12-29 | 2018-07-31 | 中兴通讯股份有限公司 | 一种视频数据传输、处理方法、装置及终端、服务器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259759A (zh) * | 2021-05-20 | 2021-08-13 | 深圳市雷鸟网络传媒有限公司 | 一种网络连接状态评价方法、装置、终端设备和存储介质 |
CN114760491A (zh) * | 2022-04-18 | 2022-07-15 | 北京金山云网络技术有限公司 | 直播数据的传输系统、方法和装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101758167B1 (ko) | 미디어 콘텐츠의 적응 스트리밍을 위한 품질 정보의 사용 | |
KR102305407B1 (ko) | 비디오 전송 방법 및 시스템 및 장치 | |
CN101577631B (zh) | 评价用户体验质量的方法、系统及网络装置 | |
CN109495505B (zh) | 流媒体协议转换方法、装置、系统及计算机可读介质 | |
US11284135B2 (en) | Communication apparatus, communication data generation method, and communication data processing method | |
EP2086174A1 (en) | A method and system of multimedia service performance monitoring | |
US20150110168A1 (en) | Video data transmission method and apparatus | |
WO2018014523A1 (zh) | 一种媒体数据的获取方法和装置 | |
CN109511011B (zh) | 一种面向YouTube DASH加密视频的指纹数据库构建方法 | |
CN113891175B (zh) | 直播推流方法、装置及系统 | |
EP3780642A1 (en) | Streaming media data processing method and streaming media processing server | |
CN109089174B (zh) | 一种多媒体数据流的处理方法及装置、计算机存储介质 | |
CN107920072B (zh) | 一种基于数据特征的多媒体共享方法及系统 | |
CN110868373A (zh) | 多媒体数据传输方法、装置及计算机可读存储介质 | |
CN111263113B (zh) | 数据包的发送方法及装置、数据包的处理方法及装置 | |
CN111726647B (zh) | 数据分流设备和数据处理系统 | |
CA2934905C (en) | Communication apparatus, communication data generation method, and communication data processing method | |
CN112019604A (zh) | 边缘数据传输方法和系统 | |
CN101296166A (zh) | 基于索引的多媒体数据的测量方法 | |
CN114979094A (zh) | 一种基于rtp的数据传输方法、装置、设备和介质 | |
CN114979093A (zh) | 一种基于rtp的数据传输方法、装置、设备和介质 | |
CN109995589B (zh) | 日志采集方法及系统 | |
CN113472680A (zh) | 丢包处理方法、装置、通信装置及系统 | |
CN114531332A (zh) | 数据传输方法、数据处理方法、设备及存储介质 | |
EP3811572A1 (en) | Processing local area network diagnostic data |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200306 |
|
RJ01 | Rejection of invention patent application after publication |