CN105898531A - 视频缓存文件的封装方法和系统 - Google Patents

视频缓存文件的封装方法和系统 Download PDF

Info

Publication number
CN105898531A
CN105898531A CN201510888117.2A CN201510888117A CN105898531A CN 105898531 A CN105898531 A CN 105898531A CN 201510888117 A CN201510888117 A CN 201510888117A CN 105898531 A CN105898531 A CN 105898531A
Authority
CN
China
Prior art keywords
file
video file
data
video
transcoded
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
CN201510888117.2A
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.)
LeTV Cloud Computing Co Ltd
Original Assignee
LeTV Cloud Computing 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 LeTV Cloud Computing Co Ltd filed Critical LeTV Cloud Computing Co Ltd
Priority to CN201510888117.2A priority Critical patent/CN105898531A/zh
Publication of CN105898531A publication Critical patent/CN105898531A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • 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
    • H04N21/440236Processing 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 by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
    • 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/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种视频缓存文件封装方法和系统,所述方法包括根据原视频文件的元数据和与所述原视频文件相应的辅助转码数据形成索引区,根据原视频文件的部分帧数据形成数据区,其中,所述数据区位于所述索引区之后,以及通过封装文件访问函数将所述索引区和所述数据区封装为视频缓存文件。此外,提供了封装的视频缓存文件系统,通过提供的视频缓存文件封装方法和系统,为系统用户尤其是编程人员提供完全相同于常用文件系统操作的方式,使其不必关心文件具体的实现逻辑,减少文件调用的出错概率,降低开发难度并提高代码的可维护性,极大地方便了编程人员的使用,有效提高了开发效率。

Description

视频缓存文件的封装方法和系统
技术领域
本发明实施例涉及网络技术领域,尤其涉及一种视频缓存文件的封装方法和系统。
背景技术
随着互联网技术的发展,通过互联网获得的丰富的综合性的网络视频资源已变得十分普遍。对于提供视频资源的视频网站来讲,不仅要存储大量的视频资源,而且每天要同时接受数量巨大的视频访问请求。因此,如何高效的存储视频资源以便为用户更好的提供视频服务是十分重要的。目前很多视频网站的在线视频文件采用MP4文件格式。由于Flash插件可以播放MP4视频文件,浏览器只要支持Flash就可以播放高清的MP4视频,所以MP4视频成为了目前主流的视频格式。同视频码率情况下,MP4文件清晰度比较高,压缩质量很好。标准的MP4文件一般包括索引区以及数据内容区两部分。
鉴于对MP4视频文件数据需求一般比较大,视频提供网站一般会对其缓存,目前一般作法是对整个视频文件同等对待,所以缓存效果不十分理想,当用户请求视频文件时,都基于文件系统进行操作,首先打开文件头,把文件的一部分读到磁盘由服务器进行解析并将解析结果,如视频文件的MD5,视频段的开始位置和结束位置返回用户。由于解析操作在磁盘上完成,解析速度较慢,对用户使用体验不友好。另一方面,由于用户客户端很多,根据用户使用请求,一般会对MP4文件进行相应的转码,即将MP4文件转换成flv,ts等格式视频文件,转码时非常消耗CPU资源,一般CPU消耗都在99%以上,造成转码耗时较长,用户等待时间较长。
另外,对于缓存的使用,一般直接用户为系统用户主要是系统编程人员。系统用户已经习惯于传统的文件访问方式,当系统用户需要访问缓存中的数据时,首先要了解其缓存内部的业务逻辑,相对于存储在磁盘上的文件的读写要相对麻烦,且处理时往往容易出现字节对齐错误之类的问题,使用起来不太方便友好。
发明内容
针对上述现有技术中存在的系统编程人员对缓存中文件使得不太方便友好的问题,本发明实施例提供一种视频缓存文件的封装方法和系统。
本发明实施例一方面提供一种视频缓存文件的封装方法,所述方法包括:
根据原视频文件的元数据和与所述原视频文件相应的辅助转码数据形成索引区,其中,所述辅助转码数据位于所述元数据之后;
根据原视频文件的部分帧数据形成数据区,其中,所述数据区位于所述索引区之后;
通过封装文件访问函数将所述索引区和所述数据区封装为视频缓存文件。
本发明实施例另一方面提供一种封装的视频缓存文件系统,所述系统包括:
索引区,所述索引区由原视频文件的元数据和与所述原视频文件相应的辅助转码数据形成,其中,所述辅助转码数据位于所述元数据之后;和
数据区,所述数据区由原视频文件的部分帧数据形成,其中,所述数据区位于所述索引区之后。
本发明实施例提供的一种视频缓存文件的封装方法和系统,为系统用户尤其是编程人员提供完全相同于常用文件系统操作的方式,使其不必关心文件具体实现逻辑,减少文件调用的出错概率,降低开发难度并提高代码的可维护性,极大地方便了编程人员的使用,有效提高了开发效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明视频缓存文件封装方法实施例流程图;
图2为本发明封装的视频缓存文件系统实施例结构示意图;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,在本发明的一实施例中,提供的视频缓存文件的封装方法包括:
S101,形成索引区,根据原视频文件的元数据和与所述原视频文件相应的辅助转码数据形成索引区,其中,所述辅助转码数据位于所述元数据之后;
传统对视频文件一般都会分段处理,这样会使得文件数量很多,很难管理,由于某种原因容易造成部分数据丢失,所以本实施例中所指的视频文件是指整个完整的视频文件,不进行分段处理。一般视频文件都包括索引区和数据区,其中索引区主要视频文件的元数据,数据区为视频文件的实际内容。这里,我们通过修改视频文件的索引区,即建立我们的索引区,通过在原视频文件的元数据后追加原视频文件进行转码时所需的辅助文件,与原视频文件元数据一起作为视频文件的索引区。将辅助文件追加在原视频文件的元数据之后,是为了更符合用户的使用习惯,优先读取原视频的相关头信息;
S102,形成数据区,根据原视频文件的部分帧数据形成数据区,其中,所述数据区位于所述索引区之后;
这里建立的数据区包括原视频文件的部分帧数据,所述部分帧数据为视频文件首位置的至少一个关键帧,一般为视频文件播放前三分钟的视频内容。遵循原有视频文件的基本结构,将数据区位于索引区之后,也是为了更符合用户的使用习惯,即用户先读取视频文件的索引区。
S103,通过封装文件访问函数将所述索引区和所述数据区封装为视频缓存文件。
这样,经过封装,形成一个轻量级的视频缓存文件,其更适合于进行缓存。当系统用户尤其是编程人员需要访问视频文件时,不必关心其内容是存储在磁盘上还是内存中,忽略了其内部的存储逻辑,直接与调用通用文件系统一样访问,简化了操作,减少了操作的复杂度,极大地提高了使用的便利性。
其中,所述部分帧数据都不会太大,一般部分帧数据的大小至多为原视频文件大小的1/2,优选地,部分帧数据的大小为原视频文件大小的1/5或1/10。这样封装的视频文件系统不会太大,更适于进行缓存。
进一步地,原视频文件为mp4格式视频文件,辅助转码数据包括将mp4文件转换为ts流文件、flv等格式视频文件时生成的辅助文件,如mp4文件转码成ts流文件时所需的m3u8索引文件。
在实施例中,视频服务器只存储封装的mp4文件格式的视频文件,这样大大降低了存储,有利于其加载和传输,尤其对P2P十分有利。由于,视频服务器只存储封装的MP4格式的视频文件,鉴于客户端的多样性,所以在使用时要根据用户的请求进行实时转码操作,即将封装的mp4文件转换标准的flv、ts以及标准的mp4视频文件格式,其它请求会根据用户特征做一些改变通过适配器适配,这就需要一些预处理信息支持,而这些信息作为辅助转码使用被封装到封装的mp4视频文件中。如通常使用时会事先将mp4文件转换成m3u8文件,其大小一般几十K,不超过1MB,将其存放在视频文件索引区,这样使用时不用再转换,虽然消耗掉了一部分存储空间,但却加快了转码时间,虽然以空间换时间,但是有效提升了用户使用体验。据统计,经过事先将转码需要的文件适当缓存后,CPU消耗不超过30%,大部分情况下都在10%上下,相比不进行缓存时实时转码CPU消耗一般在90%以上。
更进一步地,步骤S103中所述封装的文件访问函数,基于LINUX操作系统。即基于linux操作系统文件访问常用函数,如打开文件(open)、关闭文件(close)、写文件(write)、读文件(read)、文件偏移(lseek)等,对函数的标准接口声明不变,重新定义函数的实现。
这样封装而成的视频缓存文件对用户来说跟普通文件一样,即可以使用通用的文件访问函数对文件进行读写操作,极大便利了用户的使用。
如图2所示,根据本发明提供的视频文件的封装方法的得到的系统,所述系统包括:
索引区,所述索引区由原视频文件的元数据和与所述原视频文件相应的辅助转码数据形成,其中,所述辅助转码数据位于所述元数据之后;和
数据区,所述数据区由原视频文件的部分帧数据形成,其中,所述数据区位于所述索引区之后。
其中,系统中部分帧数据都不会太大,一般部分帧数据的大小至多为原视频文件大小的1/2,优选地,部分帧数据的大小为原视频文件大小的1/5或1/10。这样封装的视频文件系统不会太大,更适于进行缓存。
进一步地,系统中原视频文件为mp4格式视频文件,辅助转码数据包括将mp4文件转换为ts流文件、flv等格式视频文件时生成的辅助文件,如mp4文件转码成ts流文件时所需的m3u8索引文件。
进一步地,所述系统通过封装文件访问函数建立,基于LINUX操作系统。即基于linux操作系统文件访问常用函数,如打开文件(open)、关闭文件(close)、写文件(write)、读文件(read)、文件偏移(lseek)等,对函数的标准接口声明不变,重新定义函数的实现。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种视频缓存文件封装方法,所述方法包括:
根据原视频文件的元数据和与所述原视频文件相应的辅助转码数据形成索引区,其中,所述辅助转码数据位于所述元数据之后;
根据原视频文件的部分帧数据形成数据区,其中,所述数据区位于所述索引区之后;
通过封装文件访问函数将所述索引区和所述数据区封装为视频缓存文件。
2.根据权利要求1所述的方法,其特征在于,所述部分帧数据的大小至多为原视频文件大小的1/2。
3.根据权利要求1所述的方法,其特征在于,所述原视频文件为mp4格式视频文件,所述辅助转码数据至少包括将所述原视频文件转码成TS流文件时所需的m3u8文件。
4.根据权利要求1所述的系统,其特征在于,所述封装文件访问函数为基于linux操作系统的文件访问函数。
5.一种封装的视频缓存文件系统,所述系统包括:
索引区,所述索引区由原视频文件的元数据和与所述原视频文件相应的辅助转码数据形成,其中,所述辅助转码数据位于所述元数据之后;和
数据区,所述数据区由原视频文件的部分帧数据形成,其中,所述数据区位于所述索引区之后。
6.根据权利要求5所述的系统,其特征在于,所述部分帧数据的大小至多为原视频文件大小的1/2。
7.根据权利要求5所述的系统,其特征在于,所述原视频文件为mp4格式视频文件,所述辅助转码数据至少包括将所述原视频文件转码成TS流文件时所需的m3u8文件。
8.根据权利要求5所述的系统,其特征在于,所述系统通过基于linux操作系统的文件访问函数封装。
CN201510888117.2A 2015-12-07 2015-12-07 视频缓存文件的封装方法和系统 Pending CN105898531A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510888117.2A CN105898531A (zh) 2015-12-07 2015-12-07 视频缓存文件的封装方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510888117.2A CN105898531A (zh) 2015-12-07 2015-12-07 视频缓存文件的封装方法和系统

Publications (1)

Publication Number Publication Date
CN105898531A true CN105898531A (zh) 2016-08-24

Family

ID=57002294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510888117.2A Pending CN105898531A (zh) 2015-12-07 2015-12-07 视频缓存文件的封装方法和系统

Country Status (1)

Country Link
CN (1) CN105898531A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019205117A1 (en) * 2018-04-28 2019-10-31 Intel Corporation Weighted prediction mechanism

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100020886A1 (en) * 2005-09-27 2010-01-28 Qualcomm Incorporated Scalability techniques based on content information
CN101802823A (zh) * 2007-08-20 2010-08-11 诺基亚公司 用于流式多媒体数据的分段的元数据和位标
CN102170453A (zh) * 2011-05-26 2011-08-31 北京暴风网际科技有限公司 音视频编码方法及缩短点播播放前等待时间的播放方法
CN102210160A (zh) * 2008-09-10 2011-10-05 Rgb网络有限公司 用于递送内容的系统和方法
CN103430535A (zh) * 2011-01-21 2013-12-04 汤姆逊许可公司 使用内容剖析的增强远程转码系统及方法
CN103686202A (zh) * 2012-09-18 2014-03-26 中兴通讯股份有限公司 一种dlna下基于http的转码实时传输方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100020886A1 (en) * 2005-09-27 2010-01-28 Qualcomm Incorporated Scalability techniques based on content information
CN101802823A (zh) * 2007-08-20 2010-08-11 诺基亚公司 用于流式多媒体数据的分段的元数据和位标
CN102210160A (zh) * 2008-09-10 2011-10-05 Rgb网络有限公司 用于递送内容的系统和方法
CN103430535A (zh) * 2011-01-21 2013-12-04 汤姆逊许可公司 使用内容剖析的增强远程转码系统及方法
CN102170453A (zh) * 2011-05-26 2011-08-31 北京暴风网际科技有限公司 音视频编码方法及缩短点播播放前等待时间的播放方法
CN103686202A (zh) * 2012-09-18 2014-03-26 中兴通讯股份有限公司 一种dlna下基于http的转码实时传输方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019205117A1 (en) * 2018-04-28 2019-10-31 Intel Corporation Weighted prediction mechanism
US11706404B2 (en) 2018-04-28 2023-07-18 Intel Corporaton Weighted prediction mechanism

Similar Documents

Publication Publication Date Title
US10732917B2 (en) Systems, methods, and apparatuses for implementing frame aggregation with screen sharing
CN105144737B (zh) 媒体分发和管理平台
US11785232B2 (en) Media storage
CN108536778B (zh) 一种数据应用共享平台及方法
CN108848108A (zh) 基于移动互联网+的创新项目pdca过程管理平台
CN104281414A (zh) 分布式文件系统及其小文件访问方法
CN104778229A (zh) 基于Hadoop的电信业务小文件存储系统及方法
CN105573967A (zh) 一种多格式文件在线浏览方法及系统
CN107506154A (zh) 一种元数据的读取方法、装置及计算机可读存储介质
CN102143182A (zh) 基于互联网的数字电视多媒体信息制作审查发布系统
US9204175B2 (en) Providing partial file stream for generating thumbnail
CN106570153A (zh) 一种海量url的数据提取方法及系统
CN105898530A (zh) 视频文件的缓存方法和系统
CN105447016B (zh) 一种组件的快速搜索及重用的办法
CN105898531A (zh) 视频缓存文件的封装方法和系统
CN108322772A (zh) 一种视频文件处理方法、装置及电子设备
EP2686791B1 (en) Variants of files in a file system
EP3996374A1 (en) Media processing method
Liu et al. Parallel video transcoding using Hadoop MapReduce
CN105389368A (zh) 一种mpp架构数据库集群元数据管理方法
CN107645499A (zh) 一种分布式存储系统的后端框架及其协议实现方法
CN103246711A (zh) 一种二进制大对象类型数据的快照生成方法及装置
CN114598895B (zh) 音视频处理方法、装置、设备及计算机可读存储介质
Xu et al. CDVT: A cluster-based distributed video transcoding scheme for mobile stream services
Kovářová 3 Streaming Services Architecture Design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160824

WD01 Invention patent application deemed withdrawn after publication