CN104221391B - 同位体辅助的视频分发 - Google Patents

同位体辅助的视频分发 Download PDF

Info

Publication number
CN104221391B
CN104221391B CN201380015659.8A CN201380015659A CN104221391B CN 104221391 B CN104221391 B CN 104221391B CN 201380015659 A CN201380015659 A CN 201380015659A CN 104221391 B CN104221391 B CN 104221391B
Authority
CN
China
Prior art keywords
video
media stream
fragment
video file
stream fragment
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.)
Expired - Fee Related
Application number
CN201380015659.8A
Other languages
English (en)
Other versions
CN104221391A (zh
Inventor
F.皮科尼
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.)
Thomson Licensing SAS
InterDigital Madison Patent Holdings SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN104221391A publication Critical patent/CN104221391A/zh
Application granted granted Critical
Publication of CN104221391B publication Critical patent/CN104221391B/zh
Expired - Fee Related 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/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
    • 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/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

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

Abstract

公开了一种关于在网络上的视频内容的同位体辅助分发的方案。将所述视频文件分割(11)为时间片段,并且产生(12)分割元数据。将片段转换(13)为具有计数器/时间戳一致性的媒体流片段。将视频文件和分割元数据插入(14)到同位体视频交付系统中。然后,将分割元数据用于起动对在客户端产生(23)视频文件的片段所需的视频文件的偏移的下载(22)。

Description

同位体辅助的视频分发
技术领域
本发明涉及一种关于在宽带网络上的视频内容的同位体辅助(peer-assisted)分发的方案,并且更具体地,涉及一种关于视频内容的同位体辅助分发的方案,其允许直至回放为止的小缓冲时间以及快速的快进(fast-forward)或者回退(rewind)操作。
背景技术
视频占据了如今在互联网上消耗的内容的大部分。持续提供视频服务的多个网站向众多不同的设备(例如,PC、TV、智能电话以及平板)交付视频剪辑或者电影。随着光纤入户(fiber-to-the-home)和其他高速带宽技术变得日益普遍,预期视频内容的消耗也会增加。
为了支持视频交付的大量带宽需求,服务提供者利用内容交付网络(CDN),即用户从中下载内容的一组在地理上分布的服务器。为了进一步提高内容分发的效率,提出了同位体辅助架构,其中,用户从CDN以及机顶盒或其他用户的家庭网关下载内容。在这种情况下,机顶盒或网关在它们的本地硬盘或闪速存储器上存储若干视频剪辑,并且使用用户家庭连接的可用上载带宽来上载这样的剪辑的片断给其他用户。
例如,在Wang等人的“Is playing-as-downloading feasible in an eMule P2Pfile sharing system?”(J.Zhejiang Univ.-Sci.C(Comput.&Electron.),2010年第11卷,第465-475页)讨论了一种关于带有媒体流传输支持的具有即下即播(playing-as-downloading)能力的对等(P2P)群(swarm)技术的方案。引入了一种名为愿望驱动组块分发(WDCD,wish driven chunk distribution)的算法,该算法使P2P文件共享系统能够支持视频点播(VOD)功能,同时保持P2P本来的下载速度。名为next-play-frequency的新参数被添加到内容组块以在下载和流传输请求之间达成复制平衡。
本发明关注同位体辅助视频分发系统,并且具体地关注视频片段的即时(on-the-fly)产生以支持诸如HTTP实时流传输(HLS)这样的协议的问题。HLS标准描述了一种支持诸如从多源下载和自适应流速率这样的良好特性的视频交付协议(参见:http://tools.ietf.org/html/draft-pantos-http-live-streaming-07)。然而,HLS的一个约束是其需要使用MPEG传输流(MPEG-TS)的容器。因此,如果视频最初以诸如MP4或者Matroska(MKV)这样的另外的格式存储,则在可以通过HLS协议将其交付之前必须将其转换为MPEG-TS。另外,必须将MPEG-TS流划分成组块或者媒体片段,使得在HLS播放器将片段拼接到一起时,MPEG-TS连续性计数器和时间戳是一致的。该步骤被称为分割。在下面的文本中,将无差别地使用术语“片段”和“组块”。
当前存在若干工具来执行转换和分割以便产生符合HLS的分割。然而,它们全部取得整个源文件作为输入。考虑下面的内容来看一下为什么这对于同位体辅助系统是个问题。为了支持宽泛范围的用户设备(PC、智能电话等),系统能够将指定视频通过HTTP交付为单个MP4文件,或者通过HLS交付为MPEG-TS片段。然而,为了节省存储空间,该系统将每个视频只存储成一个MP4文件。每当用户通过HLS请求视频时,本地对等网络客户端就下载该MP4内容,将其转换为MPEG-TS,并且将结果分割成HLS组块。然而,因为现存的HLS分割器工具只能对整体文件工作,所以对等网络客户端必须在可以创建HLS组块并且可以开始回放之前完成下载整个MP4视频。这显然是不可接受的。
本发明的目标是提出一种关于在网络上的视频内容的同位体辅助分发的改善方案。
发明内容
根据本发明,用于经由同位体辅助视频交付系统分发包含帧的视频文件的方法包含以下步骤:
-将所述视频文件分割为时间片段,使得所述视频文件的任何帧都存在于一个且仅仅一个时间片段中,其中,每个时间片段都是自包含的物理对象;
-产生至少包含所述时间片段相对于所述视频文件的偏移、连续性计数器值以及片段开始时间的分割元数据;
-使用连续性计数器和/或时间戳,根据媒体流格式将时间片段转换为媒体流片段,使得所述媒体流片段内的连续性计数器适当地递增并且/或者所述媒体流片段内的时间戳是有效并且同步的;以及
-将所述视频文件和所述分割元数据插入到所述同位体辅助视频交付系统中。
相应地,用于经由同位体辅助视频交付系统分发包含帧的视频文件的装置包含:
-分割器,用于将所述视频文件分割为时间片段,使得所述视频文件的任何帧都存在于一个且仅仅一个时间片段中,其中,每个时间片段都是自包含的物理对象,并且用于产生至少包含所述时间片段相对于所述视频文件的偏移、连续性计数器值以及片段开始时间的分割元数据;
-转换器,用于使用连续性计数器和/或时间戳,根据媒体流格式将时间片段转换为媒体流片段,使得所述媒体流片段内的连续性计数器适当地递增并且/或者所述媒体流片段内的时间戳是有效并且同步的;以及
-插入器,用于将所述视频文件和所述分割元数据插入到所述同位体辅助视频交付系统中。
根据本发明的一个方面,首先将所述视频文件(例如,MP4文件或者MKV文件)分割成片段。优选地,这些片段是固定持续时间的片段。在分割期间产生分割元数据。将得到的片段转换为具有计数器/时间戳一致性的媒体流片段(例如,MPEG-TS片段)。可选地,对所述媒体流片段执行完整性(sanity)检查。随后,将所述视频文件和所述分割元数据插入到所述同位体辅助视频交付系统中。
用于从同位体辅助视频交付系统接受视频文件的方法包含以下步骤:
-下载至少包含所述视频文件的时间片段相对于所述视频文件的偏移、连续性计数器值以及片段开始时间的分割元数据;
-分析所述分割元数据以确定要下载的视频偏移并且启动对所确定的视频的偏移的下载;
-从所下载的视频偏移产生视频片段;以及
-使用连续性计数器和/或时间戳,根据媒体流格式将视频片段转换为媒体流片段,使得所述媒体流片段内的连续性计数器适当地递增并且/或者所述媒体流片段内的时间戳是有效并且同步的。
相应地,用于从同位体辅助视频交付系统接受视频文件的装置包含:
-网络连接器,用于下载至少包含所述视频文件的时间片段相对于所述视频文件的偏移、连续性计数器值以及片段开始时间的分割元数据;
-分析器,用于分析所述分割元数据以确定要下载的视频偏移并且启动对所确定的视频的偏移的下载;
-片段产生器,用于从所下载的视频偏移产生视频片段;以及
-转换器,用于使用连续性计数器和/或时间戳,根据媒体流格式将视频片段转换为媒体流片段,使得所述媒体流片段内的连续性计数器适当地递增并且/或者所述媒体流片段内的时间戳是有效并且同步的。
为了重新产生媒体流片段,在第一步骤中,下载分割元数据文件。然后,分析分割元数据以确定需要下载哪个视频偏移,例如MP4或者MKV的偏移。随后,启动对所确定的视频偏移的下载。然后,从所下载的视频偏移产生最后被转换为具有计数器/时间戳一致性的媒体流片段(例如,MPES-TS片段)的视频片段。
根据本发明的方案允许同位体生成媒体流片段而无需下载整个源视频文件。这允许直至回放为止的小缓冲时间(亦即,回放可以在下载整个文件之前开始)以及快速快进或者回退操作。另外,因为文件被存储为仅仅一种格式,所以该方案就存储需求而言是非常高效的。另外,它符合现存的标准。
附图说明
为了更好的理解,现在将参照附图在下面的描述中更详细地解释本发明。应当理解到,本发明并不限定于该示例性的实施例,并且还可以方便地组合和/或修改指定特征而不超出在所附的权利要求书中定义的本发明的范围。附图中:
图1例示了同位体辅助视频交付系统;
图2示意性地图示了根据本发明的用于同位体辅助视频交付的方法;
图3描述了对MP4文件的分割以及分割元数据文件的产生;
图4示出了HLS片段的重新产生;
图5示意性地例示了用于准备视频文件以便插入到同位体辅助视频交付
系统中的设备;以及
图6示意性地图示了用于从同位体辅助视频交付系统接受视频文件的设备。
具体实施方式
在下面的描述中,将考虑即时的MP4到HLS的转换的情况。然而,本发明对于其他输入格式也有效,例如MKV到HLS的转换。另外,本发明的原理不特定于HLS,并且也可以应用于诸如通过HTTP的动态自适应媒体流传输(DASH)这样的类似的目标协议。
图1例示了经由网络1进行视频交付的同位体辅助系统的不同组件。假设对等客户端运行在连接到网络1的每个家庭网关2上。可以从诸如PC 3和平板4这样的不同的用户设备来观看视频。当用户开始观看视频时,在网关2上的对等客户端从其他对等客户端和/或CDN5下载视频数据的片段,重新组装该流,并且将其转发给用户设备。当然,对等客户端可以同样运行在用户设备上而不是家庭网关2上。
图2示意性地图示了根据本发明的用于对等辅助视频交付的方法。该方法基本上包含两个步骤。在第一步骤10中,分割MP4文件并且产生分割元数据文件。在第二步骤20中,重新产生HLS片段。
每当MP4文件首次被插入到系统(亦即,CDN加上对等存储)中并且变得可用于下载时就执行第一步骤10。该步骤分析该文件,并且产生将在每当对等客户端需要即时地产生HLS组块时就执行的第二步骤20的期间使用的一些元数据。
图3更详细地描述了对MP4文件的分割以及分割元数据的产生。该步骤包含若干步骤。首先,将MP4文件分割为MP4片段,优选地,分割(11)为固定持续时间的片段,并且产生(12)分割元数据。将这些片段转换(13)为具有计数器/时间戳一致性的MPEG-TS片段。然后,实施(14)MPEG-TS完整性检测,并且将分割元数据插入(15)到CDN和P2P网络中。
分割步骤11运行在存储整个MP4源文件的计算机上。该计算机启用分割器工具来产生所有的目标片段。例如,如果文件被分割为k个组块,则启用该工具k次,每次针对一个片段。在每次启用时,该工具接收片段的开始和结束时间作为参数。例如,如果片段是5秒长度的并且要产生第三片段,则以“开始时间t=10”并且“结束时间t=15”来启用该工具。
此处关键的问题是所创建的片段不准包含重叠的视频/音频帧,即,一个帧不准存在于一个以上的片段中。类似地,所有帧必须存在于至少一个片段中。这两个条件确保拼接结果片段将得到连续且无错误的回放。
如今,不存在工具支持这种类型的即装即用(out-of-the-box)分割。例如,流行工具MP4Box可以创建由“开始时间”和“结束时间”参数指定的单独的组块。然而,结果组块将包含重叠的视频/音频帧。然而,存在针对该问题的解决方案,允许使用MP4Box而不修改其源代码。MP4Box的最新开发版本支持-split-chunk S:E选项。该选项产生由开始时间S和结束时间E指定的组块。然而,该工具可以调整开始时间以使其对齐到具体的帧。例如,使用“-split-chunk5:10”来启用该工具可以得到开始于t=4.96并且结束于t=10的组块。如果前一组块结束于t=5,则一些帧可能存在于这两个组块中,在将组块拼接回到一起时会造成问题。
针对该问题的解决方案在于启用MP4Box两遍。在第一遍期间,使用下面的选项来启用MP4Box(针对5秒的持续时间):
片段1-split-chunk0:5
片段2-split-chunk5:10
片段3-split-chunk10:15
片段4-split-chunk15:20
在每次启用时,MP4Box可以输出其已将开始时间调整为特定值,例如t=14.96而不是t=15。将这些被修改的开始时间存储在临时文件中。
在第二遍期间,再次启用MP4Box以产生所有组块,但是根据后面的组块的开始时间来替代组块的结束时间。在上面的示例中,这将得到下面的选项:
片段1-split-chunk0:5
片段2-split-chunk5:10
片段3-split-chunk10:14.96
片段4-split-chunk15:20
注意,片段4的选项指定了开始时间为t=15。这是预期的,因为正如其在第一遍中做的那样,MP4Box将会把组块的开始时间调整为14.96。
在第二遍期间,系统监视MP4Box所访问的MP4源文件偏移,并且将它们存储在分割元数据文件中。最后,调整后的开始时间也被添加到分割元数据文件。
下面是使用JSON编码(Javascript对象标记法)的分割元数据文件的示例。
注意,在该示例文件中省略了MPEG-TS连续性计数器值。
本发明利用的洞察之一是如下事实:分割器工具在产生特定分段时将不会访问整个源MP4文件。例如,在产生第三片段时,该工具将访问MP4元数据所在的文件的开始或者结束,以及对应于需要提取以产生组块的视频/音频帧的偏移的范围。
因此,根据本发明,在每次启用时监视分割器工具以确定该工具读取的所有源MP4文件偏移。将这些偏移保存在分割元数据文件中,并且将在重新产生步骤20中使用。存在若干方式来监视由该工具读取的源MP4文件偏移。一种可能性是使用strace这个Unix命令来启用该工具,从而跟踪所有的文件系统调用。
在转换步骤13期间,将所有MP4片段转换到MPEG-TS容器中,并且拼接到一起成为单个MPEG-TS文件。该步骤13必须确保拼接后的MPEG-TS文件可以无错误地回放。这包括确保连续性计数器适当地递增,并且PCR和PTS/DTS时间戳是有效并且同步的。
实施该步骤的一种可能性是利用ffmpeg工具(参见http://ffmpeg.org/),其支持从MP4到MPTS-TS的转换。然而,用ffmpeg创建的片段无法通过简单的串联拼接到一起,因为连续性计数器的值、PCR(节目时钟基准)和PTS(显示时间戳)/DTS(解码时间戳)将是不正确的。解决方案是串联由ffmpeg生成的MPEG-TS片段,并且运行净化器(sanitizer)工具,修复连续性计数器、PCR以及PTS/DTS值。这可以按照如下完成。
对于连续性计数器,在每次片段变换时,连续性计数器值都被修改成与在前一片段中的最后计数器值相一致。将这些最后计数器值保存在分割元数据文件中。
对于PCR/PTS/DTS值,在每次片段变换时,PCR/PTS/DTS值都将被重置为零,因为每个片段都是使用不同的时间基准独立地产生的。然而,简单的调整就足够了。按照可以在分割元数据文件中找到的等于片段的开始时间的值来增加PCR/PTS/DTS值。
MPEG-TS的完整性检查14是可选的。其检查在转换步骤13中生成的MPEG-TS,以检查没有由于不连续性或者不正确的时间戳值而导致的回放错误。
插入步骤15包含将MP4文件插入到CDN和对等存储空间中。可以将分割元数据文件存储在P2P跟踪器中以便同位体容易地访问。还可以将MPEG-TS片段插入到CDN中以避免在CDN侧的即时转换。
图4更详细地示出了HLS片段的重新产生20。同样地,该步骤20包含若干步骤。在第一步骤21中,下载分割元数据文件。在第二步骤22中,分析分割元数据以确定需要下载哪个MP4偏移,并且启动对所确定的MP4偏移的下载。然后,产生(23)MP4片段并且将其转换(24)为具有计数器/时间戳一致性的MPEG-TS片段。
每当使用HLS将视频交付给用户设备时,就执行该重新产生步骤20。典型地,设备将连续地请求片段,亦即,片段1、片段2,等等,尽管在快进和回退操作之后可能无序地请求片段。
在第一下载步骤21期间,对等客户端得到关于该特定视频的分割元数据文件的副本。一种可能性是如果文件先前已被上载到那里,则从跟踪器下载。
对于MP4偏移下载22,对等客户端分析元数据以确定必须下载哪个MP4偏移以便产生每个片段。例如,在上面给出的示例中,关于第三片段的偏移范围是{[0,40959],[847872,1658879],[1687552,1691647],[1789952,1810431],[8441856,8444766]}。然后,客户端下载这些偏移,并且将它们写入到本地MP4文件。如同任何同位体辅助系统,这样的下载可能包括来自其他同位体和/或CDN的传送。
一旦该步骤22结束,本地MP4文件就包含了将由分割器工具读取以产生特定片段的所有偏移中的原始MP4数据。其他偏移可以包含零、垃圾或者原始MP4数据,只要关于其他片段先前已取得了那些偏移。
在片段产生步骤23期间,调用分割器工具来产生指定片段。如果利用上述解决方案,则必须使用元数据文件中的开始时间来调整MP4Box选项。
最后,在转换步骤24期间,将MP4片段转换为MPEG-TS的一个,并且对其进行净化以避免不连续性和不正确的时间戳值。该步骤类似于转换步骤13,唯一不同之处在于,使用包含在分割元数据文件中的信息来调整连续性计数器值,因为前一视频分段在本地可能不是可用的。
在图5中示意性地例示了用于经由对等辅助视频交付系统分发视频文件的设备30。设备30包含分割器31,用于将视频文件分割为片段,优选地分割为固定持续时间片断,并且产生分割元数据。转换器32将这些片段转换为具有计数器/时间戳一致性的MPEG-TS片段。提供可选的完整性检查器33用于实施MPEG-TS完整性检查。最后,插入器34将视频文件和分割元数据插入到CDN和P2P网络中。
在图6中示意性图示了用于从对等辅助视频交付系统接收视频文件的设备40。设备40包含网络连接器41,用于下载分割元数据文件。分析器42分析元数据以确定必须下载哪个视频偏移并且启动对所确定的视频偏移的下载。片段产生器43产生然后由转换器44转换为具有计数器/时间戳一致性的MPEG-TS片段的视频片段。

Claims (14)

1.一种用于准备用于同位体辅助视频交付系统的视频文件的方法,该方法包含:
将所述视频文件分割(11)为时间片段,使得所述视频文件的任何帧都存在于一个且仅仅一个时间片段中;
产生(12)包含关于相对于所述视频文件的开始并且对应于要从所述视频文件中提取以产生所述时间片段的视频帧的视频偏移的信息、用于检测数据丢失的连续性计数器值以及片段开始时间的分割元数据;
根据媒体流格式将时间片段转换(13)为媒体流片段,该格式使用连续性计数器和/或时间戳,使得每个媒体流片段内的以及在连续的媒体流片段之间的连续性计数器适当地递增并且/或者每个媒体流片段内的以及在连续的媒体流片段之间的时间戳是有效并且同步的;以及
将所述视频文件和所产生的分割元数据存储(15)在所述同位体辅助视频交付系统中。
2.根据权利要求1所述的方法,其中,将所述视频文件分割(11)成固定持续时间的时间片段。
3.根据权利要求1所述的方法,其中,所述视频文件是MP4文件或者MKV文件。
4.根据权利要求1所述的方法,其中,所述媒体流片段是MPEG传输流片段。
5.一种用于从同位体辅助视频交付系统接收视频文件的至少一部分的方法,该方法通过同位体辅助视频交付系统中的对等客户端实现,并且该方法包含:
下载(21)用于所述视频文件的分割元数据,所述分割元数据包含关于相对于所述视频文件的开始并且对应于要从所述视频文件中提取以产生所述视频文件的时间片段的视频帧的视频偏移的信息、用于检测数据丢失的连续性计数器值以及片段开始时间;
分析(22)所述分割元数据以确定要下载的视频偏移;
下载所确定的视频偏移;
从所下载的视频偏移产生(23)视频片段;以及
根据媒体流格式将所产生的视频片段转换(24)为媒体流片段,该格式使用连续性计数器和/或时间戳,使得每个媒体流片段内的以及在连续的媒体流片段之间的连续性计数器适当地递增并且/或者每个媒体流片段内的以及在连续的媒体流片段之间的时间戳是有效并且同步的。
6.根据权利要求5所述的方法,其中,所述视频文件是MP4文件或者MKV文件。
7.根据权利要求5所述的方法,其中,所述媒体流片段是MPEG传输流片段。
8.一种用于准备用于同位体辅助视频交付系统的视频文件的装置(30),该装置(30)包含:
分割器(31),被配置为将所述视频文件分割(11)为时间片段,使得所述视频文件的任何帧都存在于一个且仅仅一个时间片段中,并且产生(12)包含关于相对于所述视频文件的开始并且对应于要从所述视频文件中提取以产生所述时间片段的视频帧的视频偏移的信息、用于检测数据丢失的连续性计数器值以及片段开始时间的分割元数据;
转换器(32),被配置为根据媒体流格式将时间片段转换(13)为媒体流片段,该格式使用连续性计数器和/或时间戳,使得每个媒体流片段内的以及在连续的媒体流片段之间的连续性计数器适当地递增并且/或者每个媒体流片段内的以及在连续的媒体流片段之间的时间戳是有效并且同步的;以及
插入器(34),被配置为将所述视频文件和所产生的分割元数据插入(15)在所述同位体辅助视频交付系统中。
9.根据权利要求8所述的装置(30),其中,所述分割器(31)将所述视频文件分割(11)成固定持续时间的时间片段。
10.根据权利要求8所述的装置(30,40),其中,所述视频文件是MP4文件或者MKV文件。
11.根据权利要求8所述的装置(30,40),其中,所述媒体流片段是MPEG传输流片段。
12.一种用于从同位体辅助视频交付系统接收视频文件的对等客户端装置(40),该装置(40)包含:
网络连接器(41),被配置为下载(21)用于所述视频文件的分割元数据,所述分割元数据包含关于相对于所述视频文件的开始并且对应于要从所述视频文件中提取以产生所述视频文件的时间片段的视频帧的视频偏移的信息、用于检测数据丢失的连续性计数器值以及片段开始时间;
分析器(42),被配置为分析(22)所述分割元数据以确定要下载的视频偏移;
片段产生器(43),被配置为从所下载的视频偏移产生(23)视频片段;以及
转换器(44),被配置为根据媒体流格式将所产生的视频片段转换(24)为媒体流片段,该格式使用连续性计数器和/或时间戳,使得每个媒体流片段内的以及在连续的媒体流片段之间的连续性计数器适当地递增并且/或者每个媒体流片段内的以及在连续的媒体流片段之间的时间戳是有效并且同步的。
13.根据权利要求12所述的装置(30,40),其中,所述视频文件是MP4文件或者MKV文件。
14.根据权利要求12所述的装置(30,40),其中,所述媒体流片段是MPEG传输流片段。
CN201380015659.8A 2012-04-23 2013-04-04 同位体辅助的视频分发 Expired - Fee Related CN104221391B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP12305464.5A EP2658271A1 (en) 2012-04-23 2012-04-23 Peer-assisted video distribution
EP12305464.5 2012-04-23
PCT/EP2013/057120 WO2013160080A1 (en) 2012-04-23 2013-04-04 Peer-assisted video distribution

Publications (2)

Publication Number Publication Date
CN104221391A CN104221391A (zh) 2014-12-17
CN104221391B true CN104221391B (zh) 2018-04-10

Family

ID=48048048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380015659.8A Expired - Fee Related CN104221391B (zh) 2012-04-23 2013-04-04 同位体辅助的视频分发

Country Status (9)

Country Link
US (1) US9560422B2 (zh)
EP (2) EP2658271A1 (zh)
JP (1) JP6169165B2 (zh)
KR (1) KR20150002684A (zh)
CN (1) CN104221391B (zh)
AU (1) AU2013251908B2 (zh)
HK (1) HK1207932A1 (zh)
TW (1) TWI596926B (zh)
WO (1) WO2013160080A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150256600A1 (en) * 2014-03-05 2015-09-10 Citrix Systems, Inc. Systems and methods for media format substitution
CN104581374B (zh) * 2014-12-31 2018-05-29 深圳市同洲电子股份有限公司 一种获取切片文件和生成子m3u8文件的方法、节点及服务器
CN104754415B (zh) * 2015-03-30 2018-02-09 北京奇艺世纪科技有限公司 一种视频播放方法及装置
WO2016209174A1 (en) * 2015-06-26 2016-12-29 Onwards Media Group Pte. Ltd. Method and apparatus for streaming media
JP2017055203A (ja) * 2015-09-08 2017-03-16 船井電機株式会社 情報機器
US10171847B2 (en) * 2015-09-08 2019-01-01 Funai Electric Co., Ltd. Information device and distribution device
US20170127150A1 (en) * 2015-11-04 2017-05-04 Ubitus Inc. Interactive applications implemented in video streams
CN105430425B (zh) * 2015-11-18 2018-11-16 深圳Tcl新技术有限公司 单分片视频播放加速方法及装置
CN105578216B (zh) * 2015-12-21 2018-11-13 武汉市烽视威科技有限公司 一种实现hls点播快进快退的方法
GB2549323B (en) * 2016-04-15 2022-06-15 Grass Valley Ltd Methods of distributing media files, and file distribution systems for distributing media files
US10204274B2 (en) * 2016-06-29 2019-02-12 Cellular South, Inc. Video to data
CN106210783B (zh) * 2016-07-29 2019-04-16 浪潮软件集团有限公司 一种基于hls协议实现动态调整机顶盒广电网络带宽的方法
US10667016B2 (en) * 2017-06-19 2020-05-26 Electronics And Telecommunications Research Institute Peer and method for adjusting starting point of the peer
CN107277013B (zh) * 2017-06-19 2020-05-22 网宿科技股份有限公司 对等网络中的直播系统及节点管理方法
CN111741373B (zh) * 2019-03-25 2022-09-30 杭州萤石软件有限公司 一种视频数据传输方法和视频源设备
US11824751B2 (en) * 2020-04-21 2023-11-21 Grass Valley Canada System and method for controlling distribution of media content in a distributed system
WO2024075860A1 (ko) * 2022-10-05 2024-04-11 라쿠텐 심포니 코리아 주식회사 동영상 협업 서비스를 운용하기 위한 기술

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101959063A (zh) * 2010-07-28 2011-01-26 香港应用科技研究院有限公司 媒体内容传送的网络传输效应的评估系统和方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE292873T1 (de) 2001-11-30 2005-04-15 Matsushita Electric Ind Co Ltd Verfahren und vorrichtung zur stream-umsetzung, verfahren und vorrichtung zur datenaufzeichnung und datenaufzeichnungsmedium
EP1391119B1 (en) 2001-11-30 2006-06-14 Matsushita Electric Industrial Co., Ltd. A method and an apparatus for data recording
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
WO2007148300A2 (en) * 2006-06-20 2007-12-27 Gal Zuckerman Methods and systems for push-to-storage
US9178693B2 (en) * 2006-08-04 2015-11-03 The Directv Group, Inc. Distributed media-protection systems and methods to operate the same
US8082358B2 (en) * 2008-09-30 2011-12-20 Microsoft Corporation ISP-friendly rate allocation for P2P applications
US20100169303A1 (en) * 2008-12-31 2010-07-01 David Biderman Playlists for real-time or near real-time streaming
WO2010108053A1 (en) * 2009-03-19 2010-09-23 Azuki Systems, Inc. Method for scalable live streaming delivery for mobile audiences
JP5444476B2 (ja) * 2010-11-18 2014-03-19 シャープ株式会社 コンテンツデータ生成装置、コンテンツデータ生成方法、コンピュータプログラムおよび記録媒体
US8543660B2 (en) * 2011-05-27 2013-09-24 Verizon Patent And Licensing Inc. Systems and methods for bridging and managing media content associated with separate media content networks
JP2013093755A (ja) * 2011-10-26 2013-05-16 Canon Inc 映像記録装置及び映像記録方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101959063A (zh) * 2010-07-28 2011-01-26 香港应用科技研究院有限公司 媒体内容传送的网络传输效应的评估系统和方法

Also Published As

Publication number Publication date
AU2013251908A1 (en) 2014-09-18
CN104221391A (zh) 2014-12-17
US9560422B2 (en) 2017-01-31
JP2015520960A (ja) 2015-07-23
EP2842340A1 (en) 2015-03-04
EP2842340B1 (en) 2018-03-21
TW201401826A (zh) 2014-01-01
US20150058907A1 (en) 2015-02-26
KR20150002684A (ko) 2015-01-07
JP6169165B2 (ja) 2017-07-26
HK1207932A1 (zh) 2016-02-12
TWI596926B (zh) 2017-08-21
WO2013160080A1 (en) 2013-10-31
AU2013251908B2 (en) 2017-03-02
EP2658271A1 (en) 2013-10-30

Similar Documents

Publication Publication Date Title
CN104221391B (zh) 同位体辅助的视频分发
US9338523B2 (en) Audio splitting with codec-enforced frame sizes
US20160345074A1 (en) Apparatus and Method for Replacing Conventional Commercials with Targeted Advertisements in Online Live Streams
WO2012096372A1 (ja) コンテンツ再生装置、コンテンツ再生方法、配信システム、コンテンツ再生プログラム、記録媒体、およびデータ構造
US9197944B2 (en) Systems and methods for high availability HTTP streaming
CN109819345A (zh) 直播视频的处理、时移方法、视频处理装置及云存储系统
US7882261B2 (en) Method and apparatus for realizing positioning play of content stream in peer-to-peer network
EP3258697B1 (en) Transmission apparatus, transmission method, reception apparatus, and reception method
WO2018103696A1 (zh) 媒体文件的播放方法、服务端、客户端及系统
CN103763637A (zh) 一种流媒体播出方法及其系统
KR102085192B1 (ko) 렌더링 시간 제어
US11451605B2 (en) Method to insert program boundaries in linear video for adaptive bitrate streaming
CN105228001A (zh) 一种flv格式视频在线播放的方法及系统
CN102594773B (zh) 一种实现数据获取的方法和系统
CN110225370B (zh) 一种多媒体内容个性化呈现的时间线控制方法
CN108156490B (zh) 一种利用移动终端回放电视直播的方法、系统及存储介质
Wagenaar et al. Unified remix: A server side solution for adaptive bit-rate streaming with inserted and edited media content
CN101389008A (zh) 利用对等网络方式进行影音流式播放的系统与方法

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190116

Address after: Paris France

Patentee after: Interactive Digital Madison Patent Holdings

Address before: I Si Eli Murli Nor, France

Patentee before: THOMSON LICENSING

Effective date of registration: 20190116

Address after: I Si Eli Murli Nor, France

Patentee after: THOMSON LICENSING

Address before: I Si Eli Murli Nor, France

Patentee before: THOMSON LICENSING

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180410

Termination date: 20210404