CN109068147A - 一种多媒体数据传输方法、装置以及相关设备 - Google Patents

一种多媒体数据传输方法、装置以及相关设备 Download PDF

Info

Publication number
CN109068147A
CN109068147A CN201811088057.6A CN201811088057A CN109068147A CN 109068147 A CN109068147 A CN 109068147A CN 201811088057 A CN201811088057 A CN 201811088057A CN 109068147 A CN109068147 A CN 109068147A
Authority
CN
China
Prior art keywords
server
data
target
live broadcast
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811088057.6A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201811088057.6A priority Critical patent/CN109068147A/zh
Publication of CN109068147A publication Critical patent/CN109068147A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种多媒体数据传输方法、装置以及相关设备,方法包括:第一服务器获取目标直播流媒体数据;若第一服务器中存在和第二服务器建立连接关系的通信记录,则第一服务器根据通信记录对目标直播流媒体数据进行加密处理;第一服务器根据加密处理后的目标直播流媒体数据生成多个目标数据包,并为每个目标数据包设置排列序号;第一服务器向第二服务器并行传输多个目标数据包,以使第二服务器对多个目标数据包所包含的直播流媒体数据进行解密处理,并根据排列序号将解密处理后的直播流媒体数据组合为目标直播流媒体数据。采用本发明,可以提高直播流媒体数据的传输效率。

Description

一种多媒体数据传输方法、装置以及相关设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种多媒体数据传输方法、装置以及相关设备。
背景技术
随着新媒体时代的到来,许多与互联网相关的文化创意产业相继涌现。网络视频直播就是其中一个独具代表性的新兴产业。它具有强大的传播性、互动性,广泛的受众性和独具特色的盈利模式。数据显示,截止2018年2月,我国在线直播平台数据已经超过200家,且网络直播直播用户规模达到3.25亿,占网民总体数量的45.8%。由此可见,视频直播具有良好的发展前景。
在现有直播推流技术中,客户端(直播数据录制端)将直播视频数据和音频数据发送至数据服务器,由数据服务器封装为流媒体数据后,基于传输控制协议(TransportControl Protocol,tcp)将流媒体数据再实时传输至流媒体服务器,后续由流媒体服务器分发至观众终端。采用tcp传输主要是因为tcp协议一种面向连接、可靠的传输层协议。面向连接是指一次正常的tcp传输需要通过在数据服务器和流媒体服务器建立特定的虚电路连接来完成,该过程通过被称为“三次握手”。建立了数据服务器和流媒体服务器之间的连接关系后,为了保证tcp传输数据的可靠性,数据服务器每次发送了数据后流媒体服务器都要返回确认消息用于表明已收到数据。传输数据的过程为:数据服务器向流媒体服务器发送序号为1000的数据包,流媒体服务器接收到数据包后向数据服务器反馈已接收到序号为1000的数据包的消息。数据服务器继续向流媒体服务器发送序号为2000的数据包,流媒体服务器接收到数据包后向数据服务器反馈已接收到序号为2000的数据包的消息,以此类推,直到发送完所有的数据包为止。
上述可知,基于tcp传输协议每次传输直播流媒体数据时,都需要三次握手用于建立连接关系,连接耗时过大;且直播流媒体数据的有序串行传输会大大降低传输数据的效率。
发明内容
本发明实施例提供一种多媒体数据传输方法、装置以及相关设备,可以提高直播流媒体数据的传输效率。
本发明实施例一方面提供了一种多媒体数据传输方法,包括:
第一服务器获取目标直播流媒体数据;
若所述第一服务器中存在和第二服务器建立连接关系的通信记录,则所述第一服务器根据所述通信记录对所述目标直播流媒体数据进行加密处理;
所述第一服务器根据加密处理后的目标直播流媒体数据生成多个目标数据包,并为每个目标数据包设置排列序号;
所述第一服务器向所述第二服务器并行传输所述多个目标数据包,以使所述第二服务器对所述多个目标数据包所包含的直播流媒体数据进行解密处理,并根据所述排列序号将解密处理后的直播流媒体数据组合为所述目标直播流媒体数据。
其中,还包括:
所述第一服务器向所述第二服务器发送连接请求;
所述第一服务器接收所述第二服务器根据所述连接请求返回的目标密钥算法信息和所述第二服务器的公钥信息;
所述第一服务器根据所述目标密钥算法信息、所述第二服务器的公钥信息、所述第一服务器的本地私钥,计算目标对称密钥和所述第一服务器的公钥信息;
所述第一服务器根据所述目标对称密钥,生成所述通信记录,并向所述第二服务器发送所述第一服务器的公钥信息,以使所述第二服务器根据所述第一服务器的公钥信息、所述目标密钥算法信息和第二服务器的本地私钥,计算所述目标对称密钥。
其中,所述第一服务器根据加密处理后的目标直播流媒体数据生成多个目标数据包,包括:
所述第一服务器将加密处理后的目标直播流媒体数据确定为加密流媒体数据;
所述第一服务器将所述加密流媒体数据划分为多个加密分段流媒体数据,为每个加密分段流媒体数据设置第一包头信息,对所述第一包头信息进行认证处理,得到第一目标包头信息,并将每个具有所述第一目标包头信息的加密分段流媒体数据封装为内容数据包;
所述第一服务器将所有内容数据包划分为多个数据包集合,对每个数据包集合中所包含的加密分段流媒体数据进行前向错误纠正处理,得到目标冗余数据;
所述第一服务器为所述目标冗余数据设置第二包头信息,对所述第二包头信息进行认证处理,得到第二目标包头信息,将每个具有第二目标包头信息的目标冗余数据封装为冗余数据包;所述冗余数据包是用于当所述第二服务器接收内容数据包失败时,恢复接收失败的内容数据包中的加密分段流媒体数据;
所述第一服务器将所有内容数据包和所有冗余数据包均确定为所述目标数据包。
其中,所述第一服务器获取目标直播流媒体数据,包括:
所述第一服务器获取与第一录制参数对应的第一网络环境参数,并获取第二网络环境参数;所述第一录制参数是用于客户端生成处于所述第一网络环境参数下的历史音频数据和历史视频数据;
当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于目标阈值时,所述第一服务器调整所述第一录制参数,得到第二录制参数;所述第二录制参数和所述第二网络环境参数相匹配;
所述第一服务器将所述第二录制参数发送至所述客户端,以使所述客户端根据所述第二录制参数生成目标音频数据和目标视频数据;
所述第一服务器接收所述客户端发送的所述目标音频数据和所述目标视频数据,并将所述目标音频数据和所述目标视频数据封装为所述目标直播流媒体数据。
其中,所述当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于目标阈值时,所述第一服务器调整所述第一录制参数,得到第二录制参数,包括:
当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于所述目标阈值时,所述第一服务器获取与所述第一网络环境参数相关联的原始网络环境参数,并获取与所述原始网络环境参数对应的原始录制参数;
所述第一服务器根据所述原始录制参数、所述原始网络环境参数和所述第二网络环境参数,计算所述第二录制参数。
其中,还包括:
当所述第一服务器向所述第二服务器传输所述多个目标数据包后,所述第一服务器从本地日志信息中提取所述目标直播流媒体数据的目标传输性能指标;所述目标传输性能指标是所述第一服务器获取所述目标直播流媒体数据时或向所述第二服务器传输所述目标直播流媒体数据时所采集的;
所述第一服务器根据所述目标传输性能指标评估所述目标直播流媒体数据的传输质量。
其中,还包括:
所述第一服务器从所述目标直播流媒体数据中提取目标流媒体子数据;所述目标流媒体子数据对应的码率低于码率阈值;
所述第一服务器统计所述目标流媒体子数据的时长,将统计出来时长作为纯音频数据时长;
当所述第一服务器向所述第二服务器发送所述目标直播流媒体数据时,所述第一服务器统计所述第一服务器重新连接所述第二服务器的频次,并将统计出来的频次作为重新连接频次;
所述第一服务器将所述纯音频数据时长和所述重新连接频次均作为所述目标传输性能指标,并将所述目标传输性能指标存储至所述第一服务器的本地日志信息中。
本发明实施例另一方面提供了一种多媒体数据传输方法,包括:
第二服务器接收第一服务器发送的多个目标数据包;所述目标数据包是所述第一服务器将目标直播流媒体数据加密后用于传输所生成的数据包,且每个数据包携带排列序号;
所述第二服务器对每个目标数据包进行解密处理,得到每个目标数据包对应的解密流媒体数据;
所述第二服务器根据每个目标数据包对应的排列序号,确定位置信息,并根据所述位置信息将多个解密流媒体数据组合为所述目标直播流媒体数据。
本发明实施例另一方面提供了一种多媒体数据传输装置,包括:
获取模块,用于获取目标直播流媒体数据;
加密模块,用于若第一服务器中存在和第二服务器建立连接关系的通信记录,则根据所述通信记录对所述目标直播流媒体数据进行加密处理;
生成模块,用于根据加密处理后的目标直播流媒体数据生成多个目标数据包;
设置模块,用于为每个目标数据包设置排列序号;
传输模块,用于向所述第二服务器并行传输所述多个目标数据包,以使所述第二服务器对所述多个目标数据包所包含的直播流媒体数据进行解密处理,并根据所述排列序号将解密处理后的直播流媒体数据组合为所述目标直播流媒体数据。
其中,还包括:
发送模块,用于向所述第二服务器发送连接请求;
所述发送模块,还用于接收所述第二服务器根据所述连接请求返回的目标密钥算法信息和所述第二服务器的公钥信息;
计算模块,用于根据所述目标密钥算法信息、所述第二服务器的公钥信息、所述第一服务器的本地私钥,计算目标对称密钥和所述第一服务器的公钥信息;
所述计算模块,还用于根据所述目标对称密钥,生成所述通信记录,并向所述第二服务器发送所述第一服务器的公钥信息,以使所述第二服务器根据所述第一服务器的公钥信息、所述目标密钥算法信息和第二服务器的本地私钥,计算所述目标对称密钥。
其中,所述生成模块,包括:
确定单元,用于将加密处理后的目标直播流媒体数据确定为加密流媒体数据;
划分单元,用于将所述加密流媒体数据划分为多个加密分段流媒体数据,为每个加密分段流媒体数据设置第一包头信息,对所述第一包头信息进行认证处理,得到第一目标包头信息,并将每个具有所述第一目标包头信息的加密分段流媒体数据封装为内容数据包;
所述划分单元,还用于将所有内容数据包划分为多个数据包集合,对每个数据包集合中所包含的加密分段流媒体数据进行前向错误纠正处理,得到目标冗余数据;
所述划分单元,还用于为所述目标冗余数据设置第二包头信息,对所述第二包头信息进行认证处理,得到第二目标包头信息,将每个具有第二目标包头信息的目标冗余数据封装为冗余数据包;所述冗余数据包是用于当所述第二服务器接收内容数据包失败时,恢复接收失败的内容数据包中的加密分段流媒体数据;
所述确定单元,还用于将所有内容数据包和所有冗余数据包均确定为所述目标数据包。
其中,所述获取模块,包括:
获取单元,用于获取与第一录制参数对应的第一网络环境参数,并获取第二网络环境参数;所述第一录制参数是用于客户端生成处于所述第一网络环境参数下的历史音频数据和历史视频数据;
调整单元,用于当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于目标阈值时,调整所述第一录制参数,得到第二录制参数;所述第二录制参数和所述第二网络环境参数相匹配;
生成单元,用于将所述第二录制参数发送至所述客户端,以使所述客户端根据所述第二录制参数生成目标音频数据和目标视频数据;
所述生成单元,还用于接收所述客户端发送的所述目标音频数据和所述目标视频数据,并将所述目标音频数据和所述目标视频数据封装为所述目标直播流媒体数据。
其中,所述调整单元,包括:
获取子单元,用于当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于所述目标阈值时,获取与所述第一网络环境参数相关联的原始网络环境参数,并获取与所述原始网络环境参数对应的原始录制参数;
计算子单元,用于根据所述原始录制参数、所述原始网络环境参数和所述第二网络环境参数,计算所述第二录制参数。
其中,还包括:
第一提取模块,用于当所述第一服务器向所述第二服务器传输所述多个目标数据包后,从本地日志信息中提取所述目标直播流媒体数据的目标传输性能指标;所述目标传输性能指标是所述第一服务器获取所述目标直播流媒体数据时或向所述第二服务器传输所述目标直播流媒体数据时所采集的;
评估模块,用于根据所述目标传输性能指标评估所述目标直播流媒体数据的传输质量。
其中,还包括:
第二提取模块,用于从所述目标直播流媒体数据中提取目标流媒体子数据;所述目标流媒体子数据对应的码率低于码率阈值;
统计模块,用于统计所述目标流媒体子数据的时长,将统计出来时长作为纯音频数据时长;
所述统计模块,还用于当所述第一服务器向所述第二服务器发送所述目标直播流媒体数据时,统计所述第一服务器重新连接所述第二服务器的频次,并将统计出来的频次作为重新连接频次;
所述第二提取模块,还用于将所述纯音频数据时长和所述重新连接频次均作为所述目标传输性能指标,并将所述目标传输性能指标存储至所述第一服务器的本地日志信息中。
本发明实施例另一方面提供了一种多媒体数据传输装置,包括:
接收模块,用于接收第一服务器发送的多个目标数据包;所述目标数据包是所述第一服务器将目标直播流媒体数据加密后用于传输所生成的数据包,且每个数据包携带排列序号;
解密模块,用于对每个目标数据包进行解密处理,得到每个目标数据包对应的解密流媒体数据;
组合模块,用于根据每个目标数据包对应的排列序号,确定位置信息,并根据所述位置信息将多个解密流媒体数据组合为所述目标直播流媒体数据。
本发明另一方面提供了一种电子设备,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如本发明实施例中一方面中的方法。
本发明实施例另一方面提供了一种电子设备,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如本发明实施例中另一方面中的方法。
本发明实施例另一方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本发明实施例中一方面中的方法。
本发明实施例另一方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本发明实施例中另一方面中的方法。
本发明实施例中的第一服务器获取目标直播流媒体数据;若第一服务器中存在和第二服务器建立连接关系的通信记录,则第一服务器根据通信记录对目标直播流媒体数据进行加密处理;第一服务器根据加密处理后的目标直播流媒体数据生成多个目标数据包,并为每个目标数据包设置排列序号;第一服务器向第二服务器并行传输多个目标数据包,以使第二服务器对多个目标数据包所包含的直播流媒体数据进行解密处理,并根据排列序号将解密处理后的直播流媒体数据组合为目标直播流媒体数据。上述可知,只要第一服务器中存储了和第二服务器之间的通信记录,那么后续终端就可以直接向第二服务器可靠地传输数据,而不必执行三次握手建立连接关系再可靠地传输数据,通过节省建立连接关系操作可以提高第一服务器向第二服务器传输数据的效率;同时,在传输过程中,多个数据包可以在信道中并行传输,第二服务器根据每个数据包的排列序号可以将无序接收的数据包组合为有序的直播流媒体数据,而不是通过限定数据包有序串行地发送来保证第二服务器可以接收到有序的直播流媒体数据,从而可以进一步地提高直播流媒体数据的传输效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种多媒体数据传输方法的系统架构图;
图2a-图2b是本发明实施例提供的一种多媒体数据传输方法的场景示意图;
图3是本发明实施例提供的一种多媒体数据传输方法的流程示意图;
图4a-图4b是本发明实施例提供的一种对比传输性能指标的示意图;
图4c-图4d是本发明实施例提供的另一种对比传输性能指标的示意图;
图5是本发明实施例提供的另一种多媒体数据传输方法的流程示意图;
图6是本发明实施例提供的一种多媒体数据传输装置的结构示意图;
图7是本发明实施例提供的另一种多媒体数据传输装置的结构示意图;
图8是本发明实施例提供的一种电子设备的结构示意图;
图9是本发明实施例提供的另一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明实施例提供的一种多媒体数据传输方法的系统架构图。下述第一服务器10a是直播推流中执行数据封装操作的服务器,第二服务器10h是直播推流中分发直播流媒体数据至观众用户端的流媒体服务器。如图1所示,第一服务器10a为终端设备集群中的终端设备提供相应的服务,终端设备集群可以包括:终端设备10b、终端设备10c、...、终端设备10d等。当用户(可以是用户10e、用户10f或用户10g)在终端设备(可以是终端设备10b、终端设备10c或终端设备10d)上进行直播时,终端设备采集直播过程中所生成的音频数据和视频数据,并将上述数据一并发送至第一服务器10a。第一服务器10a将上述数据封装为流媒体数据,并查找本地通信记录中是否存在和第二服务器10h之间的通信记录。若存在和第二服务器10h之间的通信记录,则第一服务器10a将封装后的流媒体数据加密处理,并根据加密处理后的流媒体数据生成多个数据包,为每个数据包设置唯一的排列序号。第一服务器10a可以无序地向第二服务器10h并行传输携带排列序号的数据包,第二服务器10h根据排列序号将接收到的数据包解密处理并组合为有序的流媒体数据。当然,后续第二服务器10h可以将上述流媒体数据存储在数据库中,以及将上述流媒体数据编码后再转码为多种格式的视频数据(例如,mp4格式、hls(HTTP Live Streaming,动态码率自适应技术)格式等)。当接收到播放请求时,第二服务器10h将转码后的视频数据发送至发送播放请求的终端,以使该终端播放直播视频数据。
下述图2a-图2b以第一服务器10a、一个终端设备(终端设备10b)、一个用户(用户10e)、第二服务器10h为例进行说明,如何提高直播流媒体数据的传输效率。
请参见图2a-图2b,是本发明实施例提供的一种多媒体数据传输方法的场景示意图。用户10e在终端设备10b前进行直播,由终端设备10b采集直播过程中的音频数据和视频数据。终端设备10b将采集到的数据发送至第一服务器10a,第一服务器10a将采集到的音频数据和视频数据封装为流数据格式的直播流媒体数据20a,流数据格式可以包括:AVI格式(后缀为.AVI),DV-AVI格式(后缀为.AVI),QuickTime File Format格式(后缀为.MOV)等。在终端设备10b采集直播过程中所生成的音频数据和视频数据时,为了使传输采集到视频数据和视频数据更稳定,需要动态调整与视频数据和音频数据相关的录制参数(录制参数可以包括视频码率、视频分辨率等),以使采集到的视频数据和音频数据和当前网络环境参数(网络环境参数可以是网络带宽)相匹配。
调整录制参数的过程为:假设当前时刻时为t时刻,前一时刻为t-1时刻,第一服务器10a获取t时刻的网络环境参数,以及获取t-1时刻的网络环境参数以及与t-1时刻网络环境参数对应的t-1时刻的录制参数,其中t-1时刻的录制参数所生成的音频数据和视频数据分别称为历史音频数据和历史视频数据。检测t时刻的网络环境参数和t-1时刻的网络环境参数之间的变化量,若变化量大于预设的目标阈值,说明网络发生较大波动,由第一服务器10a计算t时刻的视频录制参数,使得t时刻的录制参数和t时刻的网络环境参数相匹配。第一服务器10a将计算出来的录制参数发送至终端设备10b,终端设备10b基于t时刻的录制参数录制音频数据和视频数据,进而发送至第一服务器10a用于生成直播流媒体数据20a。通过上述动态调整录制参数,使得每一时刻所生成的音频数据和视频数据和该时刻的网络环境参数都相匹配。
后续第一服务器10a需要将封装好的直播流媒体数据20a发送至第二服务器10h,为了提高传输直播流媒体数据20a的效率和可靠性,在第一服务器10a的本地通信记录表中查找第一服务器10a中是否存在和第二服务器10h建立连接关系的通信记录,若存在和第二服务器10h建立连接关系的通信记录,说明第一服务器10a和第二服务器10h之间有过历史连接关系,可以直接向第二服务器10h传输数据,以保证直播流媒体数据传输的可靠性。若第一服务器10a中不存在和第二服务器10h建立连接关系的通信记录,那么可以实时地建立和第二服务器10h之间的连接。
通过第一服务器10a和第二服务器10h各自保留自己的本地私钥,交换各自的公钥信息,进而双方可以计算出相等的对称密钥。这样就完成了建立第一服务器10a和第二服务器10h之间连接关系的过程,且上述过程只需要花费1个RTT(Round-Trip Time,往返时间),平均耗时在100ms以内。从此处可以看出,基于tcp协议的三次握手需要花费3个RTT,平均耗时在300ms,就算采用本方案实时建立第一服务器10a和第二服务器10h之间的连接关系,相比tcp协议的连接过程,耗时也会大大的缩短。需要说明的是,第一服务器10a和第二服务器10h之间各自计算了对称密钥后,第一服务器10a就可以在本地生成和第二服务器10h建立连接关系的通信记录,后续当第一服务器10a还需向第二服务器10h传输数据时,或者由于当网络不稳定终端设备10b存在和第二服务器10h断开连接的情况时,就可以根据该通信记录,直接向第二服务器10h传输具有可靠性的数据,而不必再次建立连接关系(生成通信记录)。
确定了第一服务器10a中存在和第二服务器10h建立连接关系的通信记录后,为了保证数据传输的安全性,将传输的数据进行加密传输,即是根据和第二服务器10h对称的对称密钥和第一服务器10a的本地私钥,将直播流媒体数据20a进行加密处理,将加密处理后的直播流媒体数据称为加密流媒体数据。第一服务器10a将加密流媒体数据按照大小划分为多个分段加密流媒体数据,并为每个分段加密流媒体数据添加包头信息。为了进一步提高安全性,对添加的包头信息认证处理,并将每个分段加密流媒体数据和认证处理后的对应的包头信息封装为数据包。按照单调递增的原则为每个数据包设置排列序号。如图2a所示,可以根据直播流媒体数据20a得到对应的数据包:排列序号为1的数据包1、排列序号为2的数据包2、...、排列序号为50数据包50。如图2b所示,第一服务器10a可以通过信道20b向第二服务器10h并行、无序且可靠地传输上述数据包。
如图2b所示,第二服务器10h接收到上述数据包后,根据和第一服务器10a对称的对称密钥和第二服务器10h的本地私钥对每个数据包中的加密后的流媒体数据进行解密,得到每个数据包对应的解密流媒体数据。根据每个数据包对应的排列序号,确定每个数据包的位置信息,根据位置信息将多个解密流媒体数据组合为直播流媒体数据20a。第二服务器10h可以将直播流媒体数据20a存储在对应的数据库中,至此,就完成了从第一服务器10a向第二服务器10h传输直播流媒体数据20a的整个过程。后续,第二服务器10h可以将获取到直播流媒体数据20a编码为多种分辨率和多种格式的可播放直播流数据以应对不同的播放请求,例如分辨率为270p或者360p;或者格式为mp4格式、hls格式的可播放直播流数据。当第二服务器10h获取到用户设备20c发送的播放请求时,第二服务器10h根据当前的网络环境和用户设备20c可支持的传输协议,选择匹配的可播放直播流数据发送至用户设备20c。如图2b所示,用户设备20c接收到第二服务器10h发送的可播放直播流数据后,播放关于用户10e的直播流媒体数据20a。
只要第一服务器中存储了和第二服务器之间的通信记录,那么后续终端就可以直接向第二服务器可靠地传输数据,通过节省建立连接关系操作可以提高第一服务器向第二服务器传输数据的效率;同时,在传输过程中,多个数据包可以在信道中并行传输,第二服务器根据每个数据包的排列序号可以将无序接收的数据包组合为有序的直播流媒体数据,从而可以进一步地提高直播流媒体数据的传输效率。
其中,动态调整录制参数、对直播流媒体数据加密处理以及为每个数据包设置排列序号的具体过程可以参见以下图3至图5所对应的实施例。
进一步地,请参见图3,是本发明实施例提供的一种多媒体数据传输方法的流程示意图。如图3所示,所述多媒体数据传输方法可以包括:
步骤S101,第一服务器获取目标直播流媒体数据。
具体的,下述第一服务器是直播推流中执行数据封装操作的服务器,第二服务器是直播推流中分发直播流媒体数据至观众用户端的流媒体服务器。为了可靠、且快速地由第一服务器向第二服务器发送目标直播流媒体数据,尤其是在弱网络环境下(即网络带宽较窄),可以采用quic(Quick UDP Internet Connection,快速UDP互联网连接)传输协议传输直播流媒体数据,其中quic协议是一种基于udp的低时延的互联网传输层协议,兼有udp(User Datagram Protocol,用户数据报协议)的低延迟、高效率与tcp协议的高可靠性的特点。
第一服务器(如上述图2a中的第一服务器10a)获取待传输的目标直播流媒体数据(如上述图2a中的直播流媒体数据20a)。其中获取目标直播流媒体数据的具体过程为:第一服务器获取第一录制参数以及与该第一录制参数相匹配的第一网络环境参数;第一录制参数是用于直播录制端(称为客户端)生成处于第一网络环境参数下时的历史音频数据和历史视频数据;录制参数可以包括视频码率、视频分辨率等。当第一服务器接收到网络检测请求时,再获取第二网络环境参数。可以理解为,第一网络环境参数是t时刻的网络环境参数,第二网络环境参数是t+1时刻的网络环境参数,与t时刻的网络环境参数相匹配的录制参数是第一录制参数;接下来是第一服务器要根据t+1时刻的网络环境参数计算t+1时刻的录制参数,以使t+1时刻的录制参数和t+1时刻的网络环境参数相匹配。第一服务器检测第一网络环境参数和第二网络环境参数之间的变化量是否大于预设的目标阈值,若小于或者等于该目标阈值,说明网络没有波动或者波动较小,那么客户端保持第一录制参数不变,继续基于第一录制参数生成音频数据和视频数据。若变化量大于该目标阈值,说明网络波动较大,那么第一服务器计算新的录制参数,称为第二录制参数,使得第二录制参数和第二网络环境参数相匹配。其中,录制参数和网络环境参数相匹配可以是指录制参数中的视频码率不大于网络环境参数中的带宽。
第一服务器将计算得到的第二录制参数发送至客户端,客户端根据该第二录制参数生成音频数据(称为目标音频数据)和视频数据(称为目标视频数据)。第一服务器接收客户端发送的目标音频数据和目标视频数据,并将上述目标视频数据和目标音频数据封装为流数据格式的目标直播流媒体数据,流数据格式可以包括:AVI格式,DV-AVI格式,QuickTime File Format格式等,也就是说,目标直播流媒体数据是既包括画面,也包括与每一帧画面相对应的声音的数据。上述可知,由第一服务器监控客户端的网络状态,进而使客户端动态调整录制参数,可以使得生成的音频数据和视频数据和对应的网络状态都相匹配。
计算第二录制参数的具体过程为:第一服务器获取与第一网络环境参数相关联的原始网络环境参数,原始网络环境参数是用户本次开始直播时所测得的网络参数,如果第一网络环境参数是t时刻的网络环境参数,那么原始网络环境参数是本次录制直播流媒体数据的第一时刻的网络环境参数。对应的,与原始网络环境参数对应的录制参数称为原始录制参数。根据原始网络环境参数、第二网络环境参数、原始录制参数之间的比例关系,计算第二录制参数,其中原始网络环境参数除以第二网络环境参数得到的第一比例值和原始录制参数除以第二录制参数得到的第二比例值相等。如果录制参数包括多个参数(例如,录制参数包括视频码率和视频分辨率),那么每个参数都要满足上述比例关系。
客户端根据第二录制参数生成目标音频数据和目标视频的具体过程为:当第二录制参数包括视频码率和视频分辨率时,第一服务器根据第二分辨率生成多张视频帧图像,根据第二码率压缩上述多张视频帧图像,将压缩后的多张视频帧图像组合为视频数据(称为目标视频数据),在确定目标视频数据的同时采集原始音频数据,并按照第二码率压缩该原始音频数据(称为目标音频数据)。
步骤S102,若所述第一服务器中存在和第二服务器建立连接关系的通信记录,则所述第一服务器根据所述通信记录对所述目标直播流媒体数据进行加密处理。
具体的,Quic协议的传输具体过程为:第一服务器在本地查找是否存在和第二服务器(如上述图2a中的第二服务器10h)建立连接关系的通信记录,该通信记录包括第一服务器和第二服务器之间的对称密钥(称为目标对称密钥),第二服务器的配置信息(第二服务器的配置信息主要包括目标密钥算法、第二服务器的公钥信息等),也就是说,若第一服务器和第二服务器交换过各自的公钥,且存储了对称密钥,那么第一服务器中就存在和第二服务器建立连接关系的通信记录,即第一服务器和第二服务器建立过连接关系。进而第一服务器根据通信记录中的目标对称密钥、目标密钥算法以及第一服务器的本地私钥,可以将目标直播流媒体数据转换为无意义的密文(cipher text),即是对目标直播流媒体数据加密处理,这样可以增强传输过程的安全性。
可选的,如果第一服务器和第二服务器没有交换过各自的公钥,说明第一服务器和第二服务器没有建立过连接关系,进而第一服务器中就不存在和第二服务器建立连接关系的通信记录,那么可以实时地为第一服务器和第二服务器建立连接关系,即实时地在第一服务器中添加上述通信记录。具体过程为:第一服务器向第二服务器发送连接请求。第一服务器接收第二服务器根据该连接请求返回的第二服务器的配置信息,第二服务器配置信息包括:目标密钥算法、第二服务器的公钥信息等。第二服务器可以根据目标密钥算法和第二服务器的本地私钥,确定第二服务器的公钥信息,当目标密钥算法为Diffie-Hellman密钥交换算法时,第二服务器具体可以采用公式(1)计算第二服务器的公钥信息:
B=Gbmod P (1)
其中,b表示第二服务器的本地私钥;B表示第二服务器的公钥信息;G和P是Diffie-Hellman密钥交换算法中的两个参数,且上述两个参数是数值很大的质数。
第一服务器根据目标密钥算法、第二服务器的公钥信息、第一服务器的本地私钥,计算和第二服务器之间的目标对称密钥以及第一服务器的公钥信息。与上述公式(1)对应,第一服务器可以采用公式(2)计算第一服务器的公钥信息以及采用公式(3)计算目标对称密钥:
A=Gamod P (2)
S=Ba mod P (3)
其中,A表示第一服务器的公钥信息;B表示第二服务器的公钥信息;S表示目标对称密钥;a表示第一服务器的本地私钥。
第一服务器根据目标对称密钥生成通信记录,并向第二服务器发送生成的公钥信息,以使第二服务器根据第一服务器的公钥信息、目标密钥算法信息和所述第二服务器的本地私钥,计算和第一服务器之间的目标对称密钥,即是第一服务器和第二服务器通过交互各自的公钥信息,分别计算相同的目标对称密钥。与上述公式(1)、公式(2)和公式(3)对应,第二服务器可以采用公式(4)计算目标对称密钥:
S=Abmod P (4)
其中,A表示第一服务器的公钥信息;b表示第二服务器的本地私钥;P是Diffie-Hellman密钥交换算法中的参数。
后续第一服务器可以根据目标密钥算法、目标对称密钥以及第一服务器的本地私钥对目标直播流媒体数据加密,对应地,第二服务器也可以根据目标密钥算法、目标对称密钥以及第二服务器的本地私钥对加密后的目标直播流媒体数据解密。上述可知,第一服务器和第二服务器交换公钥以计算目标对称密钥只需要花费1个RTT,相比tcp的三次握手(即三次RTT),本发明中第一服务器和第二服务器建立连接关系的耗时短暂。
步骤S103,所述第一服务器根据加密处理后的目标直播流媒体数据生成多个目标数据包,并为每个目标数据包设置排列序号。
具体的,第一服务器将加密处理后的目标直播流媒体数据称为加密流媒体数据。将加密流媒体数据划分多个加密分段流媒体数据,为了使后续生成的数据包的大小尽量一致,在划分加密分段流媒体数据时,可以尽量使每个加密分段流媒体数据的大小一致。按照quic协议要求,为每个加密分段流媒体数据设置包头信息(称为第一包头信息),第一包头信息可以包括:公共标记(Public Flags)、连接ID、QUIC协议版本等。后续还需要对包头信息进行认证处理,这样可以进一步地保证传输数据的安全。需要说明的是,tcp协议根据具体的应用场景可以对传输的数据进行加密也可以不加密,但不会对包头信息进行认证。本发明不仅强制性地对传输数据进行加密,对包头信息也进行认证,以保证传输的安全性。因此,将第一包头信息进行认证处理,认证处理后得到的第一包头信息称为第一目标包头信息。将每个加密分段流媒体数据和对应的第一目标包头信息封装为数据包(称为内容数据包),该内容数据包就是传输目标直播流媒体数据的载体。将所有的内容数据包划分为多个数据包集合,一般说来,都是将每10个相邻数据包划分为一个数据包集合。对每个数据包集合中的数据包所包含的加密分段流媒体数据进行前向错误纠正处理,前向错误纠错处理就是对一个数据包集合中的所有加密分段流媒体数据进行异或运算,运算后得到的结果称为目标冗余数据。可以知道,划分的数据包集合的数量就等于目标冗余数据的数量。
同样按照quic协议要求,为每个目标冗余数据设置包头信息(称为第二包头信息),同样地,对每个第二包头信息认证处理,认证处理后得到的第二包头信息称为第二目标包头信息。将每个目标冗余数据和对应的第二目标包头信息封装为数据包(称为冗余数据包)。该冗余数据包是用于当第二服务器接收第一服务器传输的内容数据包失败时(或者称为丢包时),可以根据接收失败的数据包所在数据包集合对应的冗余数据包,以及该数据包集合中其余接收成功的内容数据包恢复该接收失败的数据包中的加密分段流媒体数据。将所有的内容数据包和冗余数据包均确定为目标数据包。当然,可以进行恢复的前提一个数据包集合中只有一个内容数据包接收失败,若一个数据包集合中不止一个内容数据包接收失败,那么仅仅根据冗余数据包也不能完成恢复,还是需要第二服务器向第一服务器发送重传请求,以使第一服务器重新发送接收失败的内容数据包。当然,若一个数据包集合丢失的是冗余数据包而所有的内容数据包都接收成功,后续可以不用恢复冗余数据包。上述可知,根据冗余数据包可以使得第二服务器具有一定的恢复数据能力,在弱网络环境状态下,当存在丢包的情况时,可以根据冗余数据包恢复数据,而不必由第一服务器重传内容数据包。当然,恢复内容数据包所花费的时间要远远低于重传内容数据包所花费的时间。
确定了目标数据包后,按照单调递增的原则为每个目标数据包设置排列序号,目标数据包中所包含的加密分段流媒体数据的生成时间越靠前,那么设置的排列序号就越小。需要说明的是,当传输过程中,出现丢包、且第一服务器向第二服务器重传丢失的目标数据包时,为重传的目标数据包设置的排列序号和原先丢失的目标数据包的排列序号不同,且为重传的目标数据包设置的排列序号要大于原先丢失的目标数据包的排列序号。也就是说,每个目标数据包的排列序号都是唯一的,这样可以避免重传歧义这个问题。重传歧义是若重传的数据包的序号和原始丢失的数据包的序号一致,接收方就不清楚接收到的数据包是原始数据包还是发送方重新发送的数据包,会导致计算RTT耗时不准确。
步骤S104,所述第一服务器向所述第二服务器并行传输所述多个目标数据包,以使所述第二服务器对所述多个目标数据包所包含的直播流媒体数据进行解密处理,并根据所述排列序号将解密处理后的直播流媒体数据组合为所述目标直播流媒体数据。
具体的,第一服务器向第二服务器并行、无序地传输多个目标数据包,且这种传输方式是具有高可靠性地传输方式。第二服务器接收到多个目标数据包后,对目标数据包中所包含的加密后的直播流媒体数据进行解密,并根据排列序号将解密后的直播流媒体数据组合为目标直播流媒体数据。这样可以保证,即使第二服务器接收到的目标数据包是无序的,也可以根据每个数据包的排列序号,将组合为有序的目标直播流媒体数据。
可选的,为了评估传输目标直播流媒体数据的传输质量,第一服务器可以在传输完多个目标数据包后,从第一服务器的本地日志信息中提取目标直播流媒体数据的传输性能指标(称为目标传输性能指标)。根据提取出来的目标传输性能指标评估本次传输目标直播流媒体数据的传输质量。目标传输性能指标可以包括:纯音频数据时长、第一服务器重新连接第二服务器的次数、视频丢数据总时长、CPU(Central Processing Unit,中央处理器)使用率、内存占用大小、视频码率、手机耗电量等。目标传输性能指标是第一服务器获取目标直播流媒体数据时,或向所述第二服务器传输目标直播流媒体数据时所采集到的。
可选的,上述目标性能指标也可以是作为标签tag存储在客户端的本地日志信息中,由客户端将上述目标性能指标(可以是多个客户端分别发送的目标性能指标)发送至第一服务器,由第一服务器进行汇总,再存储在第一服务器的本地日志信息中,用于评估第一服务器向第二服务器传输直播流媒体数据的传输质量。
可选的,当目标传输性能指标为纯音频数据时长和重新连接第二服务器的次数时,第一服务器从目标直播流媒体数据中提取出视频码率低于预设码率阈值的分段数据,作为目标流媒体子数据。当码率过低时(例如码率低于800kbps),此时直播流媒体数据中没有画面只有声音。因此,统计目标流媒体子数据的时长,并将统计出来的时长作为纯音频数据时长。当第一服务器向第二服务器传输目标直播流媒体数据时,第一服务器统计重新连接第二服务器的次数,并将统计出来的次数作为重新连接频次。第二服务器就可以根据统计出来的纯音频数据时长和重新连接频次评估本次传输目标直播流媒体数据的传输质量。
请参见图4a-图4b,是本发明实施例提供的一种对比传输性能指标的示意图。为了说明使用本发明的使用的quic协议传输直播流媒体数据,相比使用tcp协议传输直播流媒体数据具有更好的传输效率。首先在强网络状态下录制直播流媒体数据20分钟,然后在弱网络状态下录制直播流媒体数据20分钟,再切换至强网络状态下录制20分钟直播流媒体数据20分钟,且开始录制直播流媒体数据时,采用两种传输方式的原始分辨率和原始码率都需要保持一致,将视频丢数据总时长作为传输性能指标。其中,图4a是采用tcp协议传输直播流媒体数据,图4b是采用本发明的方法传输直播流媒体数据。从上述两张对比图可以看出,在1200秒-2300秒这个时间阶段,即使处于弱网络状态下录制直播流媒体数据时,采用tcp协议传输数据的丢失视频数据总时长增加至250000ms,而采用本发明所涉及的方法传输视频数据,丢失视频数据总时长最高为50000ms,可见在弱网络状态下,采用本发明的传输方式丢失数据少,传输可靠性高,具有更好的传输质量。
请一并参见图4b-图4c,是本发明实施例提供的另一种对比传输性能指标的示意图。仍旧采用上述图4a-图4b的对比条件,将重连第二服务器次数作为传输性能指标。其中,图4c是采用tcp协议传输直播流媒体数据,图4d是采用本发明的方法quic协议传输直播流媒体数据。从上述两张对比图可以看出,在1200秒-2300秒这个时间阶段,即使处于弱网络状态下录制直播流媒体数据时,采用tcp协议传输数据的重连第二服务器次数增加至68次,而采用本发明所涉及的方法传输视频数据,重连第二服务器次数为0次,可见在弱网络状态下,采用本发明也可以持续传输视频数据,而不会被中断,因而采用本发名称具有更高的传输效率,和更好的传输质量。
本发明实施例中的第一服务器获取目标直播流媒体数据;若第一服务器中存在和第二服务器建立连接关系的通信记录,则第一服务器根据通信记录对目标直播流媒体数据进行加密处理;第一服务器根据加密处理后的目标直播流媒体数据生成多个目标数据包,并为每个目标数据包设置排列序号;第一服务器向第二服务器并行传输多个目标数据包,以使第二服务器对多个目标数据包所包含的直播流媒体数据进行解密处理,并根据排列序号将解密处理后的直播流媒体数据组合为目标直播流媒体数据。上述可知,只要第一服务器中存储了和第二服务器之间的通信记录,那么后续终端就可以直接向第二服务器可靠地传输数据,而不必执行三次握手建立连接关系再可靠地传输数据,通过节省建立连接关系操作可以提高第一服务器向第二服务器传输数据的效率;同时,在传输过程中,多个数据包可以在信道中并行传输,第二服务器根据每个数据包的排列序号可以将无序接收的数据包组合为有序的直播流媒体数据,而不是通过限定数据包有序串行地发送来保证第二服务器可以接收到有序的直播流媒体数据,从而可以进一步地提高直播流媒体数据的传输效率。
请参见图5,是本发明实施例提供的另一种多媒体数据传输方法的流程示意图。多媒体数据传输方法可以包括如下步骤:
步骤S201,第二服务器接收第一服务器发送的多个目标数据包;所述目标数据包是所述第一服务器将目标直播流媒体数据加密后用于传输所生成的数据包,且每个数据包携带排列序号。
具体的,第二服务器接收第一服务器发送的多个目标数据包,该目标数据包是第一服务器将待传输的目标直播流媒体数据加密后用于传输所生成的数据包,且为每个数据包都设置了排列序号,排序序号遵循单调递增原则,且目标数据包包括内容数据包和冗余数据包,其中生成目标数据包的具体过程可以参见上述图3所对应实施例中的步骤S102。
步骤S202,所述第二服务器对每个目标数据包进行解密处理,得到每个目标数据包对应的解密流媒体数据。
具体的,若第二服务器存在接收内容数据包失败的情况,那么可以根据冗余数据包恢复接收失败的内容数据包。后续,第二服务器根据目标对称密钥、目标密钥算法信息、第二服务器的本地私钥对每个目标数据包中所包含的直播流媒体数据进行解密处理,即是将密文转换为明文,得到每个目标数据包对应的解密流媒体数据。为了提高效率,可以进一步地对目标数据包进行筛选,只对内容数据包进行解密,对冗余数据包可以不用执行解密处理。
步骤S203,所述第二服务器根据每个目标数据包对应的排列序号,确定位置信息,并根据所述位置信息将多个解密流媒体数据组合为所述目标直播流媒体数据。
具体的,第二服务器根据每个目标数据包对应的排列序号,确定位置信息,当然排列序号越靠前,那么位置信息所指示的位置就越靠前,说明越处于直播流媒体数据的前面部分。根据位置信息所指示的前后位置关系,将多个解密流媒体数据组合为目标直播流媒体数据。需要说明的是,对那些重传的目标数据包,即使新的排列序号和原始的(丢失目标数据包对应的排列序号)不同,但它们所指示的位置信息是相同的。对那些冗余数据包,第二服务器可以将那些冗余的数据包对应排列序号的位置信息设置为空,这样即使冗余数据包解密后,也不会将冗余数据包解密后的视频数据进行组合,进而保证参与组合是只有内容数据包所解密后的解密流媒体数据。
可选的,第二服务器获取到目标直播流媒体数据后,可以直接将目标直播流媒体数据存储在对应的数据库中。由于目标直播流媒体数据是流数据格式的数据,为了降低目标直播流媒体数据占用存储空间的大小,可以对目标直播流媒体数据进行编码,以降低目标直播流媒体数据的大小,以及降低后续向用户(观众)传输时所占用的网络带宽。其中,编码格式可以包括:H264、MPEG-2(Moving Picture Experts Group,活动图像专家组)、或avs(信息技术先进音频视频编码系列标准)等。为了适应后续传输时不同的网络带宽、不同的终端处理能力以及不同的用户需求,可以将编码后的目标视频数据再进行转码(例如转码为270p、360p、mp4、或者hls格式等),也就是将已经压缩编码的目标直播流媒体数据转换为另一个视频码流,转换前后的码流可能遵循相同的视频编码标准,也可能不遵循相同的视频编码标准。当第二服务器获取到观众侧的第一服务器播放请求时,根据该第一服务器的视频处理参数以及当前的网络带宽等,选择合适的视频码流数据(该视频码流数据是由目标直播流媒体数据编码以及转码而来),并发送至观众侧的用户终端(如上述图2b中的用户设备20c),以使在观众侧的用户终端中播放具有和目标直播流媒体数据相同内容的视频数据。
本发明实施例中的第一服务器获取目标直播流媒体数据;若第一服务器中存在和第二服务器建立连接关系的通信记录,则第一服务器根据通信记录对目标直播流媒体数据进行加密处理;第一服务器根据加密处理后的目标直播流媒体数据生成多个目标数据包,并为每个目标数据包设置排列序号;第一服务器向第二服务器并行传输多个目标数据包,以使第二服务器对多个目标数据包所包含的直播流媒体数据进行解密处理,并根据排列序号将解密处理后的直播流媒体数据组合为目标直播流媒体数据。上述可知,只要第一服务器中存储了和第二服务器之间的通信记录,那么后续终端就可以直接向第二服务器可靠地传输数据,而不必执行三次握手建立连接关系再可靠地传输数据,通过节省建立连接关系操作可以提高第一服务器向第二服务器传输数据的效率;同时,在传输过程中,多个数据包可以在信道中并行传输,第二服务器根据每个数据包的排列序号可以将无序接收的数据包组合为有序的直播流媒体数据,而不是通过限定数据包有序串行地发送来保证第二服务器可以接收到有序的直播流媒体数据,从而可以进一步地提高直播流媒体数据的传输效率。
进一步的,请参见图6,是本发明实施例提供的一种多媒体数据传输装置的结构示意图,该多媒体数据传输装置可以应用于图3中所对应实施例中的第一服务器。该多媒体数据传输装置1可以包括:获取模块11、加密模块12、生成模块13、设置模块14、传输模块15;
获取模块11,用于获取目标直播流媒体数据;
具体的,获取模块11获取待传输的目标直播流媒体数据。其中获取模块11获取目标直播流媒体数据的具体过程为:获取模块11获取第一录制参数以及与该第一录制参数相匹配的第一网络环境参数;第一录制参数是用于直播录制端(称为客户端)生成处于第一网络环境参数下时的历史音频数据和历史视频数据;录制参数可以包括视频码率、视频分辨率等。当获取模块11接收到网络检测请求时,再获取第二网络环境参数。获取模块11检测第一网络环境参数和第二网络环境参数之间的变化量是否大于预设的目标阈值,若小于或者等于该目标阈值,说明网络没有波动或者波动较小,那么客户端保持第一录制参数不变,继续基于第一录制参数生成音频数据和视频数据。若变化量大于该目标阈值,说明网络波动较大,那么获取模块11计算新的录制参数,称为第二录制参数,使得第二录制参数和第二网络环境参数相匹配。其中,录制参数和网络环境参数相匹配可以是指录制参数中的视频码率不大于网络环境参数中的带宽。
获取模块11将计算得到的第二录制参数发送至客户端,客户端根据该第二录制参数生成音频数据(称为目标音频数据)和视频数据(称为目标视频数据)。获取模块11接收客户端发送的目标音频数据和目标视频数据,并将上述目标视频数据和目标音频数据封装为流数据格式的目标直播流媒体数据。
加密模块12,用于若第一服务器中存在和第二服务器建立连接关系的通信记录,则根据所述通信记录对所述目标直播流媒体数据进行加密处理;
生成模块13,用于根据加密处理后的目标直播流媒体数据生成多个目标数据包;
设置模块14,用于为每个目标数据包设置排列序号;
传输模块15,用于向所述第二服务器并行传输所述多个目标数据包,以使所述第二服务器对所述多个目标数据包所包含的直播流媒体数据进行解密处理,并根据所述排列序号将解密处理后的直播流媒体数据组合为所述目标直播流媒体数据。
其中,获取模块11、加密模块12、生成模块13、设置模块14、传输模块15的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S104,这里不再进行赘述。
请参见图6,多媒体数据传输装置1可以包括:获取模块11、加密模块12、生成模块13、设置模块14、传输模块15;还可以包括:发送模块16、计算模块17;
发送模块16,用于向所述第二服务器发送连接请求;
所述发送模块16,还用于接收所述第二服务器根据所述连接请求返回的目标密钥算法信息和所述第二服务器的公钥信息;
计算模块17,用于根据所述目标密钥算法信息、所述第二服务器的公钥信息、所述第一服务器的本地私钥,计算目标对称密钥和所述第一服务器的公钥信息;
所述计算模块17,还用于根据所述目标对称密钥,生成所述通信记录,并向所述第二服务器发送所述第一服务器的公钥信息,以使所述第二服务器根据所述第一服务器的公钥信息、所述目标密钥算法信息和第二服务器的本地私钥,计算所述目标对称密钥。
其中,发送模块16、计算模块17的具体功能实现方式可以参见上述图3对应实施例中的步骤S102,这里不再进行赘述。
请参见图6,生成模块13可以包括:确定单元131、划分单元132;
确定单元131,用于将加密处理后的目标直播流媒体数据确定为加密流媒体数据;
划分单元132,用于将所述加密流媒体数据划分为多个加密分段流媒体数据,为每个加密分段流媒体数据设置第一包头信息,对所述第一包头信息进行认证处理,得到第一目标包头信息,并将每个具有所述第一目标包头信息的加密分段流媒体数据封装为内容数据包;
所述划分单元132,还用于将所有内容数据包划分为多个数据包集合,对每个数据包集合中所包含的加密分段流媒体数据进行前向错误纠正处理,得到目标冗余数据;
所述划分单元132,还用于为所述目标冗余数据设置第二包头信息,对所述第二包头信息进行认证处理,得到第二目标包头信息,将每个具有第二目标包头信息的目标冗余数据封装为冗余数据包;所述冗余数据包是用于当所述第二服务器接收内容数据包失败时,恢复接收失败的内容数据包中的加密分段流媒体数据;
所述确定单元131,还用于将所有内容数据包和所有冗余数据包均确定为所述目标数据包。
其中,确定单元131、划分单元132的具体功能实现方式可以参见上述图3对应实施例中的步骤S103,这里不再进行赘述。
请参见图6,获取模块11可以包括:获取单元111、调整单元112、生成单元113;
获取单元111,用于获取与第一录制参数对应的第一网络环境参数,并获取第二网络环境参数;所述第一录制参数是用于客户端生成处于所述第一网络环境参数下的历史音频数据和历史视频数据;
调整单元112,用于当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于目标阈值时,调整所述第一录制参数,得到第二录制参数;所述第二录制参数和所述第二网络环境参数相匹配;
生成单元113,用于将所述第二录制参数发送至所述客户端,以使所述客户端根据所述第二录制参数生成目标音频数据和目标视频数据;
所述生成单元113,还用于接收所述客户端发送的所述目标音频数据和所述目标视频数据,并将所述目标音频数据和所述目标视频数据封装为所述目标直播流媒体数据。
其中,获取单元111、调整单元112、生成单元113的具体功能实现方式可以参见上述图3对应实施例中的步骤S101,这里不再进行赘述。
请再参见图6,调整单元112可以包括:获取子单元1121、计算子单元1122;
获取子单元1121,用于当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于所述目标阈值时,获取与所述第一网络环境参数相关联的原始网络环境参数,并获取与所述原始网络环境参数对应的原始录制参数;
计算子单元1122,用于根据所述原始录制参数、所述原始网络环境参数和所述第二网络环境参数,计算所述第二录制参数。
其中,获取子单元1121、计算子单元1122的具体功能实现方式可以参见上述图3对应实施例中的步骤S101,这里不再进行赘述。
请再参见图6,多媒体数据传输装置1可以包括:获取模块11、加密模块12、生成模块13、设置模块14、传输模块15、发送模块16、计算模块17;还可以包括:第一提取模块18、评估模块19;
第一提取模块18,用于当所述第一服务器向所述第二服务器传输所述多个目标数据包后,从本地日志信息中提取所述目标直播流媒体数据的目标传输性能指标;所述目标传输性能指标是所述第一服务器获取所述目标直播流媒体数据时或向所述第二服务器传输所述目标直播流媒体数据时所采集的;
评估模块19,用于根据所述目标传输性能指标评估所述目标直播流媒体数据的传输质量。
其中,第一提取模块18、评估模块19的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
请再参见图6,多媒体数据传输装置1可以包括:获取模块11、加密模块12、生成模块13、设置模块14、传输模块15、发送模块16、计算模块17、第一提取模块18、评估模块19;还可以包括:第二提取模块20、统计模块21;
第二提取模块20,用于从所述目标直播流媒体数据中提取目标流媒体子数据;所述目标流媒体子数据对应的码率低于码率阈值;
统计模块21,用于统计所述目标流媒体子数据的时长,将统计出来时长作为纯音频数据时长;
所述统计模块21,还用于当所述第一服务器向所述第二服务器发送所述目标直播流媒体数据时,统计所述第一服务器重新连接所述第二服务器的频次,并将统计出来的频次作为重新连接频次;
所述第二提取模块20,还用于将所述纯音频数据时长和所述重新连接频次均作为所述目标传输性能指标,并将所述目标传输性能指标存储至所述第一服务器的本地日志信息中。
其中,第二提取模块20、统计模块21的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
本发明实施例中的第一服务器获取目标直播流媒体数据;若第一服务器中存在和第二服务器建立连接关系的通信记录,则第一服务器根据通信记录对目标直播流媒体数据进行加密处理;第一服务器根据加密处理后的目标直播流媒体数据生成多个目标数据包,并为每个目标数据包设置排列序号;第一服务器向第二服务器并行传输多个目标数据包,以使第二服务器对多个目标数据包所包含的直播流媒体数据进行解密处理,并根据排列序号将解密处理后的直播流媒体数据组合为目标直播流媒体数据。上述可知,只要第一服务器中存储了和第二服务器之间的通信记录,那么后续终端就可以直接向第二服务器可靠地传输数据,而不必执行三次握手建立连接关系再可靠地传输数据,通过节省建立连接关系操作可以提高第一服务器向第二服务器传输数据的效率;同时,在传输过程中,多个数据包可以在信道中并行传输,第二服务器根据每个数据包的排列序号可以将无序接收的数据包组合为有序的直播流媒体数据,而不是通过限定数据包有序串行地发送来保证第二服务器可以接收到有序的直播流媒体数据,从而可以进一步地提高直播流媒体数据的传输效率。
进一步的,请参见图7,是本发明实施例提供的另一种多媒体数据传输装置的结构示意图。如图7所示,所述多媒体数据传输装置2可以应用于图5中所对应实施例中的第二服务器,该多媒体数据传输装置2可以包括:接收模块22、解密模块23、组合模块24;
接收模块22,用于接收第一服务器发送的多个目标数据包;所述目标数据包是所述第一服务器将目标直播流媒体数据加密后用于传输所生成的数据包,且每个数据包携带排列序号;
解密模块23,用于对每个目标数据包进行解密处理,得到每个目标数据包对应的解密流媒体数据;
组合模块24,用于根据每个目标数据包对应的排列序号,确定位置信息,并根据所述位置信息将多个解密流媒体数据组合为所述目标直播流媒体数据。
其中,接收模块22、解密模块23、组合模块24的具体功能实现方式可以参见上述图5对应实施例中的步骤S201-步骤S202,这里不再进行赘述。
进一步地,请参见图8,是本发明实施例提供的一种电子设备的结构示意图。如图8所示,上述图6中的多媒体数据传输装置1可以应用于所述电子设备1000。所述电子设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,所述电子设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选地,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
电子设备1000可以为上述图3中所对应实施例中的第一服务器,在图8所示的电子设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取目标直播流媒体数据;
若第一服务器中存在和第二服务器建立连接关系的通信记录,则根据所述通信记录对所述目标直播流媒体数据进行加密处理;
根据加密处理后的目标直播流媒体数据生成多个目标数据包,并为每个目标数据包设置排列序号;
向所述第二服务器并行传输所述多个目标数据包,以使所述第二服务器对所述多个目标数据包所包含的直播流媒体数据进行解密处理,并根据所述排列序号将解密处理后的直播流媒体数据组合为所述目标直播流媒体数据。
所述处理器1001还执行以下步骤:
向所述第二服务器发送连接请求;
接收所述第二服务器根据所述连接请求返回的目标密钥算法信息和所述第二服务器的公钥信息;
根据所述目标密钥算法信息、所述第二服务器的公钥信息、所述第一服务器的本地私钥,计算目标对称密钥和所述第一服务器的公钥信息;
根据所述目标对称密钥,生成所述通信记录,并向所述第二服务器发送所述第一服务器的公钥信息,以使所述第二服务器根据所述第一服务器的公钥信息、所述目标密钥算法信息和第二服务器的本地私钥,计算所述目标对称密钥。
在一个实施例中,所述处理器1001在执行根据加密处理后的目标直播流媒体数据生成多个目标数据包时,具体执行以下步骤:
将加密处理后的目标直播流媒体数据确定为加密流媒体数据;
将所述加密流媒体数据划分为多个加密分段流媒体数据,为每个加密分段流媒体数据设置第一包头信息,对所述第一包头信息进行认证处理,得到第一目标包头信息,并将每个具有所述第一目标包头信息的加密分段流媒体数据封装为内容数据包;
将所有内容数据包划分为多个数据包集合,对每个数据包集合中所包含的加密分段流媒体数据进行前向错误纠正处理,得到目标冗余数据;
为所述目标冗余数据设置第二包头信息,对所述第二包头信息进行认证处理,得到第二目标包头信息,将每个具有第二目标包头信息的目标冗余数据封装为冗余数据包;所述冗余数据包是用于当所述第二服务器接收内容数据包失败时,恢复接收失败的内容数据包中的加密分段流媒体数据;
将所有内容数据包和所有冗余数据包均确定为所述目标数据包。
在一个实施例中,所述处理器1001在执行获取目标直播流媒体数据时,具体执行以下步骤:
获取与第一录制参数对应的第一网络环境参数,并获取第二网络环境参数;所述第一录制参数是用于客户端生成处于所述第一网络环境参数下的历史音频数据和历史视频数据;
当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于目标阈值时,调整所述第一录制参数,得到第二录制参数;所述第二录制参数和所述第二网络环境参数相匹配;
将所述第二录制参数发送至所述客户端,以使所述客户端根据所述第二录制参数生成目标音频数据和目标视频数据;
接收所述客户端发送的所述目标音频数据和所述目标视频数据,并将所述目标音频数据和所述目标视频数据封装为所述目标直播流媒体数据。
在一个实施例中,所述处理器1001在执行当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于目标阈值时,调整所述第一录制参数,得到第二录制参数时,具体执行以下步骤:
当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于所述目标阈值时,获取与所述第一网络环境参数相关联的原始网络环境参数,并获取与所述原始网络环境参数对应的原始录制参数;
根据所述原始录制参数、所述原始网络环境参数和所述第二网络环境参数,计算所述第二录制参数。
在一个实施例中,所述处理器1001还执行以下步骤:
当向所述第二服务器传输所述多个目标数据包后,从本地日志信息中提取所述目标直播流媒体数据的目标传输性能指标;所述目标传输性能指标是获取所述目标直播流媒体数据时或向所述第二服务器传输所述目标直播流媒体数据时所采集的;
根据所述目标传输性能指标评估所述目标直播流媒体数据的传输质量。
在一个实施例中,所述处理器1001还执行以下步骤:
从所述目标直播流媒体数据中提取目标流媒体子数据;所述目标流媒体子数据对应的码率低于码率阈值;
统计所述目标流媒体子数据的时长,将统计出来时长作为纯音频数据时长;
当所述第一服务器向所述第二服务器发送所述目标直播流媒体数据时,统计重新连接所述第二服务器的频次,并将统计出来的频次作为重新连接频次;
将所述纯音频数据时长和所述重新连接频次均作为所述目标传输性能指标,并将所述目标传输性能指标存储至所述第一服务器的本地日志信息中。
应当理解,本发明实施例中所描述的电子设备1000可执行前文图3到图5所对应实施例中对所述多媒体数据传输方法的描述,也可执行前文图6所对应实施例中对所述多媒体数据传输装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的多媒体数据传输装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3到图5所对应实施例中对所述多媒体数据传输方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
进一步地,请参见图9,是本发明实施例提供的另一种电子设备的结构示意图。如图9所示,上述图7中的多媒体数据传输装置2可以应用于所述电子设备2000,且该电子设备2000中不包括显示屏和键盘。所述电子设备2000可以包括:处理器2001,网络接口2004和存储器2005,此外,所述电子设备2000还可以包括:用户接口2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(Display)、键盘(Keyboard),可选地,用户接口2003还可以包括标准的有线接口、无线接口。网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图9所示,作为一种计算机存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
电子设备2000可以为上述图5中所对应实施例中的第二服务器,在图9所示的电子设备2000中,网络接口2004可提供网络通讯功能;而用户接口2003主要用于为用户提供输入的接口;而处理器2001可以用于调用存储器2005中存储的设备控制应用程序,以实现:
接收第一服务器发送的多个目标数据包;所述目标数据包是所述第一服务器将目标直播流媒体数据加密后用于传输所生成的数据包,且每个数据包携带排列序号;
对每个目标数据包进行解密处理,得到每个目标数据包对应的解密流媒体数据;
根据每个目标数据包对应的排列序号,确定位置信息,并根据所述位置信息将多个解密流媒体数据组合为所述目标直播流媒体数据。
本发明实施例中所描述的电子设备2000可执行前文图3至图5所对应实施例中对所述多媒体数据传输方法的描述,也可执行前文图7所对应实施例中对所述多媒体数据传输装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的多媒体数据传输装置2所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3至图5实施例中对所述多媒体数据传输方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (11)

1.一种多媒体数据传输方法,其特征在于,包括:
第一服务器获取目标直播流媒体数据;
若所述第一服务器中存在和第二服务器建立连接关系的通信记录,则所述第一服务器根据所述通信记录对所述目标直播流媒体数据进行加密处理;
所述第一服务器根据加密处理后的目标直播流媒体数据生成多个目标数据包,并为每个目标数据包设置排列序号;
所述第一服务器向所述第二服务器并行传输所述多个目标数据包,以使所述第二服务器对所述多个目标数据包所包含的直播流媒体数据进行解密处理,并根据所述排列序号将解密处理后的直播流媒体数据组合为所述目标直播流媒体数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述第一服务器向所述第二服务器发送连接请求;
所述第一服务器接收所述第二服务器根据所述连接请求返回的目标密钥算法信息和所述第二服务器的公钥信息;
所述第一服务器根据所述目标密钥算法信息、所述第二服务器的公钥信息、所述第一服务器的本地私钥,计算目标对称密钥和所述第一服务器的公钥信息;
所述第一服务器根据所述目标对称密钥,生成所述通信记录,并向所述第二服务器发送所述第一服务器的公钥信息,以使所述第二服务器根据所述第一服务器的公钥信息、所述目标密钥算法信息和第二服务器的本地私钥,计算所述目标对称密钥。
3.根据权利要求1所述的方法,其特征在于,所述第一服务器根据加密处理后的目标直播流媒体数据生成多个目标数据包,包括:
所述第一服务器将加密处理后的目标直播流媒体数据确定为加密流媒体数据;
所述第一服务器将所述加密流媒体数据划分为多个加密分段流媒体数据,为每个加密分段流媒体数据设置第一包头信息,对所述第一包头信息进行认证处理,得到第一目标包头信息,并将每个具有所述第一目标包头信息的加密分段流媒体数据封装为内容数据包;
所述第一服务器将所有内容数据包划分为多个数据包集合,对每个数据包集合中所包含的加密分段流媒体数据进行前向错误纠正处理,得到目标冗余数据;
所述第一服务器为所述目标冗余数据设置第二包头信息,对所述第二包头信息进行认证处理,得到第二目标包头信息,将每个具有第二目标包头信息的目标冗余数据封装为冗余数据包;所述冗余数据包是用于当所述第二服务器接收内容数据包失败时,恢复接收失败的内容数据包中的加密分段流媒体数据;
所述第一服务器将所有内容数据包和所有冗余数据包均确定为所述目标数据包。
4.根据权利要求1所述的方法,其特征在于,所述第一服务器获取目标直播流媒体数据,包括:
所述第一服务器获取与第一录制参数对应的第一网络环境参数,并获取第二网络环境参数;所述第一录制参数是用于客户端生成处于所述第一网络环境参数下的历史音频数据和历史视频数据;
当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于目标阈值时,所述第一服务器调整所述第一录制参数,得到第二录制参数;所述第二录制参数和所述第二网络环境参数相匹配;
所述第一服务器将所述第二录制参数发送至所述客户端,以使所述客户端根据所述第二录制参数生成目标音频数据和目标视频数据;
所述第一服务器接收所述客户端发送的所述目标音频数据和所述目标视频数据,并将所述目标音频数据和所述目标视频数据封装为所述目标直播流媒体数据。
5.根据权利要求4所述的方法,其特征在于,所述当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于目标阈值时,所述第一服务器调整所述第一录制参数,得到第二录制参数,包括:
当所述第二网络环境参数和所述第一网络环境参数之间的变化量大于所述目标阈值时,所述第一服务器获取与所述第一网络环境参数相关联的原始网络环境参数,并获取与所述原始网络环境参数对应的原始录制参数;
所述第一服务器根据所述原始录制参数、所述原始网络环境参数和所述第二网络环境参数,计算所述第二录制参数。
6.根据权利要求1所述的方法,其特征在于,还包括:
当所述第一服务器向所述第二服务器传输所述多个目标数据包后,所述第一服务器从本地日志信息中提取所述目标直播流媒体数据的目标传输性能指标;所述目标传输性能指标是所述第一服务器获取所述目标直播流媒体数据时或向所述第二服务器传输所述目标直播流媒体数据时所采集的;
所述第一服务器根据所述目标传输性能指标评估所述目标直播流媒体数据的传输质量。
7.根据权利6所述的方法,其特征在于,还包括:
所述第一服务器从所述目标直播流媒体数据中提取目标流媒体子数据;所述目标流媒体子数据对应的码率低于码率阈值;
所述第一服务器统计所述目标流媒体子数据的时长,将统计出来时长作为纯音频数据时长;
当所述第一服务器向所述第二服务器发送所述目标直播流媒体数据时,所述第一服务器统计所述第一服务器重新连接所述第二服务器的频次,并将统计出来的频次作为重新连接频次;
所述第一服务器将所述纯音频数据时长和所述重新连接频次均作为所述目标传输性能指标,并将所述目标传输性能指标存储至所述第一服务器的本地日志信息中。
8.一种多媒体数据传输方法,其特征在于,包括:
第二服务器接收第一服务器发送的多个目标数据包;所述目标数据包是所述第一服务器将目标直播流媒体数据加密后用于传输所生成的数据包,且每个数据包携带排列序号;
所述第二服务器对每个目标数据包进行解密处理,得到每个目标数据包对应的解密流媒体数据;
所述第二服务器根据每个目标数据包对应的排列序号,确定位置信息,并根据所述位置信息将多个解密流媒体数据组合为所述目标直播流媒体数据。
9.一种多媒体数据传输装置,其特征在于,包括:
获取模块,用于获取目标直播流媒体数据;
加密模块,用于若第一服务器中存在和第二服务器建立连接关系的通信记录,则根据所述通信记录对所述目标直播流媒体数据进行加密处理;
生成模块,用于根据加密处理后的目标直播流媒体数据生成多个目标数据包;
设置模块,用于为每个目标数据包设置排列序号;
传输模块,用于向所述第二服务器并行传输所述多个目标数据包,以使所述第二服务器对所述多个目标数据包所包含的直播流媒体数据进行解密处理,并根据所述排列序号将解密处理后的直播流媒体数据组合为所述目标直播流媒体数据。
10.一种多媒体数据传输装置,其特征在于,包括:
接收模块,用于接收第一服务器发送的多个目标数据包;所述目标数据包是所述第一服务器将目标直播流媒体数据加密后用于传输所生成的数据包,且每个数据包携带排列序号;
解密模块,用于对每个目标数据包进行解密处理,得到每个目标数据包对应的解密流媒体数据;
组合模块,用于根据每个目标数据包对应的排列序号,确定位置信息,并根据所述位置信息将多个解密流媒体数据组合为所述目标直播流媒体数据。
11.一种电子设备,其特征在于,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-8任一项所述的方法。
CN201811088057.6A 2018-09-18 2018-09-18 一种多媒体数据传输方法、装置以及相关设备 Pending CN109068147A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811088057.6A CN109068147A (zh) 2018-09-18 2018-09-18 一种多媒体数据传输方法、装置以及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811088057.6A CN109068147A (zh) 2018-09-18 2018-09-18 一种多媒体数据传输方法、装置以及相关设备

Publications (1)

Publication Number Publication Date
CN109068147A true CN109068147A (zh) 2018-12-21

Family

ID=64762931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811088057.6A Pending CN109068147A (zh) 2018-09-18 2018-09-18 一种多媒体数据传输方法、装置以及相关设备

Country Status (1)

Country Link
CN (1) CN109068147A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138513A (zh) * 2019-03-26 2019-08-16 视联动力信息技术股份有限公司 一种数据传输方法和视联网系统
CN110555195A (zh) * 2019-09-24 2019-12-10 天津大学 用于空间测量的数据处理方法及装置
CN112422591A (zh) * 2021-01-25 2021-02-26 北京拓课网络科技有限公司 一种传输视频流数据的方法、装置及电子设备
US20210306154A1 (en) * 2020-03-30 2021-09-30 Hand Held Products, Inc. Validating electronic devices in a block chain network
CN113473163A (zh) * 2021-05-24 2021-10-01 康键信息技术(深圳)有限公司 网络直播过程中的数据传输方法、装置、设备及存储介质
CN113760000A (zh) * 2021-08-27 2021-12-07 广州蓝仕威克医疗科技有限公司 一种智能体温管理控制系统
CN113810302A (zh) * 2021-09-18 2021-12-17 深圳市奥拓普科技有限公司 一种通讯控制的方法和通讯传输系统
CN114422397A (zh) * 2021-12-27 2022-04-29 中国电信股份有限公司 流媒体通道监测方法、装置、电子设备和可读存储介质
CN114584934A (zh) * 2022-03-14 2022-06-03 联想(北京)有限公司 通信处理方法、装置、系统及存储介质
CN115134637A (zh) * 2022-06-29 2022-09-30 北京奇艺世纪科技有限公司 流媒体播放系统、方法、装置、电子设备及存储介质
CN115580332A (zh) * 2022-08-29 2023-01-06 北京中联合超高清协同技术中心有限公司 丢失重传超高清数字电影安全分发及管理系统
US11928948B2 (en) * 2020-10-19 2024-03-12 Changxin Memory Technologies, Inc. Environmental data monitoring method and monitoring system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130136416A1 (en) * 2011-11-30 2013-05-30 Nokia Corporation Method and apparatus for enriching media with meta-information
CN104954633A (zh) * 2014-03-28 2015-09-30 北京中投视讯文化传媒有限公司 一种直播导播的方法、客户端及系统
CN107302533A (zh) * 2017-06-19 2017-10-27 网宿科技股份有限公司 流媒体直播方法、系统及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130136416A1 (en) * 2011-11-30 2013-05-30 Nokia Corporation Method and apparatus for enriching media with meta-information
CN104954633A (zh) * 2014-03-28 2015-09-30 北京中投视讯文化传媒有限公司 一种直播导播的方法、客户端及系统
CN107302533A (zh) * 2017-06-19 2017-10-27 网宿科技股份有限公司 流媒体直播方法、系统及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈振波: ""QUIC协议研究"", 《网络与信息工程》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138513A (zh) * 2019-03-26 2019-08-16 视联动力信息技术股份有限公司 一种数据传输方法和视联网系统
CN110555195A (zh) * 2019-09-24 2019-12-10 天津大学 用于空间测量的数据处理方法及装置
CN110555195B (zh) * 2019-09-24 2023-12-19 天津大学 用于空间测量的数据处理方法及装置
US20210306154A1 (en) * 2020-03-30 2021-09-30 Hand Held Products, Inc. Validating electronic devices in a block chain network
US11928948B2 (en) * 2020-10-19 2024-03-12 Changxin Memory Technologies, Inc. Environmental data monitoring method and monitoring system
CN112422591A (zh) * 2021-01-25 2021-02-26 北京拓课网络科技有限公司 一种传输视频流数据的方法、装置及电子设备
CN113473163B (zh) * 2021-05-24 2023-04-07 康键信息技术(深圳)有限公司 网络直播过程中的数据传输方法、装置、设备及存储介质
CN113473163A (zh) * 2021-05-24 2021-10-01 康键信息技术(深圳)有限公司 网络直播过程中的数据传输方法、装置、设备及存储介质
CN113760000A (zh) * 2021-08-27 2021-12-07 广州蓝仕威克医疗科技有限公司 一种智能体温管理控制系统
CN113810302A (zh) * 2021-09-18 2021-12-17 深圳市奥拓普科技有限公司 一种通讯控制的方法和通讯传输系统
CN113810302B (zh) * 2021-09-18 2023-11-14 深圳市奥拓普科技有限公司 一种通讯控制的方法和通讯传输系统
CN114422397A (zh) * 2021-12-27 2022-04-29 中国电信股份有限公司 流媒体通道监测方法、装置、电子设备和可读存储介质
CN114584934A (zh) * 2022-03-14 2022-06-03 联想(北京)有限公司 通信处理方法、装置、系统及存储介质
CN114584934B (zh) * 2022-03-14 2023-01-06 联想(北京)有限公司 通信处理方法、装置、系统及存储介质
CN115134637A (zh) * 2022-06-29 2022-09-30 北京奇艺世纪科技有限公司 流媒体播放系统、方法、装置、电子设备及存储介质
CN115134637B (zh) * 2022-06-29 2024-04-12 北京奇艺世纪科技有限公司 流媒体播放系统、方法、装置、电子设备及存储介质
CN115580332A (zh) * 2022-08-29 2023-01-06 北京中联合超高清协同技术中心有限公司 丢失重传超高清数字电影安全分发及管理系统

Similar Documents

Publication Publication Date Title
CN109068147A (zh) 一种多媒体数据传输方法、装置以及相关设备
WO2020192152A1 (zh) 视频传输的方法、根节点、子节点、p2p服务器和系统
US9246630B2 (en) Method, device, and system for forward error correction
CN113037440B (zh) 数据重传处理方法、装置、计算机设备和存储介质
EP2214414A1 (en) Constructing video frames and synchronizing audio data in a media player from data received via a plurality of diverse protocol stack paths
US9490850B1 (en) Method and apparatus for decoding packetized data
CN104284135B (zh) 视频传输方法及设备
Kwon et al. MPMTP: Multipath multimedia transport protocol using systematic raptor codes over wireless networks
CN103650431B (zh) 视频数据传输方法及装置
CN107819809B (zh) 对内容进行同步操作的方法及装置
EP2667625A2 (en) Apparatus and method for transmitting multimedia data in a broadcast system
WO2006007345A2 (en) Scalable streaming media authentication
JP2019537342A (ja) ライブビデオ送信方法およびシステムならびに装置
CN109327493A (zh) 一种基于云的远程医疗监控系统及监控方法
US20200280392A1 (en) Optimizing delay-sensitive network-based communications with latency guidance
KR20110090596A (ko) 지터 보정 방법 및 장치
CN105007465A (zh) 基于live555框架和ffmpeg库的密文H264视频直播和点播平台
KR20050009061A (ko) 모바일 애드 혹 네트워크 환경에서 효율적인 데이터송수신을 위한 네트워크 장치 및 데이터 전송 방법
EP2214413A2 (en) Server and client selective video frame pathways
CN104539749B (zh) 一种基于虚拟ip地址的连接方法及装置
CN113726895B (zh) 文件传输方法、装置及网络ktv系统
CN106134187B (zh) 用于定向处理协商的方法和装置
CN108810475A (zh) 一种基于Onvif标准及Sip协议的Android视频监控装置
CN114513418B (zh) 一种数据处理方法及相关设备
Massandy et al. Secured video streaming development on smartphones with Android platform

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

RJ01 Rejection of invention patent application after publication