[go: up one dir, main page]

CN107820124A - 格式转换方法、装置及服务器 - Google Patents

格式转换方法、装置及服务器 Download PDF

Info

Publication number
CN107820124A
CN107820124A CN201711107143.2A CN201711107143A CN107820124A CN 107820124 A CN107820124 A CN 107820124A CN 201711107143 A CN201711107143 A CN 201711107143A CN 107820124 A CN107820124 A CN 107820124A
Authority
CN
China
Prior art keywords
file
frame
source file
bhd
data
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
CN201711107143.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.)
Storm Group Ltd By Share Ltd
Original Assignee
Storm Group Ltd By Share 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 Storm Group Ltd By Share Ltd filed Critical Storm Group Ltd By Share Ltd
Priority to CN201711107143.2A priority Critical patent/CN107820124A/zh
Publication of CN107820124A publication Critical patent/CN107820124A/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/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/440218Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level

Landscapes

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

Abstract

本发明公开了一种格式转换方法、装置及服务器,该方法包括:通过FFmpeg,获取源文件的文件信息;读取所述源文件中的各个帧的数据及其相关信息;根据所述源文件的文件信息、各个帧的数据及相关信息,生成与所述源文件的内容相同且格式为BHD的BHD文件。该技术方案可以基于FFmpeg根据文件信息、各个帧的数据及相关信息,更改源文件的格式为BHD,实现了FFmpeg将文件的其他格式转换成BHD格式。

Description

格式转换方法、装置及服务器
技术领域
本发明涉及视频播放的技术领域,尤其是一种格式转换方法、装置及服务器。
背景技术
BHD格式,是暴风影音播放器独有的一种多媒体文件格式,其文件扩展名为.bhd,其是针对视频画质、视频大小、视频帧数、码率、手机省电等进行优化,研发出的一种专供暴风影音播放器播放的数据格式。
多媒体文件的格式有很多种,相互之间可以进行格式转换。FFmpeg可以实现多媒体文件的格式转换,但是无法实现BHD的格式转换,例如AVI格式无法转化为BHD格式。
发明内容
有鉴于此,本发明所要解决的技术问题在于如何提供一种格式转换方法、装置及服务器,可以实现了FFmpeg将文件的其他格式转换成BHD格式。技术方案如下:
根据本公开实施例的第一方面,提供一种格式转换方法,包括:
通过FFmpeg,获取源文件的文件信息;
读取所述源文件中的各个帧的数据及其相关信息;
根据所述源文件的文件信息、各个帧的数据及相关信息,生成与所述源文件的内容相同且格式为BHD的BHD文件。
本公开的实施例提供的技术方案可以包括以下有益效果:可以基于FFmpeg根据文件信息、各个帧的数据及相关信息,更改源文件的格式为BHD,实现了FFmpeg将文件的其他格式转换成BHD格式。
可选的,所述相关信息包括时间戳;
所述根据所述源文件的文件信息、各个帧的数据及相关信息,生成与所述源文件的内容相同且格式为BHD的BHD文件,包括:
建立格式为BHD的新文件及所述新文件的文件头;
将所述文件信息和预定的BHD格式的解码器信息写入所述文件头;
将所述源文件的各个帧的数据及相关信息写入所述新文件的数据区中,并记录每个关键帧的文件偏移量;
从所述各个帧的时间戳中获取所述每个关键帧的时间戳;
将所述每个关键帧的文件偏移量和时间戳作为对应的关键帧的索引信息写入所述文件头;
将写入后的新文件作为所述BHD文件。
可选的,所述通过FFmpeg,获取源文件的文件信息之前,所述方法还包括:
接收用于将源文件的格式转换为BHD的转换指令;
根据所述转换指令,通过所述FFmpeg获取并打开所述源文件。
可选的,所述通过所述FFmpeg获取并打开所述源文件,包括:
通过所述FFmpeg中avformat_open_input函数获取所述源文件的FormatCtx对象;
相应的,所述通过FFmpeg,获取源文件的文件信息,包括:
通过所述FormatCtx对象获取所述源文件的文件信息。
可选的,所述读取所述源文件中的各个帧的数据及其相关信息,包括:
通过所述FFmpeg中av_read_frame函数读取所述源文件的各个帧的数据及其相关信息。
可选的,所述文件信息至少包括下列之一:视频轨、总播放时长、音频轨数量、编码方式和关键帧数量;
所述相关信息至少还包括下列之一:数据量和表征是否是关键帧的状态信息。
根据本公开实施例的第二方面,提供一种格式转换装置,包括:
第一获取模块,用于通过FFmpeg,获取源文件的文件信息;
读取模块,读取所述源文件中的各个帧的数据及其相关信息;
生成模块,用于根据所述源文件的文件信息、各个帧的数据及相关信息,生成与所述源文件的内容相同且格式为BHD的BHD文件。
可选的,所述相关信息包括时间戳;所述生成模块包括:
建立子模块,用于建立格式为BHD的新文件及所述新文件的文件头;
第一写入子模块,用于将所述文件信息和预定的BHD格式的解码器信息写入所述文件头;
第二写入子模块,用于将所述源文件的各个帧的数据及相关信息写入所述新文件的数据区中,并记录每个关键帧的文件偏移量;
第一获取子模块,用于从所述各个帧的时间戳中获取所述每个关键帧的时间戳;
第三写入子模块,用于将所述每个关键帧的文件偏移量和时间戳作为对应的关键帧的索引信息写入所述文件头;将写入后的新文件作为所述BHD文件。
可选的,所述装置还包括:
接收模块,用于接收用于将源文件的格式转换为BHD的转换指令;
第二获取模块,用于根据所述转换指令,通过所述FFmpeg获取并打开所述源文件。
可选的,所述第二获取模块包括:
第二获取子模块,用于通过所述FFmpeg中avformat_open_input函数获取所述源文件的FormatCtx对象;
相应的,所述第一获取模块包括:
第三获取子模块,用于通过所述FormatCtx对象获取所述源文件的文件信息。
可选的,所述读取模块包括:
读取子模块,用于通过所述FFmpeg中av_read_frame函数读取所述源文件的各个帧的数据及其相关信息。
可选的,所述文件信息至少包括下列之一:视频轨、总播放时长、音频轨数量、编码方式和关键帧数量;
所述相关信息至少还包括下列之一:数据量和表征是否是关键帧的状态信息。
根据本公开实施例的第三方面,提供一种服务器,包括上述格式转换装置。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1是根据一示例性实施例示出的格式转换方法的流程图。
图2是根据一示例性实施例示出的格式转换方法的流程图。
图3是根据一示例性实施例示出的格式转换方法的流程图。
图4是根据一示例性实施例示出的格式转换方法的流程图。
图5是根据一示例性实施例示出的格式转换方法的流程图。
图6是根据一示例性实施例示出的格式转换装置的框图。
图7是根据一示例性实施例示出的格式转换装置的框图。
图8是根据一示例性实施例示出的格式转换装置的框图。
图9是根据一示例性实施例示出的格式转换装置的框图。
图10是根据一示例性实施例示出的格式转换装置的框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库。FFmpeg是在Linux(一种操作系统)下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。FFmpeg可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频AVI(一种视频格式)格式转成现在视频网站所采用的FLV格式。
目前FFmpeg可以进行视频格式转换,但是由于BHD格式是暴风影音播放器私有的格式,因此,无法将其他格式,例如AVI格式,转化为BHD格式。
本实施例提供一种格式转换方法,其中,图1是根据一示例性实施例示出的一种格式转换方法的流程图,如图1所示,格式转换方法用于格式转换装置中,该装置应用于服务器,特别是Linux服务器,该方法包括以下步骤101至103:
在步骤101中,通过FFmpeg,获取源文件的文件信息。
本实施例提供的FFmpeg增加了形成BHD格式的文件的相应模块。
文件信息是非源文件所需展示的内容,而是记录展示该内容相关的参数,这些参数需要放在文件头内,例如,视频轨、音频轨数量,编码方式,总播放时长,关键帧数量等。件头是位于文件开头的一段承担一定任务的数据,一般都在开头的部分。这里,头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明,而定义文件用于保存程序的实现。
在步骤102中,读取源文件中的各个帧的数据及其相关信息。
每一帧的数据和相关信息都不相同,相关信息是记录该帧所展示内容相关的参数。例如,表征该帧是不是关键帧的状态信息,该帧的时间戳等。
本实施例中读取是按照源文件的播放顺序读取的,也就是帧的顺序。
在步骤103中,根据源文件的文件信息、各个帧的数据及相关信息,生成与源文件的内容相同且格式为BHD的BHD文件。
文件的每种格式相当于是安放文件的容器,各个容器的优缺点各异,但容器的目的就是为了安放就是各个帧的数据及相关信息,并保证在合适的播放器中可以播放。
本实施例中的,文件信息和部分相关信息需要作为文件头,保证BHD文件可以展示,各个帧的数据及相关信息保证BHD展示的内容无误。
值得说明的是,建立BHD格式文件的相关参数需要预先保存FFmpeg。
在一个实施例中,相关信息包括时间戳;步骤103,即根据源文件的文件信息、各个帧的数据及相关信息,生成与源文件的内容相同且格式为BHD的BHD文件,如图2所示,可以包括:
在步骤1031中,建立格式为BHD的新文件及新文件的文件头。
这里,新文件的名称可以与源文件名称相同。这样,用户就无需后续再将文件名修改回源文件名。该新文件是一个空文件。该空文件包括文件头和数据区,其中,数据区是空的。
本实施例需要将建立格式为BHD的文件的方式和相关参数加入FFmpeg。
本实施例中,文件头可以先预留用于写入n个索引信息的预留空间,该n是源文件中关键帧的个数,每个索引信息与一个关键帧对应。
在步骤1032中,将文件信息和预定的BHD格式的解码器信息写入文件头。
只要是格式是BHD的文件,那么BHD格式的解码器就需要写入相应文件的文件头,以便于展示该文件时使用。
在步骤1033中,将源文件的各个帧的数据及相关信息写入新文件的数据区中,并记录每个关键帧的文件偏移量。
这里,需要按照帧的顺序,依次写入各个帧的数据及相关信息。文件偏移量是指距离数据区开头的字节数。
在步骤1034中,从各个帧的时间戳中获取每个关键帧的时间戳。
在步骤1035中,将每个关键帧的文件偏移量和时间戳作为对应的关键帧的索引信息写入文件头。
在步骤1036中,将写入后的新文件作为BHD文件。
对于任一帧,该步骤103至105可以包括:按照帧的顺序,获取某一帧的数据及相关信息,将该帧的数据和相关信息写入数据区对应的位置,通过相关信息判断该帧是否是关键帧;如果是,那么获取该帧的时间戳和文件偏移量,按照帧的顺序获取下一帧的数据及相关信息;如果不是,按照帧的顺序,获取下一帧的数据及相关信息。
在一个实施例中,如图3所示,在步骤101即通过FFmpeg,获取源文件的文件信息之前,方法还包括:
在步骤100a中,接收用于将源文件的格式转换为BHD的转换指令。
转换指令可以是用户触发的。
在步骤100b中,根据转换指令,通过FFmpeg获取并打开源文件。
在一个实施例中,如图4所示,步骤100b可以包括:
在步骤100b1中,通过FFmpeg中avformat_open_input函数获取源文件的FormatCtx对象。
这里,avformat_open_input所对应的代码可以为:
iRes=avformat_open_input(&pFormatCtx,pcFi leName,NULL,NULL)。
其中,通过FFmpeg打开pcFi leName文件,pcFi leName为文件名,寻找pcFi leNam的pFormatCtx对象,pFormatCtx对象中记录有文件信息。
相应的,步骤101可以包括:
在步骤1011中,通过FormatCtx对象获取源文件的文件信息。
这里,通过FormatCtx对象获取文件信息的代码如下所示:
在一个实施例中,如图4所示,步骤102,即读取源文件中的各个帧的数据及其相关信息,可以包括:
在步骤1021中,通过FFmpeg中av_read_frame函数读取源文件的各个帧的数据及其相关信息。
具体av_read_frame函数的内容为:
在一个实施例中,文件信息至少包括下列之一:视频轨、总播放时长、音频轨数量、编码方式和关键帧数量;相关信息至少还包括下列之一:数据量和表征是否是关键帧的状态信息。
图5是根据一示例性实施例示出的一种格式转换方法的流程图,如图5所示,格式转换方法用于格式转换装置中,该装置应用于l inux服务器,该方法包括步骤201至208:
在步骤201中,接收用于将<X.avi>视频的格式转换为BHD的转换指令。
<X.avi>视频是格式是AVI格式的X视频。
在步骤202中,根据转换指令,通过FFmpeg中avformat_open_input函数获取<X.avi>视频的FormatCtx对象。
在步骤203中,通过FormatCtx对象获取<X.avi>视频的文件信息。
其中,获取到X视频具有1个视频轨,编码格式为H.265,1920x1080。1个音频轨,编码格式为AAC,6声道,16比特,48k采样率。依次读取视频各帧信息,得知,一共有13000帧为关键帧。
在步骤204中,建立<X.bhd>文件,及<X.bhd>的文件头。
在本步骤中,<X.bhd>文件是格式是BHD格式的空视频。
在步骤205中,在文件头中预留13000个索引信息的文件空间。
在步骤206中,读取<X.avi>视频各个帧的数据及相关信息。
这里读取时间顺序是帧的顺序。例如从,某帧读取到数据为视频数据,数据量为12448字节,时间戳为2448毫秒,表征是关键帧的状态信息。这里,数据量、时间戳和装填信息都是相关信息。
在步骤207中,将<X.avi>视频的各个帧的数据及相关信息写入<X.bhd>的数据区中,并记录每个关键帧的文件偏移量。
在步骤208中,将每个关键帧的文件偏移量和时间戳作为对应的关键帧的索引信息写入文件头。
这里,多次写入后的<X.bhd>文件就是格式为BHD的X视频。
本实施例中,FFmpeg实现了AVI格式到BHD格式的转化。
图6是根据一示例性实施例示出的一种格式转换装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,该格式转换装置包括:
第一获取模块301,用于通过FFmpeg,获取源文件的文件信息。
读取模块302,读取所述源文件中的各个帧的数据及其相关信息。
生成模块303,用于根据所述源文件的文件信息、各个帧的数据及相关信息,生成与所述源文件的内容相同且格式为BHD的BHD文件。
在一个实施例中,如图7所示,所述相关信息包括时间戳;所述生成模块303包括:
建立子模块3031,用于建立格式为BHD的新文件及所述新文件的文件头。
第一写入子模块3032,用于将所述文件信息和预定的BHD格式的解码器信息写入所述文件头。
第二写入子模块3033,用于将所述源文件的各个帧的数据及相关信息写入所述新文件的数据区中,并记录每个关键帧的文件偏移量。
第一获取子模块3034,用于从所述各个帧的时间戳中获取所述每个关键帧的时间戳。
第三写入子模块3035,用于将所述每个关键帧的文件偏移量和时间戳作为对应的关键帧的索引信息写入所述文件头;将写入后的新文件作为所述BHD文件。
在一个实施例中,如图8所示,所述装置还包括:
接收模块304,用于接收用于将源文件的格式转换为BHD的转换指令。
第二获取模块305,用于根据所述转换指令,通过所述FFmpeg获取并打开所述源文件。
在一个实施例中,如图9所示,所述第二获取模块305包括:
第二获取子模块3051,用于通过所述FFmpeg中avformat_open_input函数获取所述源文件的FormatCtx对象。
相应的,所述第一获取模块301包括:
第三获取子模块3011,用于通过所述FormatCtx对象获取所述源文件的文件信息。
在一个实施例中,如图10所示,所述读取模块302包括:
读取子模块3021,用于通过所述FFmpeg中av_read_frame函数读取所述源文件的各个帧的数据及其相关信息。
在一个实施例中,所述文件信息至少包括下列之一:视频轨、总播放时长、音频轨数量、编码方式和关键帧数量;
所述相关信息至少还包括下列之一:数据量和表征是否是关键帧的状态信息。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
本实施例还提供一种服务器,该服务器包括:
上述格式转换装置。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的、装置及服务器。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的、装置及服务器。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (13)

1.一种格式转换方法,其特征在于,包括:
通过FFmpeg,获取源文件的文件信息;
读取所述源文件中的各个帧的数据及其相关信息;
根据所述源文件的文件信息、各个帧的数据及相关信息,生成与所述源文件的内容相同且格式为BHD的BHD文件。
2.根据权利要求1所述的方法,其特征在于,所述相关信息包括时间戳;
所述根据所述源文件的文件信息、各个帧的数据及相关信息,生成与所述源文件的内容相同且格式为BHD的BHD文件,包括:
建立格式为BHD的新文件及所述新文件的文件头;
将所述文件信息和预定的BHD格式的解码器信息写入所述文件头;
将所述源文件的各个帧的数据及相关信息写入所述新文件的数据区中,并记录每个关键帧的文件偏移量;
从所述各个帧的时间戳中获取所述每个关键帧的时间戳;
将所述每个关键帧的文件偏移量和时间戳作为对应的关键帧的索引信息写入所述文件头;
将写入后的新文件作为所述BHD文件。
3.根据所述权利要求1所述的方法,其特征在于,所述通过FFmpeg,获取源文件的文件信息之前,所述方法还包括:
接收用于将源文件的格式转换为BHD的转换指令;
根据所述转换指令,通过所述FFmpeg获取并打开所述源文件。
4.根据权利要求3所述的方法,其特征在于,所述通过所述FFmpeg获取并打开所述源文件,包括:
通过所述FFmpeg中avformat_open_input函数获取所述源文件的FormatCtx对象;
相应的,所述通过FFmpeg,获取源文件的文件信息,包括:
通过所述FormatCtx对象获取所述源文件的文件信息。
5.根据权利要求2所述的方法,其特征在于,所述读取所述源文件中的各个帧的数据及其相关信息,包括:
通过所述FFmpeg中av_read_frame函数读取所述源文件的各个帧的数据及其相关信息。
6.根据权利要求2所述的方法,其特征在于,所述文件信息至少包括下列之一:视频轨、总播放时长、音频轨数量、编码方式和关键帧数量;
所述相关信息至少还包括下列之一:数据量和表征是否是关键帧的状态信息。
7.一种格式转换装置,其特征在于,包括:
第一获取模块,用于通过FFmpeg,获取源文件的文件信息;
读取模块,读取所述源文件中的各个帧的数据及其相关信息;
生成模块,用于根据所述源文件的文件信息、各个帧的数据及相关信息,生成与所述源文件的内容相同且格式为BHD的BHD文件。
8.根据权利要求7所述的装置,其特征在于,所述相关信息包括时间戳;所述生成模块包括:
建立子模块,用于建立格式为BHD的新文件及所述新文件的文件头;
第一写入子模块,用于将所述文件信息和预定的BHD格式的解码器信息写入所述文件头;
第二写入子模块,用于将所述源文件的各个帧的数据及相关信息写入所述新文件的数据区中,并记录每个关键帧的文件偏移量;
第一获取子模块,用于从所述各个帧的时间戳中获取所述每个关键帧的时间戳;
第三写入子模块,用于将所述每个关键帧的文件偏移量和时间戳作为对应的关键帧的索引信息写入所述文件头;将写入后的新文件作为所述BHD文件。
9.根据所述权利要求7所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收用于将源文件的格式转换为BHD的转换指令;
第二获取模块,用于根据所述转换指令,通过所述FFmpeg获取并打开所述源文件。
10.根据权利要求9所述的装置,其特征在于,所述第二获取模块包括:
第二获取子模块,用于通过所述FFmpeg中avformat_open_input函数获取所述源文件的FormatCtx对象;
相应的,所述第一获取模块包括:
第三获取子模块,用于通过所述FormatCtx对象获取所述源文件的文件信息。
11.根据权利要求8所述的装置,其特征在于,所述读取模块包括:
读取子模块,用于通过所述FFmpeg中av_read_frame函数读取所述源文件的各个帧的数据及其相关信息。
12.根据权利要求8所述的装置,其特征在于,所述文件信息至少包括下列之一:视频轨、总播放时长、音频轨数量、编码方式和关键帧数量;
所述相关信息至少还包括下列之一:数据量和表征是否是关键帧的状态信息。
13.一种服务器,其特征在于,包括权利要求7至12任一项所述的装置。
CN201711107143.2A 2017-11-10 2017-11-10 格式转换方法、装置及服务器 Pending CN107820124A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711107143.2A CN107820124A (zh) 2017-11-10 2017-11-10 格式转换方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711107143.2A CN107820124A (zh) 2017-11-10 2017-11-10 格式转换方法、装置及服务器

Publications (1)

Publication Number Publication Date
CN107820124A true CN107820124A (zh) 2018-03-20

Family

ID=61609254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711107143.2A Pending CN107820124A (zh) 2017-11-10 2017-11-10 格式转换方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN107820124A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157973A (zh) * 2021-03-29 2021-07-23 广州市百果园信息技术有限公司 一种封面的生成方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080284905A1 (en) * 2007-05-17 2008-11-20 Inventec Multimedia & Telecom Corporation Schedulable multiple-formal video converting apparatus
CN102045553A (zh) * 2009-10-09 2011-05-04 腾讯科技(深圳)有限公司 一种多媒体转码器、方法及多媒体播放终端
US20120054605A1 (en) * 2010-08-31 2012-03-01 Hillcrest Publishing Group, Inc. Electronic document conversion system
CN105228001A (zh) * 2015-09-26 2016-01-06 北京暴风科技股份有限公司 一种flv格式视频在线播放的方法及系统
CN106060656A (zh) * 2016-06-28 2016-10-26 暴风集团股份有限公司 基于DirectShow生成BHD文件的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080284905A1 (en) * 2007-05-17 2008-11-20 Inventec Multimedia & Telecom Corporation Schedulable multiple-formal video converting apparatus
CN102045553A (zh) * 2009-10-09 2011-05-04 腾讯科技(深圳)有限公司 一种多媒体转码器、方法及多媒体播放终端
US20120054605A1 (en) * 2010-08-31 2012-03-01 Hillcrest Publishing Group, Inc. Electronic document conversion system
CN105228001A (zh) * 2015-09-26 2016-01-06 北京暴风科技股份有限公司 一种flv格式视频在线播放的方法及系统
CN106060656A (zh) * 2016-06-28 2016-10-26 暴风集团股份有限公司 基于DirectShow生成BHD文件的方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157973A (zh) * 2021-03-29 2021-07-23 广州市百果园信息技术有限公司 一种封面的生成方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN1777945B (zh) 对记录在交互记录介质上的主内容以及其附加内容进行同步再现的方法和设备
US10497397B2 (en) Generating video-notes from videos using machine learning
JP4430882B2 (ja) 複合メディアコンテンツの変換装置及び変換方法並びに複合メディアコンテンツ変換プログラム
US20180184150A1 (en) System and method for flexible video construction
US7984089B2 (en) User-defined indexing of multimedia content
US10720187B2 (en) Method and apparatus to extract key video frames from online education
US8737488B2 (en) Method and apparatus for encoding/decoding
CN102135986A (zh) 基于互联网的教学录像同步文字信息添加及分段播放方法
CN107820124A (zh) 格式转换方法、装置及服务器
US8351768B2 (en) Media processing comparison system and techniques
CN108810575A (zh) 一种发送目标视频的方法和装置
US20230377606A1 (en) Video editing projects using single bundled video files
US8200067B2 (en) Processing of scalable compressed video data formats for nonlinear video editing systems
CN108831510A (zh) 对音视频文件进行打点的方法、装置、终端及存储介质
WO2018005569A1 (en) Videos associated with cells in spreadsheets
CN104485123B (zh) 一种地铁线路运营场景回放的方法与装置
US11810335B2 (en) Metadata for embedded binary data in video containers
Lauer et al. Web technologies and standards for the delivery of recorded presentations
Ivetić et al. Augmented AVI video file for road surveying
KR20230089385A (ko) 다수 개의 영상을 활용한 강의 콘텐츠 제작 모듈 및 이를 포함하는 플랫폼, 이를 이용한 강의 콘텐츠 제작 방법
CN120711243A (zh) 视频通话的处理方法、装置、计算机设备及存储介质
US20090160862A1 (en) Method and Apparatus for Encoding/Decoding
Miletic et al. The structure of the Pyramidia e-learning tool-the programmer's point of view
KR20140147064A (ko) 스마트 러닝을 위한 멀티채널용 학습자원 제공 방법
EP1941509A1 (en) Method and apparatus for encoding/decoding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination