CN105049873B - 一种流媒体传输方法、装置和*** - Google Patents

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

Info

Publication number
CN105049873B
CN105049873B CN201510289223.9A CN201510289223A CN105049873B CN 105049873 B CN105049873 B CN 105049873B CN 201510289223 A CN201510289223 A CN 201510289223A CN 105049873 B CN105049873 B CN 105049873B
Authority
CN
China
Prior art keywords
media
slicing
cdn
media slicing
server
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.)
Active
Application number
CN201510289223.9A
Other languages
English (en)
Other versions
CN105049873A (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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

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

Description

一种流媒体传输方法、装置和***
技术领域
本发明涉及通信技术领域,特别涉及一种流媒体传输方法、装置和***。
背景技术
基于超文本传输协议的流媒体传输(HTTP Live Streaming,HLS)可实现流媒体的直播和点播,主要应用在互联网操作***(Internetwork Operating System,IOS)***和安卓***,如iPhone、iPad、安卓设备等提供媒体直播和点播。
HLS点播,基本上就是常见的分段HTTP点播,不同在于,它的分段非常小。要实现HLS点播,重点在于对媒体分片分段,目前有不少开源工具可以使用,这里就不再讨论,只谈HLS直播技术。
相对于常见的流媒体直播协议,例如RTMP协议、RTSP协议、MMS协议等,HLS直播最大的不同在于,直播客户端获取到的,并不是一个完整的数据流。HLS协议在服务器端将直播数据流存储为连续的、很短时长的媒体分片,而客户端则不断的下载并播放这些小文件,因为服务器端总是会将最新的直播数据生成新的小文件,这样客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。
由此可见,HLS是以点播的技术方式来实现直播。由于数据通过HTTP协议传输,所以完全不用考虑防火墙或者代理的问题,而且分段文件的时长很短,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放。
现有实现HLS直播过程中,在编码器编码后进行切片时,同时生成媒体分片和媒体描述文件,这里,媒体分片可以视传输流(TS)分片,媒体描述文件可以是M3U8文件,在内容分发网络(Content Delivery Network,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为extra info,分片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 CN105049873A (zh) 2015-11-11
CN105049873B true 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)

Families Citing this family (6)

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

Citations (5)

* 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网络的数据分发***及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140258449A1 (en) * 2013-03-11 2014-09-11 Comcast Cable Communications, Llc Segmented content delivery
US9722852B2 (en) * 2013-05-24 2017-08-01 Cisco Technology, Inc. On-demand encapsulating of timed metadata in a network environment

Patent Citations (5)

* 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网络的数据分发***及方法

Also Published As

Publication number Publication date
CN105049873A (zh) 2015-11-11

Similar Documents

Publication Publication Date Title
CN105049873B (zh) 一种流媒体传输方法、装置和***
JP6316781B2 (ja) バイト範囲リクエストを使用したビデオデータのネットワークストリーミング
JP6612249B2 (ja) メディアデータをストリーミングするためのターゲット広告挿入
CN104683884B (zh) 一种流媒体直播方法及***
CN103297452B (zh) 一种在互联网发布和直播流媒体的方法及***
JP6698553B2 (ja) 1つの要求メッセージに基づいたネットワーク・ノードへの多数のチャンクの要求
US10148716B1 (en) Dynamic generation of video manifest files
US9860335B2 (en) Method, device and system for delivering live content
CN102598691B (zh) 利用数据分段的可选广播传送的流传输
US20120166289A1 (en) Real-time media stream insertion method and apparatus
CN105282627A (zh) 一种获取直播视频切片的方法及服务器
AU2012362500A1 (en) Dynamically-executed syndication services
CN105612753A (zh) 媒体流传输期间在适配集合间的切换
KR20150079557A (ko) 클라이언트 장치에 시청각 컨텐츠를 전달하는 시스템 및 방법
CN109587514A (zh) 一种视频播放方法、介质和相关装置
CN108668145A (zh) 一种内容分发方法及装置
US20150095483A1 (en) Communications terminal, transfer terminal, and content publication method
CN109151491A (zh) 数据分发***、方法及计算机可读存储介质
CN110445723A (zh) 一种网络数据调度方法及边缘节点
JP2015023323A (ja) チャンクダウンロード完了判定装置、チャンクダウンロード完了判定方法、及びプログラム
KR20160138044A (ko) 미디어 데이터를 스트리밍하기 위한 목표된 광고 삽입
CN111064969B (zh) 一种流媒体数据传输方法、设备、装置和计算机存储介质
CN110519656A (zh) 自适应流媒体的播放方法、***以及服务器
CN107645475A (zh) 异质网络中的文件资源分发***与方法
US20170155968A1 (en) Content supply apparatus, content supply method, program terminal apparatus, and content supply system

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