CN101635848B - 一种视频文件的编辑方法和装置 - Google Patents

一种视频文件的编辑方法和装置 Download PDF

Info

Publication number
CN101635848B
CN101635848B CN 200810116983 CN200810116983A CN101635848B CN 101635848 B CN101635848 B CN 101635848B CN 200810116983 CN200810116983 CN 200810116983 CN 200810116983 A CN200810116983 A CN 200810116983A CN 101635848 B CN101635848 B CN 101635848B
Authority
CN
China
Prior art keywords
sample
video
audio frequency
file
time
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
CN 200810116983
Other languages
English (en)
Other versions
CN101635848A (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.)
New Founder Holdings Development Co ltd
Peking University
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics 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 Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN 200810116983 priority Critical patent/CN101635848B/zh
Publication of CN101635848A publication Critical patent/CN101635848A/zh
Application granted granted Critical
Publication of CN101635848B publication Critical patent/CN101635848B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种视频文件的编辑方法,包括:对采集到的视频采样Sample和音频Sample分别进行缓存;根据缓存的视频Sample和音频Sample中的开始时间戳,对缓存的视频Sample和音频Sample进行同步;从中取出同步的视频Sample和音频Sample进行解码预览,同时配置文件头,生成片段文件,将同步的视频Sample和音频Sample连续写入所述片段文件;根据片段文件中的视频Sample是否为关键帧的信息,确定片段文件的切分点,向正在写入同步视频Sample和音频Sample的片段文件添加索引信息,生成完整的片段文件;本发明还提供了一种视频文件的编辑装置,基于该方法和装置,能在对视频片段文件进行实时编辑的同时生成最终用于发布的视频片段文件,缩短了发布的流程,提高了编辑效率。

Description

一种视频文件的编辑方法和装置
技术领域
本发明涉及流媒体编辑技术,特别是指一种WMV格式视频文件的编辑方法和装置。
背景技术
随着网络视频应用的快速发展,互联网用户对于网络视频的需求越来越大,许多网络视频服务的提供者开始使用视频与文字相结合的信息传播方案,来替代传统的以文字和图片为主的信息传播方案,一些电视台也开始采用网上直播和网上点播的视频解决方案,进而延伸到移动终端如手机,也开始给用户提供直播和点播的视频业务。
现有视频业务解决方案中,视频文件都需要经过视频编辑系统的处理,才能够进行发布。视频编辑系统中编辑和生成的视频文件的格式取决于整个视频解决方案采用的技术,目前主流的视频直播方案都是基于微软媒体服务(MediaService)框架的,所采用的文件格式主要是WMV格式,这种格式的视频文件在网络流媒体应用上有着较大优势。所谓WMV,是微软推出的一种流媒体格式,它是由ASF(Advanced Stream Format)格式升级延伸得到的。在视频质量相同的前提下,WMV格式文件的体积非常小,因此,这种格式的视频文件比较适合在网络上进行播放和传输。
一般,对文件进行视频编辑,需要先实现对文件内容的随机定位。WMV文件中用于对文件进行定位的是位于文件尾部的索引信息,没有索引信息就不能对文件进行随机定位,进而就不能对一个WMV文件中的某段文件进行视频的编辑操作,所以传统的WMV视频编辑系统是基于文件的,用户必须在一个WMV视频文件完全生成后,才能对其进行编辑操作。对于网络视频服务的提供者来讲,总希望自己的视频节目能在最短的时间内发布到网络上,特别是一些对实时性要求高的视频节目,如突发事件报道等,如果发布晚了,节目的时效性就会大大降低,从而导致节目价值的降低。
但是,采用传统的WMV视频编辑系统,网络视频服务提供者必须等到接收到完整的视频文件后,才能开始对文件进行编辑操作,编辑操作完成后,还要等待将编辑的结果输出,生成最终发布的视频文件。如此,编辑、生成最终发布的视频文件的效率很低;而且,对视频文件处理的整个周期也比较长,会严重影响到视频文件的时效性。
发明内容
有鉴于此,本发明的主要目的在于提供一种视频文件的编辑方法和装置,能在接收采集的视音频流的同时实时地对视频数据进行编辑操作,并快速生成最终用于发布的视频片段文件,提高了对视频文件编辑的效率,保证了视频文件的时效性。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种视频文件的编辑方法,该方法包括:
A、对采集到的视频采样Sample和音频Sample分别进行缓存;
B、根据缓存的视频Sample和音频Sample中的开始时间戳,对所述缓存的视频Sample和音频Sample进行同步;
C、从缓存中取出所述同步的视频Sample和音频Sample进行解码预览,同时配置文件头,生成片段文件,将所述同步的视频Sample和音频Sample连续写入所述片段文件;
D、根据所述片段文件中的视频Sample是否为关键帧的信息,确定所述片段文件的切分点,向所述正在写入同步视频Sample和音频Sample的片段文件添加索引信息,生成完整的片段文件。
步骤A之前,该方法还包括:
对视频数据和音频数据进行采集、压缩编码,并以视频Sample和音频Sample分别输出;
所述每个视频Sample中包含视频压缩编码数据及其采集时产生的开始时间戳、持续时间和是否为关键帧的信息,每个音频Sample包含音频压缩编码数据及对应的开始时间戳和持续时间。
步骤A所述一个视频Sample对应一个视频帧,所述每个视频Sample由采集到的视频数据、开始时间戳、持续时间和关键帧信息组成。
步骤B所述对缓存的视频Sample和音频Sample进行同步,具体包括:
a、记录第一个视频Sample进行缓存时的本地绝对时间TV1和采集该视频Sample时产生的开始时间戳tV1,以及第一个音频Sample的本地绝对时间TA1和开始时间戳tA1
b、选取所述TV1和TA1中的较大者为本地绝对基准时间Tbase,设置视频Sample和音频Sample进行缓存时的缓存延时为ρ,且第一个视频Sample和音频Sample的本地render绝对时间为Tbase+ρ,并根据所述Tbase、ρ、tV1和tA1得到每个视频Sample和音频Sample的本地render绝对时间Tn
c、轮询缓存的视频Sample和音频Sample,在Tn≥Tcurrent时,将所述缓存的视频Sample和音频Sample从缓存中取出,其中,Tcurrent表示轮询所述视频Sample或音频Sample的当前的本地绝对时间。
步骤D之后,该方法还包括:将所述各个完整的片段文件所对应的文件片断映射到流媒体处理开发包DES的时间线模型中的Source组件中,对片段文件进行编辑。
其中,所述对各个片段文件进行编辑之后,该方法还包括:对所述编辑后的片段文件进行发布。
本发明还提供了一种视频文件的编辑装置,该装置包括:
缓存模块,用于对采集到的视频Sample和音频Sample分别进行缓存;
同步模块,用于根据视频Sample和音频Sample中的开始时间戳对所述缓存模块中的视频Sample和音频Sample进行同步;
存储模块,用于从缓存模块中取出所述同步的视频Sample和音频Sample进行解码预览,同时配置文件头,生成片段文件,将所述同步的视频Sample和音频Sample连续写入所述片段文件;
切分模块,用于根据所述存储模块中片段文件的视频Sample是否为关键帧的信息,确定所述存储模块中片段文件的切分点,向所述正在写入同步视频Sample和音频Sample的片段文件添加索引信息,生成完整的片段文件。
其中,所述缓存模块进一步包括:
视频缓存子模块,用于缓存视频Sample;
音频缓存子模块,用于缓存音频Sample。
所述同步模块进一步包括:
信息记录子模块,用于记录第一个视频Sample进行缓存时的本地绝对时间TV1和采集该视频Sample时产生的开始时间戳tV1,以及第一个音频Sample的本地绝对时间TA1和开始时间戳tA1
时间获取子模块,用于选取所述信息记录子模块中记录的TV1和TA1中的较大者为本地绝对基准时间Tbase,设置视频Sample和音频Sample进行缓存时的缓存延时为ρ,且第一个视频Sample和音频Sample的本地render绝对时间为Tbase+ρ,并根据所述Tbase、ρ、和所述信息记录子模块中的tV1、TA1得到所述每个视频Sample和音频Sample的本地render绝对时间Tn
本发明提供的视频文件的编辑装置还包括:
采集模块,用于对视频数据和音频数据进行采集、压缩编码,并以视频Sample和音频Sample分别输出给所述缓存模块;
编辑模块,用于将所述生成模块中各个完整的片断文件所对应的片段文件,映射到DES的时间线模型中的Source组件中,对片段文件进行编辑;
发布模块,用于对所述编辑模块中编辑后的片段文件进行发布。
本发明视频编辑的方法和装置,采用基于关键帧的切分片段文件策略,可以保证写入新片段文件中的第一视频帧为关键帧,如此可以保证文件的正常播放;在切分后的片段文件中添加索引信息和文件头,可以保证实时地对片段文件进行编辑。
本发明将视音频的相对开始时间戳映射到本地绝对时间上,可以防止积累性的延时,并且,通过对缓存延时的设定,还可以精确的控制延时时间,提高预览效果。基于本发明的同步策略,能对视频数据和音频数据进行同步,保证了对WMV视频文件进行预览的良好效果;同时,还支持数据写入片段文件操作和切分片段文件的操作。
本发明通过同步策略和关键帧切分片段文件策略,可以使视音频数据同步,并且,对视频缓存和音频缓存进行快速轮询的策略,可以尽快地将同步的视频Sample和音频Sample从缓存中取出,进而快速地写入片段文件中,如此,可以防止由于网络抖动造成视音频数据在写入片段文件时不均匀的情况。
基于本发明的方法和装置,可以实时地对接收到的视频文件进行编辑,因为在编辑的同时使用了一个后台线程将编辑好的片段文件实时地写入发布文件中,所以,在编辑其他片段文件的同时,可以连续、快速地将已编辑好的片段文件生成最终发布的视频片段文件,如此,能提高视频文件的编辑和发布速度,保证实时视频文件的时效性。
附图说明
图1为本发明视频文件编辑方法的流程示意图;
图2所示为本发明缓存中的视频和音频的数据存储格式;
图3所示为本发明中片段文件在DES时间线模型中的映射关系;
图4所示为本发明视频文件编辑装置的结构关系示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
本发明中,先将采集到的视频数据和音频数据按Sample分割,封装为视频流和音频流,经过网络传输给编辑端设备,由编辑端的视频缓存和音频缓存分别来存储视频Sample和音频Sample;之后,由于经过网络传输可能出现视频Sample和音频Sample的异步,所以需要对两个缓存中的视频Sample和音频Sample进行同步;然后,将同步的视频数据和音频数据进行解码预览,并将预览部分所对应的缓存中的数据写入片段文件中;最后,根据需要结合同步和切分片段文件策略,找到合适的切分点,向正在写入数据的片段文件添加索引信息,以生成完整的用于实时编辑的片段文件;并通过配置、添加文件头生成新的片段文件,将同步后的数据写入新的片段文件中。
本发明视频文件编辑方法的流程如图1所示,包括以下步骤:
步骤101,对视频数据和音频数据进行采集、压缩编码后,分别以视频Sample和音频Sample输出。
本发明中,由采集服务器来完成视频数据和音频数据的采集,在采集服务器中部署的采集硬件和相关采集程序对视频数据和音频数据进行采集,采集后由编码模块对数据进行压缩编码,然后,按采样Sample对采集到的数据进行分割,并打包成视频数据流和音频数据流,通过局域网或广域网分别输出给编辑端的视频缓存和音频缓存。
这里,一个Sample就是一个数据结构,一个视频Sample对应一个视频帧,一个视频Sample由采集到的视频数据、开始时间戳、持续时间和关键帧信息四个数据成员组成。其中,开始时间戳为采集该视频Sample的时刻;持续时间为开始采集该视频Sample到开始采集下一个视频Sample的时间间隔,可以称为视频的Sample间隔,一般视频的Sample间隔是固定不变的,如果视频的帧率为1s内25帧,那么其Sample间隔的间隔为40ms;通过关键帧信息可以判断出该视频帧是否为关键帧,只有当某段视频文件的第一帧是关键帧时,该视频文件才能正常播放,视频关键帧出现的频率由采集后的编码模块决定,采集视频Sample时由采集程序决定该视频帧是关键帧或非关键帧。
需要指出的是,对于音频来说,音频的Sample间隔不是固定的,一般情况下,1s内可以采集5个左右的音频数据包,一个数据包被封装在一个Sample中,一个数据包的持续时间在100ms到200ms之间。
步骤102,对采集到的视频Sample和音频Sample分别进行缓存。
将来自采集服务器的视频流和音频流分别在视频缓存中和音频缓存中进行缓存,在这两个缓存中,可采用链表节点的数据结构对视频Sample和音频Sample分别进行存储。采集服务器将采集到的视频数据和音频数据按Sample进行分割,一般采用链表节点的存储方式比较适合这种数据结构。图2所示为本发明缓存中的视频Sample和音频Sample的数据存储格式,其中201表示一个节点,202表示一个节点中的视频Sample或音频Sample,203表示指向下一个节点的指针。
需要指出的是,为了避免到达缓存中的数据倒序或者丢失,可以通过传输协议,如FTP等,保证从采集服务器传输到缓存的数据的可靠性,如此,每个视频Sample或音频Sample会按照采集时的开始时间戳顺序分别进入两个缓存中,在以后的处理过程中就不必再对缓存中的数据进行排序或修复。
步骤103~步骤104,根据缓存的视频Sample和音频Sample中的开始时间戳对缓存的视频Sample和音频Sample进行同步;将同步后的视频Sample和音频Sample分别从各自的缓存中取出,进行解码预览,同时配置文件头,生成片段文件,并且将同步的视频Sample和音频Sample写入片段文件。
采集服务器将采集到的视频数据和音频数据分别进行传输,那么视频数据和音频数据的网络传输链路就不同,如此,由于视频和音频数据在网络中的传输速度不同,会导致开始时间戳相同,即本来同步的视频Sample和音频Sample到达缓存的本地绝对时间不同,这样就造成两者失去同步。为了以后的处理过程顺利进行,必须对失去同步的视频Sample和音频Sample进行同步操作。
较佳地,可以采用以下的策略:
1、记录第一个视频Sample进入视频缓存中进行缓存时的本地绝对时间TV1和采集该视频Sample时产生的开始时间戳tV1,以及第一个音频Sample进入音频缓存中进行缓存时的本地绝对时间TA1和开始时间戳tA1
2、选取TV1和TA1中的较大者为本地绝对基准时间Tbase,即Tbase=max(TV1,TA1),设置视频Sample和音频Sample进行缓存时的缓存延时为ρ,且第一个视频Sample和音频Sample的本地执行(render)绝对时间为Tbase+ρ,本地render绝对时间为当前的视频Sample或音频Sample解码预览和写入片段文件的时间。
根据下面的公式得到每个视频Sample和音频Sample的本地render绝对时间为:
T n = T base + ρ + ( t Vn - t V 1 ) vedio Sample T base + ρ + ( t An - t A 1 ) audio Sample
其中,Tn表示第n个视频Sample和音频Sample的本地render绝对时间,tVn表示第n个视频Sample的开始时间戳,tAn表示第n个音频Sample的开始时间戳,n为正整数。
3、轮询视频缓存和音频缓存中的视频Sample和音频Sample,在Tn≥Tcurrent时,Tcurrent表示轮询某个视频Sample或音频Sample的当前的本地绝对时间,将视频Sample的Tn和音频Sample的Tn相等或近似相等(如,两者至之差远远小于Sample的间隔)的缓冲缓存中的视频Sample和音频Sample从缓冲缓存中取出,如此便可得到同步的视频Sample和音频Sample。这里,所说近似相等是指视频Sample的Tn和音频Sample的Tn两者之差远远小于Sample间隔。
其中,轮询的间隔应小于视频和音频Sample间隔的最小值,一般情况下,视频的Sample间隔小于音频的Sample间隔,如步骤101中所述,视频的Sample间隔一般为40ms,而音频的Sample间隔在100ms到200ms之间,所以轮询的间隔只要小于视频的Sample间隔即可。
需要指出的是,轮询的时间间隔决定了同步的精度,轮询的时间间隔越小同步的精度越高,所以在设置轮询的时间间隔时除了要小于视频的Sample间隔外,越小越好。在当前轮询的视频Sample和音频Sample写入片段文件后,在下一个轮询时刻到来时,再对缓存中的视频Sample和音频Sample进行轮询,因为轮询的间隔很小,所以在保证同步精度的同时,也保证了缓存中的数据不会溢出。
在得到同步的视频Sample和音频Sample后,对得到的视频Sample和音频Sample进行解压并预览,如此可以直观地判断需要编辑的某段视频文件;同时,需要配置文件头,生成片段文件,然后将所预览的没有解压的同步的视频Sample和音频Sample连续写入片段文件中。片段文件可以由一个磁盘产生,首先需要配置文件头,然后就生成了一个不完整的片段文件,因为该片段文件中不含有索引信息,因此不能对该片段文件进行编辑。其中,对于配置片段文件的文件头,可以通过配置Profile生成片段文件的文件头,将其添加进片段文件中,具体如何处理为现有技术,此处不再赘述。
步骤105,根据片段文件中的视频Sample是否为关键帧的信息,确定片段文件的切分点,向正在写入同步视频Sample和音频Sample的片段文件添加索引信息,生成完整的片段文件。
通过步骤104中的解码预览,可以直观的看到当前接收到的视频文件,如此可以确定需要编辑的片段文件,然后,需要确定该片段文件的切分点。具体的确定片段文件的切分点的方法如下:假设一个完整的WMV文件的时长为10分钟,如果通过预览看到,当前接收的文件已经到了本地时间第5分钟的内容,根据编辑需要,确定要对第0分钟到5分钟的片段文件进行编辑,那么需要找到本地时间第4分60秒所对应的视频帧,并通过该视频Sample中的关键帧信息判断出该帧是否为关键帧,如果是关键帧,那么将该关键帧对应的视频Sample切分到下一个片段文件中,该关键帧的上一个视频帧切分到当前的片段文件中,假设该视频帧对应的本地时间为第4分59秒,那么当前的片段文件中包含的数据为第0分0秒到第4分59秒的视频数据和与该段视频数据同步的音频数据;如果不是关键帧,那么找到距离该视频帧最近的关键帧,将该关键帧切分到下一个片段文件中,将该关键帧的上一个视频帧切分到当前的片段文件中。如此,找到片段文件的切分点后,对该片段文件添加索引信息,这样就生成了一个完整的片段文件,可以对其进行实时的编辑。其中对于添加索引信息,较佳地,可以通过使用流媒体处理开发包Windows Mdeia Format SDK提供的接口进行添加索引信息的操作,此为已有技术,这里不再详述。
当第一个完整的片段文件生成后,返回执行步骤104~105,磁盘重新配置文件头,生成新的片段文件,再将同步的视频Sample和音频Sample连续地写入片段文件中,然后再根据需要找到下一段需要编辑的片段文件的切分点,再添加索引信息,生成完整的片段文件,如此反复几次,直到需要编辑的该完整的视频文件传输完毕。如此,最后可生成几段完整的视频片段文件,如:一个完整的WMV文件的时长为10分钟,如果在第3分钟,第5分钟和第10分钟进行切分的话,那么最终可以产生三个片段文件,即0-3分钟,4-5分钟和6-10分钟的片段文件。
需要指出的是,在对写入片段文件的数据进行切分时,由于音频Sample的Sample间隔和视频Sample的Sample间隔不同,所以,会出现某一个音频Sample的持续时间比该音频Sample所对应的视频帧的持续时间长的情况,如果该视频帧是某一切分好的片段文件的最后一帧,则在这种情况下,将该视频帧对应的音频Sample切分到下一个片段文件中。
步骤106,将各个完整的片段文件映射到流媒体处理开发包DirectShowEditing Services(DES)的时间线模型中的Source组件中,对片段文件进行编辑。
对于已经生成的若干完整的片段文件,可以使用流媒体处理开发包DES提供的框架来实现对其进行编辑操作的回放支持。DES提供了一个时间线的模型来支持对视音频的编辑操作,将片段文件映射到DES的时间线模型中的Source组件中,具体如何将片段文件映射到DES的时间线模型中的Source组件中为现有技术,此处不再赘述。
图3所示为本发明中片段文件在DES时间线模型中的映射关系,其中,DES时间线模型包括:DES时间线模型(Composition)301,抽象轨道(Track)302,资源组件(Source)303;所有片段文件被映射到同一个Track 302下的多个Source组件303中,通过其他的Track 302,可以在编辑片段文件时加入logo、字幕或者其他视频、音频等,以获得叠加效果。对已生成的片段文件进行拆分、合并、移位、掐头去尾、增加标志(logo)、字幕等视频编辑操作,都是通过建立DES时间线模型,并使用其相关接口来实现的。
步骤107,对编辑后的片段文件进行发布。
为了更大的提高效率,可以使用一个后台线程对已经编辑好的部分提前写入最终用于发布的片段文件,而不必等着所有的片段文件都编辑好后再生成最终用于发布的片段文件,该步骤的实施通过现有技术便可实现,在此不再赘述。
为实现上述方法,本发明还提供了一种视频文件编辑装置,如图4所示,该视频文件编辑装置包括:采集模块10、缓存模块20、同步模块30、存储模块40、生成模块50、编辑模块60和发布模块70;其中,
采集模块10,用于对视频数据和音频数据进行采集,并进行压缩编码,最终以视频Sample和音频Sample分别输出;采集模块10可采用采集服务器。
缓存模块20,用于对来自采集模块20的视频Sample和音频Sample分别进行缓存。
缓存模块20进一步包括:视频缓存子模块21和音频缓存子模块22,其中,视频缓存子模块21,用于缓存视频Sample;音频缓存子模块22,用于缓存音频Sample。
同步模块30,用于根据视频Sample和音频Sample中的开始时间戳,对缓存模块20中的视频Sample和音频Sample进行同步。
同步模块30进一步包括信息记录子模块31、时间获取子模块32和数据触发子模块33,其中,
信息记录子模块31,用于记录第一个视频Sample进行缓存时的本地绝对时间TV1和采集该视频Sample时产生的开始时间戳tV1,以及第一个音频Sample的本地绝对时间TA1和开始时间戳tA1
时间获取子模块32,用于选取信息记录子模块31中记录的TV1和TA1中的较大者为本地绝对基准时间Tbase,设置视频Sample和音频Sample进行缓存时的缓存延时为ρ,且第一个视频Sample和音频Sample的本地render绝对时间为Tbase+ρ,并根据下式得到所述每个视频Sample和音频Sample的本地render绝对时间为:
T n = T base + ρ + ( t Vn - t V 1 ) vedio Sample T base + ρ + ( t An - t A 1 ) audio Sample ;
数据触发子模块33,用于轮询缓存模块20中的视频Sample和音频Sample,在Tn≥Tcurrent时,将视频Sample和音频Sample从缓存模块20中取出,其中Tcurrent表示轮询所述视频Sample或音频Sample的当前的本地绝对时间。
存储模块40,用于将从缓存模块20中取出的经过同步模块30同步的视频Sample和音频Sample进行解码预览,同时配置文件头,生成片段文件,将同步的视频Sample和音频Sample连续写入片段文件。
切分模块50,用于根据所述存储模块40中片段文件的视频Sample是否为关键帧的信息,确定存储模块40中所述片段文件的切分点,向所述正在写入同步视频Sample和音频Sample的片段文件添加索引信息,生成完整的片段文件。
当切分模块50生成一个完整的片段文件后,再进行存储模块40的操作,确定下一个需要片剂的片段文件,然后配置文件头生成新的片段文件,将同步的视频Sample和音频Sample连续写入片段文件;之后,再执行切分模块50的操作,确定该片段文件的切分点,然后添加索引信息,生成新的完整的片段文件,直到处理完整个视频文件。
编辑模块60,用于将切分模块50中各个完整的片段文件映射到流媒体处理开发包DirectShow Editing Services(DES)的时间线模型中的Source组件中,对片段文件进行编辑。
发布模块70,用于对编辑模块60中编辑后的片段文件进行发布。
其中,采集模块10、视频缓存子模块21、音频缓存子模块22、信息记录子模块31、时间获取子模块32、数据触发子模块33、编辑模块60和发布模块70是可选的。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (7)

1.一种视频文件的编辑方法,其特征在于,该方法包括:
对视频数据和音频数据进行采集、压缩编码,然后按照数据结构Sample分别对压缩编码后的视频数据和音频数据进行分割,以输出视频Sample和音频Sample,每个视频Sample对应一个视频帧,所述每个视频Sample中包含视频压缩编码数据及其采集时产生的开始时间戳、持续时间和该视频Sample所对应的视频帧是否为关键帧的信息,每个音频Sample包含音频压缩编码数据及对应的开始时间戳和持续时间,其中,开始时间戳为开始采集当前Sample的时刻,持续时间为开始采集当前SamPle到开始采集下一个Sample的时间间隔;
A、对采集到的视频Sample和音频Sample分别进行缓存;
B、根据缓存的视频Sample和音频Sample中的开始时间戳,对所述缓存的视频Sample和音频Sample进行同步;
C、从缓存中取出所述同步的视频Sample和音频Sample进行解码预览,同时配置文件头,生成片段文件,将所述同步的视频Sample和音频Sample连续写入所述片段文件;
D、根据所述片段文件中的视频Sample是否为关键帧的信息,确定所述片段文件的切分点,向所述正在写入同步视频Sample和音频Sample的片段文件添加索引信息,生成完整的片段文件;
将各个完整的片段文件映射到流媒体处理开发包DES的时问线模型中的Source组件中,对片段文件进行编辑。
2.根据权利要求1所述视频文件的编辑方法,其特征在于,步骤B所述对缓存的视频Sample和音频Sample进行同步,具体包括:
a、记录第一个视频Sample进行缓存时的本地绝对时间TV1和采集该视频Sample时产生的开始时间戳tV1,以及第一个音频Sample进行缓存时的本地绝对时间TA1和开始时间戳tA1
b、选取所述TV1和TA1中的较大者为本地绝对基准时间Tbase,设置视频Sample和音频Sample进行缓存时的缓存延时为ρ,且设置第一个视频Sample和音频Sample的本地render绝对时间为Tbase+ρ,并根据所述Tbase、ρ、tV1和tA1得到每个视频Sample和音频Sample的本地render绝对时间Tn,其中,本地render绝对时间为当前的视频Sample或者音频Sample解码预览和写入片段文件的时间,根据下面的公式得到每个视频Sample和音频Sample的本地render绝对时间:
Figure FSB00001060324000021
其中,Tn表示第n个视频Sample和音频Sample的本地render绝对时间,tVn表示第n个视频Sample的开始时间戳,tAn表示第n个音频Sample的开始时间戳,n为正整数;
c、轮询缓存的视频Sample和音频Sample,在Tn≥Tcurrent时,将所述缓存的视频Sample和音频Sample从缓存中取出,其中,Tcurrent表示轮询所述视频Sample或音频Sample的当前的本地绝对时间。
3.根据权利要求1所述视频文件的编辑方法,其特征在于,所述对各个片段文件进行编辑之后,该方法还包括:对所述编辑后的片段文件进行发布。
4.一种视频文件的编辑装置,其特征在于,该装置包括:
采集编码输出模块,用于对视频数据和音频数据进行采集、压缩编码,然后按照数据结构Sample分别对压缩编码后的视频数据和音频数据进行分割,以输出视频Sample和音频Sample,每个视频Sample对应一个视频帧,所述每个视频Sample中包含视频压缩编码数据及其采集时产生的开始时间戳、持续时间和该视频Sample所对应的视频帧是否为关键帧的信息,每个音频Sample包含音频压缩编码数据及对应的开始时间戳和持续时间,其中,开始时间戳为开始采集当前Sample的时刻,持续时间为开始采集当前SamPle到开始采集下一个Sample的时间间隔;
缓存模块,用于对采集到的视频Sample和音频Sample分别进行缓存;
同步模块,用于根据视频Sample和音频Sample中的开始时间戳对所述缓存模块中的视频Sample和音频Sample进行同步;
存储模块,用于从缓存模块中取出所述同步的视频Sample和音频Sample进行解码预览,同时配置文件头,生成片段文件,将所述同步的视频Sample和音频Sample连续写入所述片段文件;
切分模块,用于根据所述存储模块中片段文件的视频Sample是否为关键帧的信息,确定所述存储模块中片段文件的切分点,向所述正在写入同步视频Sample和音频Sample的片段文件添加索引信息,生成完整的片段文件;
编辑模块,用于将所述生成模块中各个完整的片段文件映射到流媒体处理开发包DES的时问线模型中的Source组件中,对片段文件进行编辑。
5.根据权利要求4所述视频文件的编辑装置,其特征在于,所述缓存模块进一步包括:
视频缓存子模块,用于缓存视频Sample;
音频缓存子模块,用于缓存音频Sample。
6.根据权利要求4所述视频文件的编辑装置,其特征在于,所述同步模块进一步包括:
信息记录子模块,用于记录第一个视频Sample进行缓存时的本地绝对时间TV1和采集该视频Sample时产生的开始时间戳tV1,以及第一个音频Sample进行缓存时的本地绝对时间TA1和开始时间戳tA1
时间获取子模块,用于选取所述信息记录子模块中记录的TV1和TA1中的较大者为本地绝对基准时间Tbase,设置视频Sample和音频Sample进行缓存时的缓存延时为ρ,且设置第一个视频Sample和音频Sample的本地render绝对时间为Tbase+ρ,并根据所述Tbase、ρ、和所述信息记录子模块中的tV1、tA1得到所述每个视频Sample和音频Sample的本地render绝对时间Tn,其中,本地render绝对时间为当前的视频Sample或者音频Sample解码预览和写入片段文件的时间,根据下面的公式得到每个视频Sample和音频Sample的本地render绝对时间:
Figure FSB00001060324000041
其中,Tn表示第n个视频Sample和音频Sample的本地render绝对时间,tVn表示第n个视频Sample的开始时间戳,tAn表示第n个音频Sample的开始时间戳,n为正整数。
7.根据权利要求5至6中任意一项所述视频文件的编辑装置,其特征在于,该装置还包括:
发布模块,用于对所述编辑模块中编辑后的片段文件进行发布。
CN 200810116983 2008-07-22 2008-07-22 一种视频文件的编辑方法和装置 Expired - Fee Related CN101635848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810116983 CN101635848B (zh) 2008-07-22 2008-07-22 一种视频文件的编辑方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810116983 CN101635848B (zh) 2008-07-22 2008-07-22 一种视频文件的编辑方法和装置

Publications (2)

Publication Number Publication Date
CN101635848A CN101635848A (zh) 2010-01-27
CN101635848B true CN101635848B (zh) 2013-08-07

Family

ID=41594878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810116983 Expired - Fee Related CN101635848B (zh) 2008-07-22 2008-07-22 一种视频文件的编辑方法和装置

Country Status (1)

Country Link
CN (1) CN101635848B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102196319A (zh) * 2010-03-17 2011-09-21 中兴通讯股份有限公司 一种流媒体直播业务系统及实现方法
CN102340705B (zh) * 2010-07-19 2014-04-30 中兴通讯股份有限公司 一种获取关键帧的系统及方法
CN102625050B (zh) * 2011-01-26 2014-04-16 天脉聚源(北京)传媒科技有限公司 一种电视新闻编辑方法和系统
CN102857747B (zh) * 2011-06-27 2015-02-25 北大方正集团有限公司 局部重编码方法和装置
CN102955809A (zh) * 2011-08-26 2013-03-06 吴志刚 媒体文件编辑和播放的方法和系统
CN103369355A (zh) * 2012-04-10 2013-10-23 华为技术有限公司 一种在线媒体数据转换的方法、播放视频方法及相应装置
CN102984600B (zh) * 2012-12-12 2015-03-11 成都索贝数码科技股份有限公司 一种基于互联网http协议的非线性编辑软件按时间分片访问文件的方法
CN103247317B (zh) * 2013-04-03 2015-11-25 深圳大学 一种录制文件的剪辑方法及系统
CN103237203B (zh) * 2013-04-09 2016-03-02 广东欧珀移动通信有限公司 一种基于移动终端的音视频同步方法及系统
CN103442259B (zh) * 2013-08-21 2017-02-22 杭州浦禾通信技术有限公司 媒体数据的重组方法和装置
US9729784B2 (en) * 2014-05-21 2017-08-08 Google Technology Holdings LLC Enhanced image capture
US9571727B2 (en) 2014-05-21 2017-02-14 Google Technology Holdings LLC Enhanced image capture
CN107690073B (zh) * 2016-08-05 2021-07-16 阿里巴巴集团控股有限公司 一种视频直播方法及视频直播服务器
CN106488265A (zh) * 2016-10-12 2017-03-08 广州酷狗计算机科技有限公司 一种发送媒体流的方法和装置
CN106488262A (zh) * 2016-10-21 2017-03-08 安徽协创物联网技术有限公司 一种视频直播流转码系统
CN106604064A (zh) * 2016-12-30 2017-04-26 北京奇艺世纪科技有限公司 一种快速开播方法及装置
CN106791994B (zh) * 2016-12-30 2020-11-24 北京奇艺世纪科技有限公司 一种低延时快速开播方法及装置
CN107277563B (zh) * 2017-05-12 2020-11-06 成都理想智美科技有限公司 一种生成和播放视频文件的方法、服务器及终端
CN108540732B (zh) * 2018-05-07 2020-09-04 广州酷狗计算机科技有限公司 合成视频的方法和装置
CN109348247B (zh) * 2018-11-23 2021-03-30 广州酷狗计算机科技有限公司 确定音视频播放时间戳的方法、装置及存储介质
CN111263211B (zh) * 2018-12-03 2022-02-08 深圳市炜博科技有限公司 一种缓存视频数据的方法及终端设备
CN111444457B (zh) * 2020-03-30 2023-07-07 北京字节跳动网络技术有限公司 数据发布方法、装置、存储介质及电子设备
CN112804548B (zh) * 2021-01-08 2023-06-09 武汉球之道科技有限公司 一种赛事视频在线剪辑系统
CN113747199A (zh) * 2021-08-23 2021-12-03 北京达佳互联信息技术有限公司 视频编辑方法、装置、电子设备、存储介质及程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1668097A (zh) * 2005-04-07 2005-09-14 北京北大方正电子有限公司 一种视频文件快速生成的方法
CN101193251A (zh) * 2006-11-22 2008-06-04 上海乐金广电电子有限公司 记录多媒体文件的计算机可读记录媒体及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1668097A (zh) * 2005-04-07 2005-09-14 北京北大方正电子有限公司 一种视频文件快速生成的方法
CN101193251A (zh) * 2006-11-22 2008-06-04 上海乐金广电电子有限公司 记录多媒体文件的计算机可读记录媒体及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2008-71048A 2008.03.27

Also Published As

Publication number Publication date
CN101635848A (zh) 2010-01-27

Similar Documents

Publication Publication Date Title
CN101635848B (zh) 一种视频文件的编辑方法和装置
KR101704619B1 (ko) 네트워크 스트리밍에 대한 가변 미디어 데이터 결정
CN100591112C (zh) 一种多媒体数据的存储方法及精确定位回放位置的方法
EP1968066A1 (en) Media generation system
TW200908652A (en) Apparatus and method for storing and reading a file having a media data container and a metadata container
JP2003114845A (ja) メディア変換方法およびメディア変換装置
CN103546662A (zh) 一种网络监控系统中音视频同步方法
CN101202613B (zh) 一种用于时钟同步的终端
CN103888813A (zh) 一种音视频同步的实现方法及系统
WO2011113315A1 (zh) 一种流媒体直播业务系统及实现方法
CN101098470A (zh) 一种基于p2p技术的流媒体节目播放/接收方法及装置
CN108111872B (zh) 一种音频直播系统
CN105429984A (zh) 媒体播放方法、设备及音乐教学系统
CN105516090A (zh) 媒体播放方法、设备及音乐教学系统
CN111541859A (zh) 视频会议处理方法、装置、电子设备及存储介质
EP2429136A1 (en) Method and apparatus for carrying transport stream
CN104869341A (zh) 一种实现庭审文本与庭审音像同步回放的方法及系统
CN103152605B (zh) 一种音频数据转码的方法、装置及转码服务器
CN109040818A (zh) 直播时的音视频同步方法、存储介质、电子设备及系统
CN109802992B (zh) 一种资源变化日志读写的方法和装置
JP4457349B2 (ja) Mpegコンテンツの同期再生方法、クライアント端末、mpegコンテンツの同期再生プログラム
CN102833524B (zh) 一种对本地音频及呼叫方音频同时录像的控制方法
EP3096525A1 (en) Communication apparatus, communication data generation method, and communication data processing method
CN104023245A (zh) 一种基于b/s架构的视频直播流快编收录系统及实现方法
CN105451073B (zh) Mp4视频源的传送方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220621

Address after: 3007, Hengqin international financial center building, No. 58, Huajin street, Hengqin new area, Zhuhai, Guangdong 519031

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: Peking University

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: Peking University

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

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

Granted publication date: 20130807

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