CN105049873A - 一种流媒体传输方法、装置和系统 - Google Patents

一种流媒体传输方法、装置和系统 Download PDF

Info

Publication number
CN105049873A
CN105049873A CN201510289223.9A CN201510289223A CN105049873A CN 105049873 A CN105049873 A CN 105049873A CN 201510289223 A CN201510289223 A CN 201510289223A CN 105049873 A CN105049873 A CN 105049873A
Authority
CN
China
Prior art keywords
media
slicing
description file
media slicing
descriptor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510289223.9A
Other languages
English (en)
Other versions
CN105049873B (zh
Inventor
胡小华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Beijing Co Ltd
Original Assignee
Tencent Technology Beijing 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 Beijing Co Ltd filed Critical Tencent Technology Beijing Co Ltd
Priority to CN201510289223.9A priority Critical patent/CN105049873B/zh
Publication of CN105049873A publication Critical patent/CN105049873A/zh
Application granted granted Critical
Publication of CN105049873B publication Critical patent/CN105049873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26603Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for automatically generating descriptors from content, e.g. when it is not made available by its provider, using content analysis techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Abstract

本发明提供了一种流媒体传输方法,该方法包括:CDN服务器当接收到来自媒体播放器的请求媒体描述文件的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件,并发送所生成的媒体描述文件给所述媒体播放器;当接收到来自媒体播放器的请求媒体分片的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,将确定的媒体分片中携带的描述信息删除,并发送给所述媒体播放器进行播放。基于同样的发明构思,本申请还提出一种流媒体传输装置和系统,既能够减轻CDN负载分担,也能够动态生成适应媒体播放器使用的媒体描述文件。

Description

一种流媒体传输方法、装置和系统
技术领域
本发明涉及通信技术领域,特别涉及一种流媒体传输方法、装置和系统。
背景技术
基于超文本传输协议的流媒体传输(HTTPLiveStreaming,HLS)可实现流媒体的直播和点播,主要应用在互联网操作系统(InternetworkOperatingSystem,IOS)系统和安卓系统,如iPhone、iPad、安卓设备等提供媒体直播和点播。
HLS点播,基本上就是常见的分段HTTP点播,不同在于,它的分段非常小。要实现HLS点播,重点在于对媒体分片分段,目前有不少开源工具可以使用,这里就不再讨论,只谈HLS直播技术。
相对于常见的流媒体直播协议,例如RTMP协议、RTSP协议、MMS协议等,HLS直播最大的不同在于,直播客户端获取到的,并不是一个完整的数据流。HLS协议在服务器端将直播数据流存储为连续的、很短时长的媒体分片,而客户端则不断的下载并播放这些小文件,因为服务器端总是会将最新的直播数据生成新的小文件,这样客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。
由此可见,HLS是以点播的技术方式来实现直播。由于数据通过HTTP协议传输,所以完全不用考虑防火墙或者代理的问题,而且分段文件的时长很短,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放。
现有实现HLS直播过程中,在编码器编码后进行切片时,同时生成媒体分片和媒体描述文件,这里,媒体分片可以视传输流(TS)分片,媒体描述文件可以是M3U8文件,在内容分发网络(ContentDeliveryNetwork,CDN)分发中需同时分发媒体分片和媒体描述文件。这种实现方案中CDN分发负载较大。
发明内容
有鉴于此,本申请提供一种流媒体传输方法、装置和系统,以解决CDN分发系统中负载分担大的问题。
为解决上述技术问题,本申请的技术方案是这样实现的:
一种流媒体传输方法,当内容分发网络CDN服务器作为CDN分发系统中的边缘节点时,该方法包括:
当接收到其它CDN服务器或媒体分片服务器发送的媒体分片时,缓存该媒体分片;所述媒体分片携带用于生成所述媒体分片对应的媒体描述文件的描述信息;
当接收到来自媒体播放器的请求媒体描述文件的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件,并发送所生成的媒体描述文件给所述媒体播放器;
当接收到来自媒体播放器的请求媒体分片的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,将确定的媒体分片中携带的描述信息删除,并发送给所述媒体播放器进行播放。
一种流媒体传输方法,该方法包括:
媒体分片服务器将编码服务器编码后输出的媒体流分割为多个媒体分片,针对任一媒体分片,将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片中,通过内容分发网络CDN分发系统进行分发,使作为边缘节点的CDN服务器根据媒体分片中携带的描述信息生成媒体描述文件。
一种流媒体传输装置,应用于流媒体传输系统中的内容分发网络CDN服务器上,该装置包括:接收单元、缓存单元、处理单元和发送单元;
所述接收单元,本单元所在CDN服务器作为CDN分发系统中的边缘节点时,接收其它CDN服务器或媒体播放器发送的媒体分片;所述媒体分片携带用于生成所述媒体分片对应的媒体描述文件的描述信息;接收来自媒体播放器的请求媒体描述文件的播放请求;接收来自媒体播放器的请求媒体分片的播放请求;
所述缓存单元,用于当所述接收单元接收到媒体分片时,进行缓存;
所述处理单元,用于当所述接收单元接收到来自媒体播放器的请求媒体描述文件的播放请求时,确定所述缓存单元中所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件;当所述接收单元接收到来自媒体播放器的请求媒体分片的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,将确定的媒体分片中携带的描述信息删除;
所述发送单元,用于将所述处理单元生成的媒体描述文件发送给所述媒体播放器;将所述处理单元删除描述信息的媒体分片发送给所述媒体播放器进行播放。
一种流媒体传输装置,应用于流媒体传输系统中的媒体分片服务器上,该装置包括:处理单元和发送单元;
所述处理单元,用于将编码服务器编码后输出的媒体流分割为多个媒体分片,针对任一媒体分片,将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片中;
所述发送单元,用于将所述处理单元分割的多媒体分片通过内容分发网络CDN分发系统进行分发,使作为边缘节点的CDN服务器根据媒体分片中携带的描述信息生成媒体描述文件。
一种流媒体传输系统,该系统包括:媒体分片服务器和内容分发网络CDN分发系统,该CDN分发系统包括树形结构中的至少一个CDN服务器;
所述媒体分片服务器,将编码服务器编码后输出的媒体流分割为多个媒体分片,针对任一媒体分片,将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片中,并发送携带所述描述信息的媒体分片给所述CDN分发系统中作为根节点的CDN服务器;
对于所述CDN系统中的任一CDN服务器,如果该CDN服务器作为边缘节点,则当接收到所述媒体分片服务器或其他CDN服务器发送的媒体文件时,进行缓存;当接收到来自媒体播放器的请求媒体描述文件的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件,并发送所生成的媒体描述文件给所述媒体播放器;当接收到来自媒体播放器的请求媒体分片的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,将确定的媒体分片中携带的描述信息删除,并发送给所述媒体播放器进行播放。
由上面的技术方案可知,本申请中通过将用于生成对应媒体描述文件的描述信息携带在媒体分片中在分发系统中传输,由于在CDN分发系统中仅分发媒体分片,能够减轻CDN负载分担;并且在作为边缘节点的CDN服务器上根据媒体播放器发送的请求媒体描述文件的播放请求动态生成媒体描述文件并发送给媒体播放器,能够生成适应媒体播放器使用的媒体描述文件。
附图说明
图1为本申请实施例中实现流媒体传输的系统示意图;
图2为本申请实施例中媒体分片服务器实现流媒体传输的流程示意图;
图3为本申请实施例中CDN服务器实现流媒体传输的流程示意图;
图4为媒体描述文件的格式示意图;
图5为本申请实施例中应用于CDN服务器的流媒体传输装置结构示意图;
图6为本申请实施例中应用于媒体分片服务器的流媒体传输装置结构示意图;
图7是本申请具体实施例中CDN服务器的硬件架构组成示意图;
图8是本申请具体实施例中媒体分片服务器的硬件架构组成示意图;
图9为本申请实施例中流媒体传输系统示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
本申请实施例中提供一种流媒体传输方法,应用于包括编码服务器、媒体分片服务器、CDN分发服务器和媒体播放器的系统中。
参见图1,图1为本申请实施例中实现流媒体传输的系统示意图。
图1中编码服务器110首先将摄像机实时采集的媒体数据压缩编码为符合特定标准的媒体流,也可以直接获得压缩编码处理后的媒体流。其中,媒体数据包括:音频数据、视频数据、多媒体数据等。
在HLS直播中,媒体数据通常使用H.264视频和AAC音频。然后编码服务器将对应的媒体数据封装成为符合MPEG-2格式的流文件。
媒体分片服务器120将编码服务器编码110后的媒体流进行流分割,本申请实施例中,媒体分片服务器在进行流分割时,仅分割多个媒体分片,并不直接生成对应的媒体描述文件,而是在媒体分片中携带用于生成所述媒体分片对应的媒体描述文件的描述信息,即在流分割的时候不生成媒体描述文件。
本申请实施例中应用到实现HLS直播中时,媒体分片服务器为TS服务器,媒体分片为TS分片,媒体描述文件为M3U8文件。
本申请实施例中获取媒体数据,以及对媒体数据的编码,以及将编码后的媒体流分割成媒体分片的过程均同现有实现。
多个CDN分发服务器组成一个分发系统,通常以树状结构进行分发,本申请实施例中对CDN分发系统的结构不作修改,只是分发的时候只分发本申请实施例中的媒体分片,即只分发携带用于生成媒体描述文件的媒体分片。
当媒体分片分发到CDN分发服务系统中的边缘节点,即分发到作为CDN分发系统对应的树中的叶子节点对应的CDN服务器,如图1所示的CDN服务器135和CDN服务器136。
作为CDN分发系统中的边缘节点的CDN服务器接收到媒体播放器发送的请求媒体描述文件的播放请求时,根据媒体分片携带的用于生成媒体描述文件的描述信息生成媒体描述文件,并发送给媒体播放器。CDN分发系统中的非边缘节点为CDN服务器131、CDN服务器132、CDN服务器133和CDN服务器134。
媒体播放器141或媒体播放器142根据接收到的媒体描述文件,向CDN分发系统发送请求媒体分片的播放请求。
作为CDN分发系统中的边缘节点的CDN服务器接收到媒体播放器发送的请求媒体文件的播放请求时,确定对应的媒体分片并删除确定的媒体分片携带的描述信息之后,将删除描述信息的该媒体分片发送给媒体播放器。
在具体实现时,为了实现多个媒体播放器都能够向该CDN服务器请求对应的媒体分片进行播放,需在确定对应的媒体分片时,复制对应的媒体分片,然后将携带的描述信息删除,再发送媒体播放器。
当描述信息携带在媒体分片的文件头中时,确定对应的媒体分片时,也可以只读取,即复制缓存中的对应的媒体分片中除描述信息之外的内容,即读取现有实现中的媒体分片的内容;再发送给媒体播放器。
媒体播放器141接收CDN服务器135发送的媒体分片进行播放,媒体播放器142接收到CDN服务器136发送的媒体分片进行播放;媒体播放器的处理过程同现有实现。
下面结合附图,详细说明本申请实施例中CND服务器实现流媒体传输的过程。
参见图2,图2为本申请实施例中媒体分片服务器实现流媒体传输的流程示意图。具体步骤为:
步骤201,媒体分片服务器将编码服务器编码后输出的媒体流分割为多个媒体分片,针对任一媒体分片,将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片中。
在具体实现时,这种用于生成媒体描述文件的描述信息可以携带在媒体分片的文件头中,也可以携带在媒体分片的其它字段中,本发明不限制其具体携带方式及位置,只要能使作为边缘节点的CDN服务器识别到这种描述信息即可。
生成媒体描述文件的描述信息包括,媒体分片时长、大小、类型和世界协调时间(UTC)时间等。
还可以根据实际需要携带其他描述信息,如当媒体播放器为P2P网络中的用户终端,所述描述信息还包括:用于P2P通信的描述信息。
步骤202,媒体分片服务器将携带用于生成媒体描述文件的描述信息的媒体分片通过CDN分发系统进行分发,使作为边缘节点的CDN服务器根据媒体分片中携带的描述信息生成媒体描述文件。
媒体分片服务器将生成的媒体分片发送给CDN分发系统,CDN分发系统中的非边缘节点按照媒体播放请求在CDN分发系统中转发所经路线,将媒体分片服务器发送的媒体分片发送给转发所述媒体播放请求的边缘节点。
作为边缘节点的CDN服务器缓存接收到的媒体分片,并在接收到来自媒体播放器的请求媒体描述文件的播放请求时,生成对应的媒体描述文件,并发送给所述媒体播放器;
作为边缘节点的CDN服务器在接收到媒体播放器发送的请求媒体分片的播放请求时,将缓存中对应的媒体分片携带的用于生成媒体描述文件的描述信息删除,并发送给媒体播放器进行播放。
参见图3,图3为本申请实施例中CDN服务器实现流媒体传输的流程示意图。具体步骤为:
步骤301,当CDN分发系统中作为边缘节点的CDN服务器,接收到其它CDN服务器或媒体分片服务器发送的媒体分片时,缓存该媒体分片;所述媒体分片携带用于生成所述媒体分片对应的媒体描述文件的描述信息。
步骤302,该CDN服务器当接收到来自媒体播放器的请求媒体描述文件的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件,并发送所生成的媒体描述文件给所述媒体播放器。
本步骤中CDN服务器确定所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件,包括:
CDN服务器当确定首次接收到媒体播放器发送的请求媒体描述文件的播放请求时,使用缓存中最新缓存的N个媒体分片携带的描述信息生成媒体描述文件;其中,N为生成媒体描述文件的媒体分片的个数,N为大于0的整数;
若当前缓存中的媒体分片的个数小于N,则使用当前缓存中的所有媒体分片携带的生成媒体描述文件的描述信息生成媒体描述文件。
假设缓存中最多缓存10个媒体分片,确定每次向媒体播放器1发送5个媒体分片,假设当前缓存中缓存了10个媒体分片,若首次向媒体播放器发送媒体分片,则根据最新缓存的5个媒体分片生成媒体描述文件;
若缓存中的媒体分片个数为4,则使用这4个媒体分片携带的生成媒体描述文件的描述信息生成媒体描述文件。
CDN服务器当确定不是首次接收到媒体播放器发送的请求媒体描述文件的播放请求时,确定从前一次生成媒体描述文件所使用的N个媒体分片中的第二个媒体分片算起依次缓存的N个媒体分片,并使用所确定的N个媒体分片携带的描述信息生成媒体描述文件。
若前一次生成媒体描述文件的N个媒体分片中的第二个媒体分片起的所有媒体分片个数小于N,则使用当前缓存中前一次生成媒体描述文件所使用的N个媒体分片中的第二个媒体分片算起所有的媒体分片携带的用于生成媒体描述文件的描述信息生成媒体描述文件。
假设缓存中最多缓存10个媒体分片,确定每次向媒体播放器1发送5个媒体分片,假设当前缓存中缓存了10个媒体分片,若不是首次向媒体播放器发送媒体分片,且前一次生成媒体描述文件的5个媒体分片为缓存中的第一到第五个媒体分片,则使用缓存(缓存中的第一个媒体分片为前一次生成媒体描述文件的第一个媒体分片)中第二个到第六个媒体分片携带的描述信息生成媒体描述文件;
若当前缓存中仅有5个媒体分片,则使用第二到第五个媒体分片携带的描述信息生成媒体描述文件。
作为边缘节点的CDN服务器根据接收到的媒体播放请求中携带的操作系统平台类型确定每次发送媒体分片的个数N。这里,操作系统平台类型指的是媒体播放器所在终端设备所基于的操作系统平台的类型,包括:封闭式操作系统平台(如IOS)、开放式操作系统平台(如安卓)等。
本申请具体实现时,生成的媒体描述文件的格式同现有实现,参见图4,图4为媒体描述文件的格式示意图。
图4中以M3U8文件为例。EXTM3U为M3U8文件头;EXT-X-MEDIA-SEQUENCE为第一个媒体分片的序列号;EXT-X-TARGETDURATION为每个分片TS的最大的时长;EXT-X-ALLOW-CACHE标识是否允许cache;EXT-X-ENDLIST为M3U8文件结束符;EXTINF为extrainfo,分片TS的信息,如时长,带宽等
在具体实现时,媒体描述文件具体包括哪些信息,本申请实施例中不做限制,根据实际需要按现有实现生成即可。本申请实施例中仅是将在媒体分片服务器上生成媒体描述文件的工作移到CDN服务器上,不需要在CDN分发系统中分发媒体描述文件,减轻了CDN分发负载分担;并且根据媒体播放器的平台类型生成对应的媒体描述文件,能够由各边缘节点灵活生成媒体描述文件,更方便各媒体播放器播放媒体分片。
步骤303,该CDN服务器当接收到来自媒体播放器的请求媒体分片的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,将确定的媒体分片中携带的描述信息删除,并发送给所述媒体播放器进行播放。
本步骤中接收到的请求媒体分片的播放请求,以及查找对应的媒体分片同现有实现,本申请实施例中仅是将在媒体分片中额外携带的生成对应的媒体描述文件的描述信息删除之后,再将对应的媒体分片发送给媒体播放器。
CDN服务器作为CDN分发系统中的非边缘节点,接收到媒体分片服务器发送的媒体分片时,向转发媒体播放请求的边缘节点分发所述媒体分片。
基于同样的发明构思,本申请实施例中还提出一种流媒体传输装置,应用于流媒体传输系统中的CDN服务器上。参见图5,图5为本申请实施例中应用于CDN服务器上的流媒体传输装置的结构示意图。该装置包括:接收单元501、缓存单元504、处理单元503和发送单元504;
接收单元501,本单元所在CDN服务器作为CDN分发系统中的边缘节点时,接收到其它CDN服务器或媒体分片服务器发送的媒体分片;所述媒体分片携带用于生成所述媒体分片对应的媒体描述文件的描述信息;接收来自媒体播放器的请求媒体描述文件的播放请求;接收来自媒体播放器的请求媒体分片的播放请求;
缓存单元502,用于当接收单元501接收到媒体分片时,进行缓存;
处理单元503,用于当接收单元501接收到来自媒体播放器的请求媒体描述文件的播放请求时,确定缓存单元502中所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件;当接收单元501接收到来自媒体播放器的请求媒体分片的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,将确定的媒体分片中携带的描述信息删除;
发送单元504,用于将处理单元503生成的媒体描述文件发送给所述媒体播放器;将所述处理单元删除描述信息的媒体分片发送给所述媒体播放器进行播放。
较佳地,
处理单元503,具体用于当确定首次接收到媒体播放器发送的请求媒体描述文件的播放请求时,使用缓存中最新缓存的N个媒体分片携带的描述信息生成媒体描述文件;其中,N为生成媒体描述文件的媒体分片的个数,N为大于0的整数;当确定不是首次接收到媒体播放器发送的请求媒体描述文件的播放请求时,确定从前一次生成媒体描述文件所使用的N个媒体分片中的第二个媒体分片算起依次缓存的N个媒体分片,并使用所确定的N个媒体分片携带的描述信息生成媒体描述文件。
较佳地,
处理单元503,用于根据接收到的请求媒体描述文件的播放请求中携带的操作系统平台类型而确定所述生成媒体描述文件的媒体分片的个数。
较佳地,
接收单元501,用于本单元所在CDN服务器作为CDN分发系统中的非边缘节点时,接收媒体分片服务器发送的媒体分片;
发送单元504,进一步用于将接收单元501接收到媒体分片服务器发送的媒体分片时,向转发媒体播放请求的边缘节点分发所述媒体分片。
基于同样的发明构思,本申请具体实施例中还提出一种流媒体传输装置,应用流媒体传输系统中的媒体分片服务器上。参见图6,图6为本申请实施例中应用于媒体分片服务器的流媒体传输装置结构示意图。该装置包括:处理单元601和发送单元602;
处理单元601,用于将编码服务器编码后输出的媒体流分割为多个媒体分片,针对任一媒体分片,将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片中;
发送单元602,用于将处理单元601分割的多媒体分片通过CDN分发系统进行分发,使作为边缘节点的CDN服务器根据媒体分片中携带的描述信息生成媒体描述文件。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
本申请各实施例中的各单元可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
以上对本申请具体实施例中的应用于媒体分片服务器和CDN服务器的流媒体传输装置进行了说明,下面分别给出本申请具体实施例中媒体分片服务器和CDN服务器的硬件架构组成。
CDN服务器是可以软硬件结合的可编程设备,具体参见图7,图7是本申请具体实施例中CDN服务器的硬件架构组成示意图。该CDN服务器可包括:处理器710,存储器720,端口730以及总线740。处理器710和存储器720通过总线740互联。处理器710可通过端口730获取和输出数据;其中,
接收单元501被处理器710执行时,可以为接收作为非边缘节点的CDN服务器分发的媒体分片;接收来自媒体播放器的请求媒体描述文件的播放请求;接收来自媒体播放器的请求媒体分片的播放请求;
缓存单元502被处理器710执行时,可以为缓存接收单元501接收到的媒体分片
处理单元503被处理器710执行时,可以为当接收单元501接收到来自媒体播放器的请求媒体描述文件的播放请求时,确定缓存单元502中所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件;当接收单元501接收到来自媒体播放器的请求媒体分片的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,将确定的媒体分片中携带的描述信息删除;
发送单元504被处理器710执行时,可以为将处理单元503生成的媒体描述文件发送给所述媒体播放器;将所述处理单元删除描述信息的媒体分片发送给所述媒体播放器进行播放。
由此可以看出,当存储在存储器720中的指令模块被处理器710执行时,可实现前述技术方案中接收单元、缓存单元、处理单元和发送单元的各种功能。
另外,本发明的实施例中可以通过由CDN服务器如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和/或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此,本发明还公开了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述技术方案。
需要说明的是,图7所示的CDN服务器只是一个具体的例子,也可以通过其他的与本实施例描述不同结构实现,例如,执行上述指令代码时所完成的操作,也可以由特定应用专用集成电路(ASIC)实现。另外,上述的处理器610可以是一个或多个,如果是多个,则由多个处理器共同负责读取和执行所述指令代码。因此,本申请对CDN服务器的具体结构不作具体限定。
媒体分片服务器是可以软硬件结合的可编程设备,具体参见图8,图8是本申请具体实施例中媒体分片服务器的硬件架构组成示意图。该媒体分片服务器可包括:处理器810,存储器820,端口830以及总线840。处理器810和存储器820通过总线840互联。处理器810可通过端口830获取和输出数据;其中,
处理单元601在被处理器810执行时,可以为将编码服务器编码后输出的媒体流分割为多个媒体分片,针对任一媒体分片,将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片中;
发送单元602在被处理器810执行时,可以为将处理单元601分割的多媒体分片通过CDN分发系统进行分发,使作为边缘节点的CDN服务器根据媒体分片中携带的描述信息生成媒体描述文件。
由此可以看出,当存储在存储器820中的指令模块被处理器810执行时,可实现前述技术方案中处理单元和发送单元的各种功能。
另外,本发明的实施例中可以通过由媒体分片服务器如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和/或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此,本发明还公开了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述技术方案。
需要说明的是,图8所示的媒体分片服务器只是一个具体的例子,也可以通过其他的与本实施例描述不同结构实现,例如,执行上述指令代码时所完成的操作,也可以由特定应用专用集成电路(ASIC)实现。另外,上述的处理器810可以是一个或多个,如果是多个,则由多个处理器共同负责读取和执行所述指令代码。因此,本申请对CDN服务器的具体结构不作具体限定。
另外,基于同样的发明构思,本申请还提出一种流媒体传输系统。参见图9,图9为本申请实施例中流媒体传输系统示意图。该系统包:媒体分片服务器901、器和内容分发网络CDN分发系统,该CDN分发系统包括树形结构中的至少一个CDN服务器902;
媒体分片服务器901,将编码服务器编码后输出的媒体流分割为多个媒体分片,针对任一媒体分片,将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片中,并发送携带所述描述信息的媒体分片给所述CDN分发系统中作为根节点的CDN服务器;
对于所述CDN系统中的任一CDN服务器901,如果CDN服务器901作为边缘节点,则当接收到所述媒体分片服务器或其他CDN服务器发送的媒体文件时,进行缓存;当接收到来自媒体播放器的请求媒体描述文件的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件,并发送所生成的媒体描述文件给所述媒体播放器;当接收到来自媒体播放器的请求媒体分片的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,将确定的媒体分片中携带的描述信息删除,并发送给所述媒体播放器进行播放。
较佳地,
对于所述CDN系统中的任一CDN服务器901,如果CDN服务器901作为边缘节点,当接收到所述媒体分片服务器或其他媒体分片服务器发送的媒体文件时,分发给作为边缘节点的CDN服务器。
综上所述,本申请通过将用于生成对应媒体描述文件的描述信息携带在媒体分片中在分发系统中传输,由于在CDN分发系统中仅分发媒体分片,能够减轻CDN负载分担;并且在作为边缘节点的CDN服务器上根据媒体播放器发送的请求媒体描述文件的播放请求动态生成媒体描述文件并发送给媒体播放器,能够生成适应媒体播放器使用的媒体描述文件。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (16)

1.一种流媒体传输方法,其特征在于,当内容分发网络CDN服务器作为CDN分发系统中的边缘节点时,该方法包括:
当接收到其它CDN服务器或媒体分片服务器发送的媒体分片时,缓存该媒体分片;所述媒体分片携带用于生成所述媒体分片对应的媒体描述文件的描述信息;
当接收到来自媒体播放器的请求媒体描述文件的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件,并发送所生成的媒体描述文件给所述媒体播放器;
当接收到来自媒体播放器的请求媒体分片的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,将确定的媒体分片中携带的描述信息删除,并发送给所述媒体播放器进行播放。
2.根据权利要求1所述的方法,其特征在于,所述确定所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件,包括:
当确定首次接收到媒体播放器发送的请求媒体描述文件的播放请求时,使用缓存中最新缓存的N个媒体分片携带的描述信息生成媒体描述文件;其中,N为生成媒体描述文件的媒体分片的个数,N为大于0的整数;
当确定不是首次接收到媒体播放器发送的请求媒体描述文件的播放请求时,确定从前一次生成媒体描述文件所使用的N个媒体分片中的第二个媒体分片算起依次缓存的N个媒体分片,并使用所确定的N个媒体分片携带的描述信息生成媒体描述文件。
3.根据权利要求2所述的方法,其特征在于,所述生成媒体描述文件的媒体分片的个数是根据接收到的请求媒体描述文件的播放请求中携带的操作系统平台类型而确定。
4.根据权利要求1所述的方法,其特征在于,当所述CDN服务器作为CDN分发系统中的非边缘节点时,所述方法进一步包括:
当接收到媒体分片服务器或其它CDN服务器发送的媒体分片时,向作为边缘节点的CDN服务器分发所述媒体分片。
5.根据权利要求1所述的方法,其特征在于,
所述生成描述所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片的文件头中。
6.根据权利要求1-5中任意一项所述方法,其特征在于,
所述生成媒体描述文件的描述信息包括,媒体分片时长、大小、类型和世界协调时间UTC时间;
当媒体播放器位于端对端P2P网络中的用户终端,所述描述信息还包括:用于P2P通信的描述信息。
7.一种流媒体传输方法,其特征在于,该方法包括:
媒体分片服务器将编码服务器编码后输出的媒体流分割为多个媒体分片,针对任一媒体分片,将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片中,通过内容分发网络CDN分发系统进行分发,使作为边缘节点的CDN服务器根据媒体分片中携带的描述信息生成媒体描述文件。
8.根据权利要求7所述的方法,其特征在于,所述将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片中,包括:
将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片的文件头中。
9.根据权利要求7或8所述方法,其特征在于,
所述描述信息包括,媒体分片时长、大小、类型和世界协调时间UTC时间;
当媒体播放器为端对端P2P网络中的用户终端,所述描述信息还包括:用于P2P通信的描述信息。
10.一种流媒体传输装置,应用于流媒体传输系统中的内容分发网络CDN服务器上,其特征在于,该装置包括:接收单元、缓存单元、处理单元和发送单元;
所述接收单元,本单元所在CDN服务器作为CDN分发系统中的边缘节点时,接收其它CDN服务器或媒体播放器发送的媒体分片;所述媒体分片携带用于生成所述媒体分片对应的媒体描述文件的描述信息;接收来自媒体播放器的请求媒体描述文件的播放请求;接收来自媒体播放器的请求媒体分片的播放请求;
所述缓存单元,用于当所述接收单元接收到媒体分片时,进行缓存;
所述处理单元,用于当所述接收单元接收到来自媒体播放器的请求媒体描述文件的播放请求时,确定所述缓存单元中所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件;当所述接收单元接收到来自媒体播放器的请求媒体分片的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,将确定的媒体分片中携带的描述信息删除;
所述发送单元,用于将所述处理单元生成的媒体描述文件发送给所述媒体播放器;将所述处理单元删除描述信息的媒体分片发送给所述媒体播放器进行播放。
11.根据权利要求10所述的装置,其特征在于,
所述处理单元,具体用于当确定首次接收到媒体播放器发送的请求媒体描述文件的播放请求时,使用缓存中最新缓存的N个媒体分片携带的描述信息生成媒体描述文件;其中,N为生成媒体描述文件的媒体分片的个数,N为大于0的整数;当确定不是首次接收到媒体播放器发送的请求媒体描述文件的播放请求时,确定从前一次生成媒体描述文件所使用的N个媒体分片中的第二个媒体分片算起依次缓存的N个媒体分片,并使用所确定的N个媒体分片携带的描述信息生成媒体描述文件。
12.根据权利要求11所述的装置,其特征在于,
所述处理单元,用于根据接收到的请求媒体描述文件的播放请求中携带的操作系统平台类型而确定所述生成媒体描述文件的媒体分片的个数。
13.根据权利要求12所述的装置,其特征在于,
所述接收单元,用于本单元所在CDN服务器作为CDN分发系统中的非边缘节点时,接收媒体分片服务器或其它CDN服务器发送的媒体分片;
所述发送单元,进一步用于将所述接收单元接收到媒体分片服务器发送的媒体分片时,向作为边缘节点的CDN服务器分发所述媒体分片。
14.一种流媒体传输装置,应用于流媒体传输系统中的媒体分片服务器上,其特征在于,该装置包括:处理单元和发送单元;
所述处理单元,用于将编码服务器编码后输出的媒体流分割为多个媒体分片,针对任一媒体分片,将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片中;
所述发送单元,用于将所述处理单元分割的多媒体分片通过内容分发网络CDN分发系统进行分发,使作为边缘节点的CDN服务器根据媒体分片中携带的描述信息生成媒体描述文件。
15.一种流媒体传输系统,其特征在于,该系统包:媒体分片服务器和内容分发网络CDN分发系统,该CDN分发系统包括树形结构中的至少一个CDN服务器;
所述媒体分片服务器,将编码服务器编码后输出的媒体流分割为多个媒体分片,针对任一媒体分片,将用于生成所述媒体分片对应的媒体描述文件的描述信息携带在所述媒体分片中,并发送携带所述描述信息的媒体分片给所述CDN分发系统中作为根节点的CDN服务器;
对于所述CDN系统中的任一CDN服务器,如果该CDN服务器作为边缘节点,则当接收到所述媒体分片服务器或其他CDN服务器发送的媒体文件时,进行缓存;当接收到来自媒体播放器的请求媒体描述文件的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,根据所确定的媒体分片中携带的描述信息生成媒体描述文件,并发送所生成的媒体描述文件给所述媒体播放器;当接收到来自媒体播放器的请求媒体分片的播放请求时,确定所缓存的媒体分片中该播放请求对应的媒体分片,将确定的媒体分片中携带的描述信息删除,并发送给所述媒体播放器进行播放。
16.根据权利要求15所述的系统,其特征在于,对于所述CDN系统中的任一CDN服务器,如果该CDN服务器作为边缘节点,当接收到所述媒体分片服务器或其他媒体分片服务器发送的媒体文件时,分发给作为边缘节点的CDN服务器。
CN201510289223.9A 2015-05-29 2015-05-29 一种流媒体传输方法、装置和系统 Active CN105049873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510289223.9A CN105049873B (zh) 2015-05-29 2015-05-29 一种流媒体传输方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510289223.9A CN105049873B (zh) 2015-05-29 2015-05-29 一种流媒体传输方法、装置和系统

Publications (2)

Publication Number Publication Date
CN105049873A true CN105049873A (zh) 2015-11-11
CN105049873B CN105049873B (zh) 2018-06-15

Family

ID=54456000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510289223.9A Active CN105049873B (zh) 2015-05-29 2015-05-29 一种流媒体传输方法、装置和系统

Country Status (1)

Country Link
CN (1) CN105049873B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105578263A (zh) * 2015-12-28 2016-05-11 山东泰信电子股份有限公司 播放、传输直播节目的方法及智能播放设备、直播设备
WO2016165596A1 (zh) * 2015-04-15 2016-10-20 中兴通讯股份有限公司 一种多媒体文件控制方法和系统
CN108024157A (zh) * 2016-10-28 2018-05-11 中国电信股份有限公司 实现与hls直播无缝时移的方法和系统、机顶盒及边缘节点
CN108063769A (zh) * 2017-12-26 2018-05-22 中兴通讯股份有限公司 一种内容服务的实现方法、装置及内容分发网络节点
CN111064969A (zh) * 2018-10-16 2020-04-24 中兴通讯股份有限公司 一种流媒体数据传输方法、设备、装置和计算机存储介质
CN111182331A (zh) * 2019-10-26 2020-05-19 腾讯科技(深圳)有限公司 媒体数据切片方法、系统及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231749A (zh) * 2011-08-12 2011-11-02 乐视网信息技术(北京)股份有限公司 一种利用cdn网络传输直播流的系统和方法
CN102281474A (zh) * 2011-09-02 2011-12-14 乐视网信息技术(北京)股份有限公司 一种网络直播及录制方法
CN103763637A (zh) * 2014-01-21 2014-04-30 北京云视睿博传媒科技有限公司 一种流媒体播出方法及其系统
CN103986976A (zh) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 基于cdn网络的传输系统及方法
CN103986942A (zh) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 基于cdn网络的数据分发系统及方法
US20140258449A1 (en) * 2013-03-11 2014-09-11 Comcast Cable Communications, Llc Segmented content delivery
US20140351318A1 (en) * 2013-05-24 2014-11-27 Cisco Technology, Inc. On-demand encapsulating of timed metadata in a network environment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231749A (zh) * 2011-08-12 2011-11-02 乐视网信息技术(北京)股份有限公司 一种利用cdn网络传输直播流的系统和方法
CN102281474A (zh) * 2011-09-02 2011-12-14 乐视网信息技术(北京)股份有限公司 一种网络直播及录制方法
US20140258449A1 (en) * 2013-03-11 2014-09-11 Comcast Cable Communications, Llc Segmented content delivery
US20140351318A1 (en) * 2013-05-24 2014-11-27 Cisco Technology, Inc. On-demand encapsulating of timed metadata in a network environment
CN103763637A (zh) * 2014-01-21 2014-04-30 北京云视睿博传媒科技有限公司 一种流媒体播出方法及其系统
CN103986976A (zh) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 基于cdn网络的传输系统及方法
CN103986942A (zh) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 基于cdn网络的数据分发系统及方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016165596A1 (zh) * 2015-04-15 2016-10-20 中兴通讯股份有限公司 一种多媒体文件控制方法和系统
CN105578263A (zh) * 2015-12-28 2016-05-11 山东泰信电子股份有限公司 播放、传输直播节目的方法及智能播放设备、直播设备
CN108024157A (zh) * 2016-10-28 2018-05-11 中国电信股份有限公司 实现与hls直播无缝时移的方法和系统、机顶盒及边缘节点
CN108063769A (zh) * 2017-12-26 2018-05-22 中兴通讯股份有限公司 一种内容服务的实现方法、装置及内容分发网络节点
CN108063769B (zh) * 2017-12-26 2020-10-02 南京中兴新软件有限责任公司 一种内容服务的实现方法、装置及内容分发网络节点
CN111064969A (zh) * 2018-10-16 2020-04-24 中兴通讯股份有限公司 一种流媒体数据传输方法、设备、装置和计算机存储介质
CN111064969B (zh) * 2018-10-16 2023-07-11 中兴通讯股份有限公司 一种流媒体数据传输方法、设备、装置和计算机存储介质
CN111182331A (zh) * 2019-10-26 2020-05-19 腾讯科技(深圳)有限公司 媒体数据切片方法、系统及存储介质
CN111182331B (zh) * 2019-10-26 2021-09-28 腾讯科技(深圳)有限公司 媒体数据切片方法、系统及存储介质

Also Published As

Publication number Publication date
CN105049873B (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
ES2716274T3 (es) Transmisión en red de datos de vídeo usando peticiones de rangos de bytes
EP3105903B1 (en) Requesting multiple chunks from a network node on the basis of a single request message
CN105049873A (zh) 一种流媒体传输方法、装置和系统
US10659502B2 (en) Multicast streaming
US20170127147A1 (en) Multicast streaming
CN105282627A (zh) 一种获取直播视频切片的方法及服务器
US11277456B2 (en) System and method for delivering an audio-visual con tent to a client device
US10499094B2 (en) Transmission apparatus, transmitting method, reception apparatus, and receiving method
WO2015109847A1 (zh) 一种分段节目快速分发的方法、服务器及客户端
KR102137858B1 (ko) 송신 장치, 송신 방법, 수신 장치, 수신 방법 및 프로그램
Lim MMT, new alternative to MPEG-2 TS and RTP
KR20160138044A (ko) 미디어 데이터를 스트리밍하기 위한 목표된 광고 삽입
CN111064969A (zh) 一种流媒体数据传输方法、设备、装置和计算机存储介质
CN103561013A (zh) 流媒体的数据分发系统
KR102373195B1 (ko) 수신 장치, 송신 장치, 데이터 통신 방법, 및 데이터 처리 방법
US11876851B2 (en) Synchronizing independent media and data streams using media stream synchronization points
CN109587517A (zh) 一种多媒体文件的播放方法及装置、服务器及存储介质
US20170155968A1 (en) Content supply apparatus, content supply method, program terminal apparatus, and content supply system
CN105744309A (zh) 一种直播视频的生成及播放方法、装置、终端及系统
CN112671690B (zh) 流媒体通信方法、装置、系统和存储介质
US20230008021A1 (en) Synchronizing independent media and data streams using media stream synchronization points
WO2015064384A1 (ja) 送信装置、送信方法、受信装置、及び、受信方法
WO2017060897A1 (en) Multi-request aggregation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant