CN116962366A - 一种媒体数据传输方法、装置、电子设备和存储介质 - Google Patents

一种媒体数据传输方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN116962366A
CN116962366A CN202310461320.6A CN202310461320A CN116962366A CN 116962366 A CN116962366 A CN 116962366A CN 202310461320 A CN202310461320 A CN 202310461320A CN 116962366 A CN116962366 A CN 116962366A
Authority
CN
China
Prior art keywords
information
server
media data
target
metadata
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
CN202310461320.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 CN202310461320.6A priority Critical patent/CN116962366A/zh
Publication of CN116962366A publication Critical patent/CN116962366A/zh
Pending legal-status Critical Current

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
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及多媒体技术领域,尤其涉及一种媒体数据传输方法、装置、电子设备和存储介质,用以降低传输媒体数据所需的计算资源。其中,方法包括:接收客户端发送的媒体数据请求,基于目标媒体数据的标识信息,确定未存储目标媒体数据的元数据信息时,向第二服务器发送包含标识信息的元数据获取请求,接收第二服务器返回的元数据信息,并基于目标传输协议和元数据信息生成索引信息;将索引信息返回给客户端,以使客户端根据索引信息,从第二服务器中获取各媒体分片,通过将元数据信息与目标媒体数据分离,第一服务器上仅需获取元数据信息,就可以实现客户端从第二服务器获取媒体分片,降低对第一服务器的计算资源的占用。

Description

一种媒体数据传输方法、装置、电子设备和存储介质
技术领域
本申请涉及多媒体技术领域,尤其涉及一种媒体数据传输方法、装置、电子设备和存储介质。
背景技术
在自适应比特率(Adaptive Bit Rate,ABR)分发的场景下,音视频数据的质量和码率会根据当前网络状况的波动而发生自适应变化,以确保网络传输流畅。因此,提供音视频业务的云服务器,需要将一份媒体数据编码为多种编码格式和码率分辨率的MP4文件,并打包为不同传输协议的数据,使得媒体数据能够在互联网中传输。
如图1A所示,为相关技术中的一种动态打包方法的示意图,将一份媒体数据预先编码为多份MP4文件,并存储在用于存储媒体源的存储节点上。当客户端请求媒体数据时,云服务器中的计算节点实时地从媒体源获取MP4文件,然后将MP4文件打包后发送给客户端。
但是,基于此方式传输媒体数据,由于媒体数据通常体量较大,需要占用计算节点上大量的计算资源进行打包,在带宽一定的情况下,计算节点支持的打包路数降低,每次只能服务较低数量的客户端,若使用音视频业务的对象增加,则需要进一步增加计算节点的数量,增加设备负荷。
发明内容
本申请实施例提供一种媒体数据传输方法、装置、电子设备和存储介质,用以降低传输媒体数据所需的计算资源。
本申请实施例提供的第一种媒体数据传输方法,包括:
接收客户端发送的媒体数据请求,所述媒体数据请求包含目标媒体数据的标识信息和使用的目标传输协议,所述目标传输协议用于定义所述目标媒体数据被传输到所述客户端的传输方式;
基于所述标识信息,确定未存储所述目标媒体数据的元数据信息时,向第二服务器发送包含所述标识信息的元数据获取请求,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
接收所述第二服务器返回的所述元数据信息,并基于所述目标传输协议和所述元数据信息生成索引信息;
将所述索引信息返回给所述客户端,以使所述客户端根据所述索引信息,从所述第二服务器中获取所述各媒体分片。
本申请实施例提供的第二种媒体数据传输方法,包括:
响应于针对目标媒体数据的触发操作,向第一服务器发送媒体数据请求,所述媒体数据请求包含所述目标媒体数据的标识信息和使用的目标传输协议,以使所述第一服务器确定未存储所述目标媒体数据的元数据信息时,向第二服务器发送包含所述标识信息的元数据获取请求,所述目标传输协议用于定义所述目标媒体数据被传输到所述客户端的传输方式,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
接收所述第一服务器返回的索引信息,并基于所述索引信息从所述第二服务器中获取所述各媒体分片。
本申请实施例提供的第三种媒体数据传输方法,包括:
接收第一服务器发送的元数据获取请求,其中,所述元数据获取请求是:所述第一服务器确定未存储目标媒体数据的元数据信息时发送的,所述元数据获取请求包含所述目标媒体数据的标识信息,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
基于所述标识信息,从所述第二服务器中查找所述目标媒体数据的元数据信息;
将所述元数据信息返回给所述第一服务器,以使所述第一服务器基于所述元数据信息和目标传输协议生成索引信息,并将所述索引信息返回给客户端,所述客户端根据所述索引信息,从所述第二服务器中获取所述各媒体分片。
本申请实施例提供的第一种媒体数据传输装置,包括:
接收单元,用于接收客户端发送的媒体数据请求,所述媒体数据请求包含目标媒体数据的标识信息和使用的目标传输协议,所述目标传输协议用于定义所述目标媒体数据被传输到所述客户端的传输方式;
确定单元,用于基于所述标识信息,确定未存储所述目标媒体数据的元数据信息时,向第二服务器发送包含所述标识信息的元数据获取请求,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
生成单元,用于接收所述第二服务器返回的所述元数据信息,并基于所述目标传输协议和所述元数据信息生成索引信息;
发送单元,用于将所述索引信息返回给所述客户端,以使所述客户端根据所述索引信息,从所述第二服务器中获取所述各媒体分片。
可选的,所述生成单元具体用于:
基于所述目标传输协议,对所述元数据信息进行协议转换,获得媒体描述信息,所述媒体描述信息包含所述各媒体分片各自的分片标识,每个分片标识用于在所述元数据信息中查找对应媒体分片的位置信息;
将所述元数据信息和所述媒体描述信息,作为所述索引信息。
可选的,所述装置还包括存储单元,用于:
将所述索引信息存储到所述第一服务器,并建立所述目标传输协议和所述索引信息的映射关系。
可选的,所述装置还包括获取单元,用于:
确定存储有所述元数据信息时,基于所述目标传输协议,确定是否存储有对应的索引信息;
若确定未存储所述索引信息,则基于所述目标传输协议和所述元数据信息生成所述索引信息;
若确定存储有所述索引信息,则获取存储的索引信息,并将所述索引信息返回给所述客户端。
本申请实施例提供的第二种媒体数据传输装置,包括:
响应单元,用于响应于针对目标媒体数据的触发操作,向第一服务器发送媒体数据请求,所述媒体数据请求包含所述目标媒体数据的标识信息和使用的目标传输协议,以使所述第一服务器确定未存储所述目标媒体数据的元数据信息时,向第二服务器发送包含所述标识信息的元数据获取请求,所述目标传输协议用于定义所述目标媒体数据被传输到所述客户端的传输方式,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
接收单元,用于接收所述第一服务器返回的索引信息,并基于所述索引信息从所述第二服务器中获取所述各媒体分片。
可选的,所述接收单元具体用于:
对所述索引信息进行解析,获得所述元数据信息和媒体描述信息,所述媒体描述信息包含所述各媒体分片各自的分片标识;
基于各分片标识,从所述元数据信息中查找所述各分片标识各自对应的媒体分片的位置信息;
基于各位置信息,从所述第二服务器中获取对应的媒体分片。
本申请实施例提供的第三种媒体数据传输装置,包括:
接收单元,用于接收第一服务器发送的元数据获取请求,其中,所述元数据获取请求是:所述第一服务器确定未存储目标媒体数据的元数据信息时发送的,所述元数据获取请求包含所述目标媒体数据的标识信息,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
查找单元,用于基于所述标识信息,从所述第二服务器中查找所述目标媒体数据的元数据信息;
发送单元,用于将所述元数据信息返回给所述第一服务器,以使所述第一服务器基于所述元数据信息和目标传输协议生成索引信息,并将所述索引信息返回给客户端,所述客户端根据所述索引信息,从所述第二服务器中获取所述各媒体分片。
可选的,所述查找单元具体用于:
将所述标识信息与存储的各候选媒体数据各自的标识信息进行比对,获得相同的标识信息对应的候选媒体数据;
将获得的候选媒体数据的元数据信息,作为所述目标媒体数据的元数据信息。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任意一种媒体数据传输方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述任意一种媒体数据传输方法的步骤。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行上述任意一种媒体数据传输方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种媒体数据传输方法、装置、电子设备和存储介质,在本申请实施例中接收到客户端发送的媒体数据请求时,基于目标媒体数据的标识信息,确定未存储目标媒体数据的元数据信息时,向第二服务器获取元数据信息,并且基于目标传输协议和元数据信息生成索引信息,使得客户端可以直接根据索引信息,从第二服务器中获取各媒体分片,在此方式下,通过分离元数据信息和目标媒体数据,第一服务器只需从第二服务器获取元数据信息,而无需接收目标媒体数据,就可以实现客户端获取到需要的媒体分片。
由于元数据信息相比于目标媒体数据占用的空间大大减小,一方面,能够有效减少第一服务器的计算资源,增加第一服务器的出口带宽,使得第一服务器的计算资源能够为更多的客户端提供服务,降低设备负荷;另一方面,相关技术中,从客户端发出媒体数据请求到接收到媒体分片需要的总体延迟为L1+L2,L1为第一服务器与第二服务器之间传输目标媒体数据的延迟,L2为第二服务器与客户端之间传输目标媒体数据的延迟,而本申请中由于第一服务器与第二服务器之间传输的数据量减少,能够有效降低L1,进而降低总体延迟,提高客户端的使用对象的体验。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1A为相关技术中的一种动态打包方法的示意图;
图1B为相关技术中的动态打包方法的总体延迟示意图;
图1C为相关技术中的一种静态打包方法的示意图;
图2为本申请实施例中的一种应用场景的一个可选的示意图;
图3为本申请实施例中的一种媒体数据传输方法的实施流程图;
图4为一种MP4文件的架构示意图;
图5为本申请实施例中的一种信息获取方法的流程示意图;
图6为本申请实施例中的一种信息缓存架构图;
图7为本申请实施例提供的另一种媒体数据传输方法的实施流程图;
图8为本申请实施例提供的又一种媒体数据传输方法的实施流程图;
图9A为本申请实施例中的一种媒体数据传输系统的结构示意图;
图9B为本申请实施例中的一种媒体数据传输方法的交互时序图;
图10A为本申请实施例中的一种媒体数据传输方法的逻辑示意图;
图10B为本申请实施例中的一种数据传输量的示意图;
图11为本申请实施例中的第一种媒体数据传输装置的结构示意图;
图12为本申请实施例中的第一种媒体数据传输装置的结构示意图;
图13为本申请实施例中的第一种媒体数据传输装置的结构示意图;
图14为应用本申请实施例的一种电子设备的一个硬件组成结构示意图;
图15为应用本申请实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
ABR:一种通过互联网传输视频的方法,旨在通过HTTP网络有效地流式传输文件,向用户的视频播放客户端提供多个相同内容、不同大小文件的文件,然后客户端选择最合适的文件在设备上播放。一般自适应码率流媒体传输协议(HTTP Live Streaming,HLS)、动态图像专家组基于HTTP的动态自适应流(Moving Picture Experts Group DynamicAdaptive Streaming over HTTP,MPEG-DASH)等技术均可支持ABR。
流媒体(streaming media):是指将一连串数据压缩后,经过网络分段发送,即时传输以供观看音视频的一种技术。通过使用streaming media技术,用户无需将文件下载到本地即可播放。由于媒体数据是以连续的数据流发送的,因此在媒体数据到达时即可播放,并且可以像下载的文件一样进行暂停、快进或后退操作。本申请实施例中目标媒体数据即为一种流媒体,应用本申请中的媒体数据传输方法,减少流媒体延迟,提升用户的观看体验。
流媒体传输协议:是一种标准化的传递方法,用于将视频分解为多个块,将其发送给视频播放客户端,客户端重新组合播放。大部分流媒体传输协议支持ABR,这项技术可以在任一时间为用户提供最佳质量视频。常见的流媒体协议包括实时传输协议(Real-TimeMessaging Protocol,RTMP)、微软平滑流传输(Microsoft Smooth Streaming,MSS)、MPEG-DASH和HLS等,本申请实施例中的目标传输协议即为一种流媒体传输协议,用于将目标媒体数据传输至客户端。
MPEG-4(简称MP4):是一种数字多媒体容器格式,最常用于存储视频和音频,但也可用于存储其他数据,如字幕和静态图像。与大多数现代容器格式一样,它允许在互联网上进行流媒体传输。该规范所定义的MPEG-4第14部分文件的唯一文件名扩展名是.mp4。MPEG-4第14部分(正式名称为ISO/IEC 14496-14:2003)是作为MPEG-4的一部分而指定的标准。常见的视频多媒体容器格式还包括扩展名为.m4v、.avi、.mov等的格式,MP4格式的文件中通常包含视频文件、音频文件和元数据,本申请实施例中的目标传输数据可以是MP4格式的文件。
起播延迟:是指从用户试图开始播放到看到第一帧视频之间所消耗的时间,一般期望起播延迟较小,起播延迟越小,用户的观看体验越好。在本申请实施例中,起播延迟可以看作是从客户端发送媒体数据请求到获取到媒体分片的时间。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。本申请实施例中第一服务器和第二服务器可以位于云平台中,第一服务器为计算设备,也可称为计算节点,第二服务器为存储设备,也可称为存储节点。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。本申请实施例中的第二服务器可以指云存储系统中的一个存储设备,也可以指整个云存储系统。
下面对本申请实施例的设计思想进行简要介绍:
在自适应比特率(Adaptive Bit Rate,ABR)分发的场景下,音视频数据的质量和码率会根据当前网络状况的波动而发生自适应变化,以确保网络传输流畅。因此,提供音视频业务的云服务器,需要将一份媒体数据编码为多种编码格式和码率分辨率的MP4文件,并打包为不同传输协议的数据,使得媒体数据能够在互联网中传输。
目前,相关技术中的媒体打包技术,主要分为静态打包和动态打包,其中,如图1C所示,为相关技术中的一种静态打包方法的示意图,对于一份媒体数据,需要被预先编码为多种格式的MP4文件,然后按照分发格式的不同,再将MP4文件打包为多份媒体资源存储在存储节点中。当客户端请求媒体资源时,计算节点从存储节点获取打包好的媒体资源,并发送给客户端。但是,上述方式导致了对存储空间巨大的需求,例如,需要M个编码格式、N种码率分辨率,以及X种分发协议的数据,则需要预先存储M*N*X份数据。并且,很多时候,打包的内容也不一定被观众实际观看,更加浪费了存储空间。
因为这些问题,业界开始转向动态打包方式,如图1A所示,为相关技术中的一种动态打包方法的示意图,云服务器将一份媒体数据预先编码为多份MP4文件,并存储在云服务器中的存储节点上。当客户端请求媒体数据时,云服务器中的计算节点实时地从存储节点去获取MP4文件,然后将MP4文件打包后发送给客户端。其好处是只有在客户端发起观看请求时,才发起动态打包,而存储节点目前需要的存储仅仅只需要M*N,即M个不同编码格式,N个多码率分辨率流,比静态打包要求的存储空间大大减小,这里,一般的动态打包的过程可以抽象为以下三个组件实施的内容:
存储节点:用于存储媒体数据,一般存储节点分开部署,通过应用程序接口(Application Programming Interface,API)访问存储的媒体数据。以腾讯云为例,一般对应腾讯云对象存储(Cloud Object Storage,COS)。
计算节点:用于对媒体数据进行动态打包,在客户端请求媒体内容时,会去通过API的方式,拉取存储节点上的媒体数据实时打包。以腾讯云为例,类似腾讯云媒体处理(Media Processing Service,MPS)。
内容分发网络(Content Delivery Network,CDN)节点:分发计算节点实时打包之后的内容到客户端。
在动态打包中,一个关键问题是在部署中的实际性能问题,存储节点和计算节点之间的通信存在性能限制。这一般是因为云存储系统的特性和功能限制(例如,不支持字节范围请求,对请求率的限制,限制访问,API功能不完备,策略限定等)。另外,计算节点的动态打包的媒体转换的效率较低,这主要是因为存储节点的对象存储连接会在带宽上受到限制,并且会引入额外的一些延迟,特别是当计算节点部署在远离云存储节点的地方时,延迟和带宽限制就成为了一个非常突出的问题(例如,在边缘计算场景,计算节点和存储节点距离较远),当前的动态打包方案,使得客户端观看的延迟较大,以及只能以较低的吞吐量来服务用户。
有鉴于此,本申请实施例提供了一种媒体数据传输方法、装置、电子设备和存储介质,在本申请实施例中接收到客户端发送的媒体数据请求时,基于目标媒体数据的标识信息,确定未存储目标媒体数据的元数据信息时,向第二服务器获取元数据信息,并且基于目标传输协议和元数据信息生成索引信息,使得客户端可以直接根据索引信息,从第二服务器中获取各媒体分片,在此方式下,通过分离元数据信息和目标媒体数据,第一服务器只需从第二服务器获取元数据信息,而无需接收目标媒体数据,就可以实现客户端获取到需要的媒体分片。
由于元数据信息相比于目标媒体数据占用的空间大大减小,一方面,能够有效减少第一服务器的计算资源,增加第一服务器的出口带宽,使得第一服务器的计算资源能够为更多的客户端提供服务,降低设备负荷;另一方面,相关技术中,从客户端发出媒体数据请求到接收到媒体分片需要的总体延迟为L1+L2,L1为第一服务器与第二服务器之间传输目标媒体数据的延迟,L2为第二服务器与客户端之间传输目标媒体数据的延迟,而本申请中由于第一服务器与第二服务器之间传输的数据量减少,能够有效降低L1,进而降低总体延迟,提高客户端的使用对象的体验。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图2所示,其为本申请实施例的应用场景示意图。该应用场景图中包括终端设备210、第一服务器220和第二服务器230。终端设备上设有客户端,可通过终端设备210登录客户端。
在本申请实施例中,终端设备包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有媒体数据传输相关的客户端,该客户端可以是软件(例如浏览器、视频播放软件等),也可以是网页、小程序等,例如MPS、点播软件。第一服务器和第二服务器则是与软件或是网页、小程序等相对应的后台服务器,或者是专门用于进行媒体数据传输的服务器,本申请不做具体限定。第一服务器和第二服务器可以位于同一个服务器上,也可以是不同的服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请实施例中的媒体数据传输方法可以由电子设备执行,该电子设备可以为服务器或者终端设备,即,该方法可以由服务器或者终端设备单独执行,也可以由服务器和终端设备共同执行。比如由终端设备、第一服务器和第二服务器共同执行时,终端设备响应于针对目标媒体数据的触发操作,向第一服务器发送媒体数据请求,第一服务器接收媒体数据请求,并基于标识信息,确定未存储目标媒体数据的元数据信息时,向第二服务器发送包含标识信息的元数据获取请求,第二服务器基于标识信息查找目标媒体数据的元数据信息,并将元数据信息返回给第一服务器,第一服务器接收元数据信息,并基于目标传输协议和元数据信息生成索引信息,然后将索引信息返回给客户端,客户端根据索引信息,从第二服务器中获取各媒体分片。
在一种可选的实施方式中,终端设备与服务器之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。
需要说明的是,图2所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
本申请实施例中,多个服务器可组成为一区块链,而第一服务器和第二服务器均为区块链上的节点;如本申请实施例所公开的媒体数据传输方法,其中所涉及的目标媒体数据可保存于区块链上。
此外,本申请实施例可应用于各种场景,不仅包括媒体数据传输场景,还包括但不限于云技术、人工智能、智慧交通、辅助驾驶等场景。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的媒体数据传输方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
如图3所示,为本申请实施例提供的一种媒体数据传输方法的实施流程图,执行主体为第一服务器,该方法的具体实施流程包括如下步骤S31-S34:
S31:第一服务器接收客户端发送的媒体数据请求;
其中,媒体数据请求包含目标媒体数据的标识信息和使用的目标传输协议,第一客户端可以根据标识信息,确定客户端请求的是哪个媒体数据,标识信息可以是数字代码,例如对每个媒体数据进行编码,媒体数据1的标识信息为1001,媒体数据2的标识信息为1002,标识信息还可以是媒体数据的名称,例如,媒体数据1的标识信息为A电影,媒体数据2的标识信息为B电视剧。目标媒体数据包括但不限于音频数据、视频数据等多媒体数据,目标传输协议则是用于将上述多媒体数据传输至客户端,目标传输协议用于定义目标媒体数据被传输到客户端的传输方式,例如,目标传输协议可以是RTMP、MSS、MPEG-DASH和HLS。
S32:第一服务器基于标识信息,确定未存储目标媒体数据的元数据信息时,向第二服务器发送包含标识信息的元数据获取请求;
具体地,第一服务器接收到媒体数据请求后,首先基于标识信息确定本地是否存储有目标媒体数据的元数据信息,例如,标识信息为电影A,本地存储的元数据信息1的标识信息为电视剧1,元数据信息2的标识信息为电影1,元数据信息3的标识信息为歌曲1,则通过比对目标媒体数据的标识信息和存储的元数据信息的标识信息,确定为存储目标媒体数据的元数据信息,向第二服务器发送元数据获取请求,并在元数据获取请求中携带标识信息,以通知第二服务器需要哪个媒体数据的元数据信息。
其中,元数据信息包含目标媒体数据包含的各媒体分片在第二服务器中的位置信息,也即通过元数据信息能够从第二服务器中获取媒体分片。元数据信息的一种格式为MP4文件中moov box,以目标媒体数据的容器格式为MP4为例,如图4所示,为一种MP4文件的架构示意图,其中,moov box存储的即为元数据信息,在一个MP4文件中moov box包含了所有的元数据,包括在样本表中找到媒体样本的位置,这使得moov box对计算节点(第一服务器)非常重要。moov box中的dinf box通常包含一个dref box,dref box包含一个指向媒体样本位置的统一资源定位符(Uniform Resource Locator,URL)。通常moov box与媒体数据存储在一个MP4文件中,以使文件自成一体。在本申请实施例中,为了减轻开销,提出将moovbox存储在一个单独的MP4文件中,动态地引用存储在存储节点(第二服务器)的媒体数据,生成一个新的带dref box的MP4文件,dref box中的URL则是指向存储在存储节点的MP4或分散的MP4源。这个带dref box的MP4文件是一个完整的小文件,但是包含了所有的元信息,可以更容易地被缓存。
若第一服务器基于标识信息确定本地存储有元数据信息时,则无需向第二服务器发送元数据获取请求,直接获取本地存储的元数据信息。
S33:第一服务器接收第二服务器返回的元数据信息,并基于目标传输协议和元数据信息生成索引信息;
其中,在生成索引信息时,对于同一元数据信息,当目标传输协议不同时,生成的索引信息也不同,以元数据信息1为例,目标传输协议为HLS时,生成索引信息1,目标传输协议为MPEG-DASH时,生成索引信息2,目标传输协议为MSS时,生成索引信息3。
因此,在第一服务器基于标识信息确定本地存储有元数据信息时,还需要进一步确定是否存储有目标传输协议对应的索引信息,若确定未存储索引信息,则基于目标传输协议和元数据信息生成索引信息;若确定存储有索引信息,则获取存储的索引信息。
如图5所示,为本申请实施例中的一种信息获取方法的流程示意图,包括以下步骤:
S501:接收包含目标媒体数据的标识信息和使用的目标传输协议的媒体数据请求;
S502:判断本地是否存储有目标媒体数据的元数据信息,若是,执行步骤S503,若否执行步骤S507;
S503:获取存储的元数据信息;
S504:判断本地是否存储有目标传输协议对应的索引信息,若是,执行步骤S505,若否执行步骤S506;
S505:获取存储的索引信息;
S506:基于存储的元数据信息和目标传输协议生成索引信息;
S507:向第二服务器发送元数据获取请求;
S508:接收元数据信息,并基于目标传输协议和接收的元数据信息生成索引信息。
可选的,在步骤S33中通过以下步骤生成索引信息:
基于目标传输协议,对元数据信息进行协议转换,获得媒体描述信息,将元数据信息和媒体描述信息,作为索引信息。
其中,媒体描述信息也可称为清单(manifest)文件,对于不同的目标传输协议,获得的媒体描述信息不同,目标传输协议为HLS时,媒体描述信息为生成的以.m3u8结尾的文件,目标传输协议为MEPG-DASH时,媒体描述信息为以.mpd结尾的文件,目标传输协议为MSS时,媒体描述信息为以.ism结尾的文件。索引信息包含元数据信息和媒体描述信息,元数据信息实际上是针对存储节点内部存储架构进行的描述,客户端无法直接根据元数据信息确定目标媒体数据在存储节点中的存储位置,因此,需要根据客户端使用的目标传输协议,生成媒体描述信息,媒体描述信息包含各媒体分片各自的分片标识,分片标识用于在元数据信息中查找对应媒体分片的位置信息,进而,客户端可以直接到存储节点中获取媒体分片。
另外,由于一个媒体数据可能被多个客户端请求,因此在基于目标传输协议和元数据信息生成索引信息之后,为了便于在下一次接收到媒体数据请求时,无需向第二服务器请求元数据信息,还可以将索引信息存储到第一服务器,并建立目标传输协议和索引信息的映射关系,进而可以直接根据传输协议在本地查找索引信息。如图6所示,为本申请实施例中的一种信息缓存架构图,目标传输数据的标识信息为电视剧2,对应元数据信息2,针对每种目标传输协议分别对应一个索引信息,HLS对应索引信息1,MSS对应索引信息2,MEPG-DSH对应索引信息3。
具体地,可以通过计算节点中的缓存组件存储元数据信息和索引信息,即将带dref box的MP4文件与清单文件结合起来缓存在计算节点,使得计算节点在本地拥有了所有的元数据,而真正的媒体数据被存储在存储节点之上。
在这种情况下,计算节点使用带dref box的MP4文件与清单文件,使得减少了计算节点和存储节点之间的带宽访问以及带来的延迟问题。当客户端请求媒体分片的时候,计算节点利用缓存的带dref box的MP4文件获取到所有的信息,因为计算节点只是找存储节点获取这个带dref box的MP4文件,使得计算节点和存储节点之间的延迟L1大大减小,另外,因为只需要获取一个小文件,也解决了计算节点和存储节点之间的吞吐量的问题,客户端获取到解码相关的信息的也因为L1的降低而大大降低,使得首帧的延迟大为降低。计算节点因为不在需要缓存真实的媒体数据,使得其处理效率大为提升,增加了其吞吐量,提升了计算节点的出口带宽,降低了单独动态打包成本。
本申请提出了一个(远程)新的存储节点访问方案,解决计算节点和存储节点之间的传输性能问题,通过利用MP4文件的dref box,使用一种分离媒体文件元数据与媒体数据的方式,在计算节点/动态打包这里提供一个缓存层,最终可以减少流媒体延迟并提高客户端的吞吐量,提升用户的观看体验,并提升动态打包的整体性能。
S34:第一服务器将索引信息返回给客户端,以使客户端根据索引信息,从第二服务器中获取各媒体分片。
在本申请实施例中,接收到客户端发送的媒体数据请求时,基于目标媒体数据的标识信息,确定未存储目标媒体数据的元数据信息时,向第二服务器获取元数据信息,并且基于目标传输协议和元数据信息生成索引信息,使得客户端可以直接根据索引信息,从第二服务器中获取各媒体分片,在此方式下,通过分离元数据信息和目标媒体数据,第一服务器只需从第二服务器获取元数据信息,而无需接收目标媒体数据,就可以实现客户端获取到需要的媒体分片。
由于元数据信息相比于目标媒体数据占用的空间大大减小,一方面,能够有效减少第一服务器的计算资源,增加第一服务器的出口带宽,使得第一服务器的计算资源能够为更多的客户端提供服务,降低设备负荷;另一方面,如图1B所示,相关技术中,从客户端发出媒体数据请求到接收到媒体分片需要的总体延迟为L1+L2,L1为第一服务器与第二服务器之间传输目标媒体数据的延迟,L2为第二服务器与客户端之间传输目标媒体数据的延迟,而本申请中由于第一服务器与第二服务器之间传输的数据量减少,能够有效降低L1,进而降低总体延迟,提高客户端的使用对象的体验。
在介绍完本申请实施例中的第一服务器之后,下面对本申请实施例中的媒体数据传输方法中的客户端进行介绍,如图7所示,为本申请实施例提供的另一种媒体数据传输方法的实施流程图,执行主体为客户端,该方法的具体实施流程包括如下步骤S71-S72:
S71:客户端响应于针对目标媒体数据的触发操作,向第一服务器发送媒体数据请求,以使第一服务器确定未存储目标媒体数据的元数据信息时,向第二服务器发送包含标识信息的元数据获取请求;
其中,触发操作可以是点击、滑动、选择等操作,在此不进行具体限定。在点播场景下,用户可以在客户端上选择想要播放的媒体数据,进而触发客户端发送媒体数据请求,媒体数据请求包含目标媒体数据的标识信息和使用的目标传输协议,目标传输协议用于定义目标媒体数据被传输到客户端的传输方式,元数据信息包含目标媒体数据包含的各媒体分片在第二服务器中的位置信息。
S72:客户端接收第一服务器返回的索引信息,并基于索引信息从第二服务器中获取各媒体分片。
例如,客户端需要获取A电影第2s-10s的媒体数据,每个媒体分片为2s,媒体分片1为2s-4s、媒体分片2为4s-6s、媒体分片3为6s-8s、媒体分片4为8s-10s,则根据索引信息获得各媒体分片在第二服务器中的位置信息,并从第二服务器获取媒体分片。
在本申请实施例中,客户端向第一服务器发送媒体数据请求,第一服务器确定未存储目标媒体数据的元数据信息时,向第二服务器获取元数据信息,并且基于目标传输协议和元数据信息生成索引信息,使得客户端可以直接根据索引信息,从第二服务器中获取各媒体分片,在此方式下,通过分离元数据信息和目标媒体数据,第一服务器只需从第二服务器获取元数据信息,而无需接收目标媒体数据,就可以实现客户端获取到需要的媒体分片。
由于元数据信息相比于目标媒体数据占用的空间大大减小,一方面,能够有效减少第一服务器的计算资源,增加第一服务器的出口带宽,使得第一服务器的计算资源能够为更多的客户端提供服务,降低设备负荷;另一方面,由于第一服务器与第二服务器之间传输的数据量减少,能够有效降低第一服务器和第二服务器之间的传输延迟,进而降低从客户端发送媒体数据请求到获取到媒体分片的总体延迟,提高客户端的使用对象的体验。
可选的,在步骤S72中通过以下方式获取媒体分片:
对索引信息进行解析,获得元数据信息和媒体描述信息;基于各分片标识,从元数据信息中查找各分片标识各自对应的媒体分片的位置信息;基于各位置信息,从第二服务器中获取对应的媒体分片。
其中,媒体描述信息包含各媒体分片各自的分片标识,例如,媒体分片1的分片标识为0011,媒体分片2的分片标识为0012,媒体分片3的分片标识为0013,媒体分片4的分片标识为0014,通过0011在元数据信息中查询媒体分片1的位置信息为第二服务器中的存储模块1,通过0012在元数据信息中查询媒体分片2的位置信息为第二服务器中的存储模块2,通过0013在元数据信息中查询媒体分片3的位置信息为第二服务器中的存储模块3,通过0014在元数据信息中查询媒体分片4的位置信息为第二服务器中的存储模块4,并基于位置信息从第二服务器中获取媒体分片。
客户端直接从存储节点获取真正的媒体数据,因为不再经过计算节点,使得存储节点的带宽可以被充分使用,并使得原来的总延迟:L1+L2,直接降低为:L2。
下面对本申请实施例中的媒体数据传输方法中的第二服务器进行介绍,如图8所示,为本申请实施例提供的又一种媒体数据传输方法的实施流程图,执行主体为第二服务器,该方法的具体实施流程包括如下步骤S81-S83:
S81:第二服务器接收第一服务器发送的元数据获取请求;
其中,元数据获取请求是第一服务器确定未存储目标媒体数据的元数据信息时发送的,元数据获取请求包含目标媒体数据的标识信息,元数据信息包含:目标媒体数据包含的各媒体分片在第二服务器中的位置信息,具体内容参见上述实施例,在此不进行赘述。
S82:第二服务器基于标识信息,从第二服务器中查找目标媒体数据的元数据信息;
具体地,第二服务器中存储多个媒体数据,不同媒体数据的标识信息不同,基于标识信息能够查找到对应的目标媒体数据,进而查找到元数据信息。例如,媒体数据4的标识信息为C电影,媒体数据5的标识信息为D电视剧。
如上文所述,通常一个媒体文件的元数据信息与媒体数据存储在同一文件中,在本申请实施例中提出了可以将分离媒体文件的元数据信息与媒体数据,第二服务器仅将元数据信息发送给第一服务器,这样提升了第一服务器的出口带宽效率,使得可以服务更多的客户端,另一方面,降低了第一服务器和第二服务器之间的带宽,对于产品的成本降低也有收益。
以元数据信息为dref box的MP4文件为例,基于本申请实施例中的方法在增加一个基于dref box的MP4缓存文件的情况下,实时打包服务器的出口带宽有10%的增加,支持的打包路数增加了5-10个点,很好的节省了媒体处理的打包成本,帮助用户在媒体处理上降本增效;另外,显著降低了客户端播放的开播延迟,在线上系统中,开播延迟降低约20%,观看延迟则降低25%,极大提升了用户的观看体验,在媒体处理和点播场景上有很好的应用。
可选的,步骤S82可以实施为:
将标识信息与存储的各候选媒体数据各自的标识信息进行比对,获得相同的标识信息对应的候选媒体数据;将获得的候选媒体数据的元数据信息,作为目标媒体数据的元数据信息。
例如,标识信息为1001,候选媒体数据1的标识信息为1011,候选媒体数据2的标识信息为1101,候选媒体数据3的标识信息为0011,候选媒体数据4的标识信息为1001,则将候选媒体数据4的元数据信息作为目标媒体数据的元数据信息,发送给第一服务器。
S83:第二服务器将元数据信息返回给第一服务器,以使第一服务器基于元数据信息和目标传输协议生成索引信息,并将索引信息返回给客户端,客户端根据索引信息,从第二服务器中获取各媒体分片。
在本申请实施例中,第二服务器接收到客户端发送的媒体数据请求时,基于目标媒体数据的标识信息,确定未存储目标媒体数据的元数据信息时,向第二服务器获取元数据信息,并且基于目标传输协议和元数据信息生成索引信息,使得客户端可以直接根据索引信息,从第二服务器中获取各媒体分片,在此方式下,通过分离元数据信息和目标媒体数据,第一服务器只需从第二服务器获取元数据信息,而无需接收目标媒体数据,就可以实现客户端获取到需要的媒体分片。
由于元数据信息相比于目标媒体数据占用的空间大大减小,一方面,能够有效减少第一服务器的计算资源,增加第一服务器的出口带宽,使得第一服务器的计算资源能够为更多的客户端提供服务,降低设备负荷;另一方面,如图1B所示,相关技术中,从客户端发出媒体数据请求到接收到媒体分片需要的总体延迟为L1+L2,L1为第一服务器与第二服务器之间传输目标媒体数据的延迟,L2为第二服务器与客户端之间传输目标媒体数据的延迟,而本申请中由于第一服务器与第二服务器之间传输的数据量减少,能够有效降低L1,进而降低总体延迟,提高客户端的使用对象的体验。
上文中分别介绍了本申请实施例中媒体数据传输方法应用于第一服务器、客户端、第二服务器的内容,下面介绍本申请实施例中的一种媒体数据传输系统,如图9A所示,为本申请实施例中的一种媒体数据传输系统的结构示意图,包括客户端和云服务器集群,云服务器集群中包含第一服务器和第二服务器。
如图9B所示,为本申请实施例中的一种媒体数据传输方法的交互时序图,用以展示客户端、第一服务器和第二服务器之间的交互流程,包括以下步骤:
S901:客户端响应于针对目标媒体数据的触发操作,向第一服务器发送媒体数据请求;
S902:第一服务器接收媒体数据请求,确定未存储目标媒体数据的元数据信息时,向第二服务器发送包含标识信息的元数据获取请求;
S903:第二服务器接收元数据获取请求;
S904:第二服务器基于标识信息查找目标媒体数据的元数据信息;
S905:第二服务器将元数据信息发送给第一服务器;
S906:第一服务器接收元数据信息,并基于目标传输协议和元数据信息生成索引信息;
S907:第一服务器将索引信息发送给客户端;
S908:客户端接收索引信息;
S909:客户端基于索引信息向第二服务器获取目标媒体数据包含的各媒体分片;
S910:第二服务器将各媒体分片发送给客户端。
如图10A所示,为本申请实施例中的一种媒体数据传输方法的逻辑示意图,用户在客户端中点击电影1,客户端向第一服务器发送媒体数据请求,包含的目标传输协议为“HLS”,标识信息为“电影1”,第一服务器接收到媒体数据请求后,在本地查找“电影1”的元数据信息,确定本地未存储“电影1”的元数据信息,则第一服务器向第二服务器发送元数据获取请求,第二服务器存储有候选媒体数据a、候选媒体数据b、候选媒体数据c和候选媒体数据d,对应的标识信息分别为歌曲a、电影1、电视剧c和综艺d,通过比较标识信息,将候选媒体数据b的元数据信息b发送给第一服务器,第一服务器根据目标传输协议“HLS”对元数据信息b进行协议转换,生成媒体描述信息b,媒体描述信息b中包含媒体分片1的分片标识0001、媒体分片2的分片标识0002,媒体分片3的分片标识0003,第一服务器将包含元数据信息b和媒体描述信息b的索引信息发送给客户端,客户端根据分片标识0001,从元数据信息b中查找到媒体分片1在第二服务器中的位置信息为存储模块3,媒体分片2的位置信息为存储模块4,媒体分片3的位置信息为存储模块5,进而客户端向第二服务器获取媒体分片,第二服务器将媒体分片1-3发送给客户端。
在图10A中,具体介绍了本申请实施例中的客户端、第一服务器和第二服务器在媒体数据传输过程中执行的内容,下面通过图10B对第一服务器、第二服务器的数据传输量进行展示,由图10B可以看出,第一服务器只需将元数据信息这个较小的数据传输给客户端,第二服务器将各媒体分片发送给客户端,客户端组成0-N秒的视频数据展示给用户,有效减少了第一服务器传输的数据量,第二服务器也仅需发送一次较大的数据(媒体分片),增加第一服务器和第二服务器的出口带宽,减少第一服务器和第二服务器之间发送大数据产生的延迟,进而减少客户端的起播延迟,提升用户体验。
需要说明的是,在图10B中仅以第二服务器发送所有的媒体分片为例进行说明,实际上媒体分片还可以被存储于多个具有存储功能的服务器中,则客户端可以接收不同服务器发送的媒体分片,组成0-N秒的视频数据。
基于相同的发明构思,如图11所示,其为本申请实施例提供的第一种媒体数据传输装置1100的结构示意图,可以包括:
接收单元1101,用于接收客户端发送的媒体数据请求,媒体数据请求包含目标媒体数据的标识信息和使用的目标传输协议,目标传输协议用于定义目标媒体数据被传输到客户端的传输方式;
确定单元1102,用于基于标识信息,确定未存储目标媒体数据的元数据信息时,向第二服务器发送包含标识信息的元数据获取请求,元数据信息包含:目标媒体数据包含的各媒体分片在第二服务器中的位置信息;
生成单元1103,用于接收第二服务器返回的元数据信息,并基于目标传输协议和元数据信息生成索引信息;
发送单元1104,用于将索引信息返回给客户端,以使客户端根据索引信息,从第二服务器中获取各媒体分片。
可选的,生成单元1103具体用于:
基于目标传输协议,对元数据信息进行协议转换,获得媒体描述信息,媒体描述信息包含各媒体分片各自的分片标识,每个分片标识用于在元数据信息中查找对应媒体分片的位置信息;
将元数据信息和媒体描述信息,作为索引信息。
可选的,装置还包括存储单元1105,用于:
将索引信息存储到第一服务器,并建立目标传输协议和索引信息的映射关系。
可选的,装置还包括获取单元1106,用于:
确定存储有元数据信息时,基于目标传输协议,确定是否存储有对应的索引信息;
若确定未存储索引信息,则基于目标传输协议和元数据信息生成索引信息;
若确定存储有索引信息,则获取存储的索引信息,并将索引信息返回给客户端。
基于相同的发明构思,如图12所示,其为本申请实施例提供的第二种媒体数据传输装置1200的结构示意图,可以包括:
响应单元1201,用于响应于针对目标媒体数据的触发操作,向第一服务器发送媒体数据请求,媒体数据请求包含目标媒体数据的标识信息和使用的目标传输协议,以使第一服务器确定未存储目标媒体数据的元数据信息时,向第二服务器发送包含标识信息的元数据获取请求,目标传输协议用于定义目标媒体数据被传输到客户端的传输方式,元数据信息包含:目标媒体数据包含的各媒体分片在第二服务器中的位置信息;
接收单元1202,用于接收第一服务器返回的索引信息,并基于索引信息从第二服务器中获取各媒体分片。
可选的,接收单元1202具体用于:
对索引信息进行解析,获得元数据信息和媒体描述信息,媒体描述信息包含各媒体分片各自的分片标识;
基于各分片标识,从元数据信息中查找各分片标识各自对应的媒体分片的位置信息;
基于各位置信息,从第二服务器中获取对应的媒体分片。
基于相同的发明构思,如图13所示,其为本申请实施例提供的第三种媒体数据传输装置1300的结构示意图,可以包括:
接收单元1301,用于接收第一服务器发送的元数据获取请求,其中,元数据获取请求是:第一服务器确定未存储目标媒体数据的元数据信息时发送的,元数据获取请求包含目标媒体数据的标识信息,元数据信息包含:目标媒体数据包含的各媒体分片在第二服务器中的位置信息;
查找单元1302,用于基于标识信息,从第二服务器中查找目标媒体数据的元数据信息;
发送单元1303,用于将元数据信息返回给第一服务器,以使第一服务器基于元数据信息和目标传输协议生成索引信息,并将索引信息返回给客户端,客户端根据索引信息,从第二服务器中获取各媒体分片。
可选的,查找单元1302具体用于:
将标识信息与存储的各候选媒体数据各自的标识信息进行比对,获得相同的标识信息对应的候选媒体数据;
将获得的候选媒体数据的元数据信息,作为目标媒体数据的元数据信息。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的媒体数据传输方法和装置之后,接下来,介绍根据本申请的另一示例性的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是第一服务器或第二服务器。在该实施例中,电子设备的结构可以如图14所示,包括存储器1401,通讯模块1403以及一个或多个处理器1402。
存储器1401,用于存储处理器1402执行的计算机程序。存储器1401可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器1401可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1401也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1401是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器1401可以是上述存储器的组合。
处理器1402,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1402,用于调用存储器1401中存储的计算机程序时实现上述媒体数据传输方法。
通讯模块1403用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1401、通讯模块1403和处理器1402之间的具体连接介质。本申请实施例在图14中以存储器1401和处理器1402之间通过总线1404连接,总线1404在图14中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1404可以分为地址总线、数据总线、控制总线等。为便于描述,图14中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1401中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的媒体数据传输方法。处理器1402用于执行上述的媒体数据传输方法,如图3所示。
在另一种实施例中,电子设备也可以是其他电子设备,如图2所示的终端设备。在该实施例中,电子设备的结构可以如图15所示,包括:通信组件1510、存储器1520、显示单元1530、摄像头1540、传感器1550、音频电路1560、蓝牙模块1570、处理器1580等部件。
通信组件1510用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器1520可用于存储软件程序及数据。处理器1580通过运行存储在存储器1520的软件程序或数据,从而执行终端设备的各种功能以及数据处理。存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1520存储有使得终端设备能运行的操作系统。本申请中存储器1520可以存储操作系统及各种应用程序,还可以存储执行本申请实施例媒体数据传输方法的计算机程序。
显示单元1530还可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1530可以包括设置在终端设备正面的显示屏1532。其中,显示屏1532可以采用液晶显示器、发光二极管等形式来配置。显示单元1530可以用于显示本申请实施例中的媒体数据传输用户界面等。
显示单元1530还可用于接收输入的数字或字符信息,产生与终端设备的用户设置以及功能控制有关的信号输入,具体地,显示单元1530可以包括设置在终端设备正面的触摸屏1531,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触摸屏1531可以覆盖在显示屏1532之上,也可以将触摸屏1531与显示屏1532集成而实现终端设备的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1530可以显示应用程序以及对应的操作步骤。
摄像头1540可用于捕获静态图像,用户可以将摄像头1540拍摄的图像通过应用发布评论。摄像头1540可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1580转换成数字图像信号。
终端设备还可以包括至少一种传感器1550,比如加速度传感器1551、距离传感器1552、指纹传感器1553、温度传感器1554。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1560、扬声器1561、传声器1562可提供用户与终端设备之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出。终端设备还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出至通信组件1510以发送给比如另一终端设备,或者将音频数据输出至存储器1520以便进一步处理。
蓝牙模块1570用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1570与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1580是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1520内的软件程序,以及调用存储在存储器1520内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1580可包括一个或多个处理单元;处理器1580还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1580中。本申请中处理器1580可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的媒体数据传输方法。另外,处理器1580与显示单元1530耦接。
在一些可能的实施方式中,本申请提供的媒体数据传输方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的媒体数据传输方法中的步骤,例如,电子设备可以执行如图3中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (14)

1.一种媒体数据传输方法,其特征在于,应用于第一服务器,所述方法包括:
接收客户端发送的媒体数据请求,所述媒体数据请求包含目标媒体数据的标识信息和使用的目标传输协议,所述目标传输协议用于定义所述目标媒体数据被传输到所述客户端的传输方式;
基于所述标识信息,确定未存储所述目标媒体数据的元数据信息时,向第二服务器发送包含所述标识信息的元数据获取请求,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
接收所述第二服务器返回的所述元数据信息,并基于所述目标传输协议和所述元数据信息生成索引信息;
将所述索引信息返回给所述客户端,以使所述客户端根据所述索引信息,从所述第二服务器中获取所述各媒体分片。
2.如权利要求1所述的方法,其特征在于,所述基于所述目标传输协议和所述元数据信息生成索引信息,包括:
基于所述目标传输协议,对所述元数据信息进行协议转换,获得媒体描述信息,所述媒体描述信息包含所述各媒体分片各自的分片标识,每个分片标识用于在所述元数据信息中查找对应媒体分片的位置信息;
将所述元数据信息和所述媒体描述信息,作为所述索引信息。
3.如权利要求1所述的方法,其特征在于,在所述基于所述目标传输协议和所述元数据信息生成索引信息之后,还包括:
将所述索引信息存储到所述第一服务器,并建立所述目标传输协议和所述索引信息的映射关系。
4.如权利要求1~3任一项所述的方法,其特征在于,所述方法还包括:
确定存储有所述元数据信息时,基于所述目标传输协议,确定是否存储有对应的索引信息;
若确定未存储所述索引信息,则基于所述目标传输协议和所述元数据信息生成所述索引信息;
若确定存储有所述索引信息,则获取存储的索引信息,并将所述索引信息返回给所述客户端。
5.一种媒体数据传输方法,其特征在于,应用于客户端,所述方法包括:
响应于针对目标媒体数据的触发操作,向第一服务器发送媒体数据请求,所述媒体数据请求包含所述目标媒体数据的标识信息和使用的目标传输协议,以使所述第一服务器确定未存储所述目标媒体数据的元数据信息时,向第二服务器发送包含所述标识信息的元数据获取请求,所述目标传输协议用于定义所述目标媒体数据被传输到所述客户端的传输方式,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
接收所述第一服务器返回的索引信息,并基于所述索引信息从所述第二服务器中获取所述各媒体分片。
6.如权利要求5所述的方法,其特征在于,所述基于所述索引信息从所述第二服务器中获取所述各媒体分片,包括:
对所述索引信息进行解析,获得所述元数据信息和媒体描述信息,所述媒体描述信息包含所述各媒体分片各自的分片标识;
基于各分片标识,从所述元数据信息中查找所述各分片标识各自对应的媒体分片的位置信息;
基于各位置信息,从所述第二服务器中获取对应的媒体分片。
7.一种媒体数据传输方法,其特征在于,应用于第二服务器,所述方法包括:
接收第一服务器发送的元数据获取请求,其中,所述元数据获取请求是:所述第一服务器确定未存储目标媒体数据的元数据信息时发送的,所述元数据获取请求包含所述目标媒体数据的标识信息,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
基于所述标识信息,从所述第二服务器中查找所述目标媒体数据的元数据信息;
将所述元数据信息返回给所述第一服务器,以使所述第一服务器基于所述元数据信息和目标传输协议生成索引信息,并将所述索引信息返回给客户端,所述客户端根据所述索引信息,从所述第二服务器中获取所述各媒体分片。
8.如权利要求7所述的方法,其特征在于,所述基于所述标识信息,从所述第二服务器中查找所述目标媒体数据的元数据信息,包括:
将所述标识信息与存储的各候选媒体数据各自的标识信息进行比对,获得相同的标识信息对应的候选媒体数据;
将获得的候选媒体数据的元数据信息,作为所述目标媒体数据的元数据信息。
9.一种媒体数据传输装置,其特征在于,包括:
接收单元,用于接收客户端发送的媒体数据请求,所述媒体数据请求包含目标媒体数据的标识信息和使用的目标传输协议,所述目标传输协议用于定义所述目标媒体数据被传输到所述客户端的传输方式;
确定单元,用于基于所述标识信息,确定未存储所述目标媒体数据的元数据信息时,向第二服务器发送包含所述标识信息的元数据获取请求,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
生成单元,用于接收所述第二服务器返回的所述元数据信息,并基于所述目标传输协议和所述元数据信息生成索引信息;
发送单元,用于将所述索引信息返回给所述客户端,以使所述客户端根据所述索引信息,从所述第二服务器中获取所述各媒体分片。
10.一种媒体数据传输装置,其特征在于,包括:
响应单元,用于响应于针对目标媒体数据的触发操作,向第一服务器发送媒体数据请求,所述媒体数据请求包含所述目标媒体数据的标识信息和使用的目标传输协议,以使所述第一服务器确定未存储所述目标媒体数据的元数据信息时,向第二服务器发送包含所述标识信息的元数据获取请求,所述目标传输协议用于定义所述目标媒体数据被传输到所述客户端的传输方式,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
接收单元,用于接收所述第一服务器返回的索引信息,并基于所述索引信息从所述第二服务器中获取所述各媒体分片。
11.一种媒体数据传输装置,其特征在于,包括:
接收单元,用于接收第一服务器发送的元数据获取请求,其中,所述元数据获取请求是:所述第一服务器确定未存储目标媒体数据的元数据信息时发送的,所述元数据获取请求包含所述目标媒体数据的标识信息,所述元数据信息包含:所述目标媒体数据包含的各媒体分片在所述第二服务器中的位置信息;
查找单元,用于基于所述标识信息,从所述第二服务器中查找所述目标媒体数据的元数据信息;
发送单元,用于将所述元数据信息返回给所述第一服务器,以使所述第一服务器基于所述元数据信息和目标传输协议生成索引信息,并将所述索引信息返回给客户端,所述客户端根据所述索引信息,从所述第二服务器中获取所述各媒体分片。
12.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~8中任一所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~8中任一所述方法的步骤。
14.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行权利要求1~8中任一所述方法的步骤。
CN202310461320.6A 2023-04-18 2023-04-18 一种媒体数据传输方法、装置、电子设备和存储介质 Pending CN116962366A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310461320.6A CN116962366A (zh) 2023-04-18 2023-04-18 一种媒体数据传输方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310461320.6A CN116962366A (zh) 2023-04-18 2023-04-18 一种媒体数据传输方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN116962366A true CN116962366A (zh) 2023-10-27

Family

ID=88448127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310461320.6A Pending CN116962366A (zh) 2023-04-18 2023-04-18 一种媒体数据传输方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116962366A (zh)

Similar Documents

Publication Publication Date Title
US10609447B2 (en) Method of unscrambling television content on a bandwidth
US10698952B2 (en) Using digital fingerprints to associate data with a work
EP3000215B1 (en) Live media processing and streaming service
KR101904244B1 (ko) 개량된 스트리밍 미디어 재생
JP6570646B2 (ja) オーディオビデオファイルのライブストリーミング方法、システム及びサーバー
US11537562B2 (en) Auxiliary manifest file to provide timed metadata
GB2533624A (en) Methods, devices, and computer programs for improving coding of media presentation description data
CN109168020A (zh) 基于直播的视频处理方法、装置、计算设备和存储介质
KR20180019575A (ko) 미디어―시간이 맞춰진 웹 상호작용들
CN110113298A (zh) 数据传输方法、装置、信令服务器和计算机可读介质
CN113473165A (zh) 直播控制系统、直播控制方法、装置、介质与设备
CN116962366A (zh) 一种媒体数据传输方法、装置、电子设备和存储介质
Kumar et al. Cloud‐based video streaming services: Trends, challenges, and opportunities
CN111800649A (zh) 存储视频的方法和装置以及生成视频的方法和装置
JP7492647B2 (ja) 断片化mp4を活用したhttpベースのメディアストリーミングサービス
Kumar Advanced mechanism to handle big data of hd video file for mobile devices
Episkopos Peer-to-Peer video content delivery optimization service in a distributed network
CN116980687A (zh) 视频启播方法、装置、设备及计算机存储介质
Al Rasbi et al. Need and scope of Private Cloud Technology for public authority for radio & television in Oman
Jeon et al. User Centric Content Management System for Open IPTV Over SNS (ICTC2012)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication