CN113038244A - 视频数据录制方法及装置 - Google Patents
视频数据录制方法及装置 Download PDFInfo
- Publication number
- CN113038244A CN113038244A CN201911252283.8A CN201911252283A CN113038244A CN 113038244 A CN113038244 A CN 113038244A CN 201911252283 A CN201911252283 A CN 201911252283A CN 113038244 A CN113038244 A CN 113038244A
- Authority
- CN
- China
- Prior art keywords
- data
- series
- video data
- cache
- timer
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4335—Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本申请公开了视频数据录制方法及装置,用以实现自动检测并跳过电视剧的片头、片尾,节省录制电视剧所需的存储空间。本申请实施例提供的一种视频数据录制方法,包括:通过对比同一连续剧的至少两集的视频数据,确定所述连续剧的不同剧集中的重复视频数据;录制所述连续剧,其中跳过所述重复视频数据。
Description
技术领域
本申请涉及电学技术领域,尤其涉及视频数据录制方法及装置。
背景技术
在数字电视系统的数字视频广播(Digital Video Broadcasting,DVB)中,数字视频记录(Digital Video Recorder,DVR)功能能够让用户不仅可以实时录制正在观看的节目,也可以通过预约设置后,机顶盒会自动录制连续剧的节目,这样当用户在空暇时间可以自由回看精彩节目。
随着网络的不断发展,用户对观看的连续剧是否是高清节目的要求也是越来越高,从普通的720P到1080P乃至4K节目也是不断的涌现,由于不同的连续剧具有不同的码率,高码率的节目相比低码率的节目,录制下来更占用硬盘空间。最重要的是,连续剧的特点是所有节目的片头曲,片尾曲都是重复一样的。一集连续剧平均片头片尾曲总共占用时长大约8分钟左右,如果能够在录制时去掉每一集重复的片头和片尾曲,那么连续剧的集数越多,会更节省硬盘空间,同时也会提高用户体验,用户也不会频繁快进快退找到节目的正式开始时间了。
针对此问题,在现有技术中,大多数都是针对网络点播回看节目,这些节目大多都提前制作并定位好片头和片尾曲的时间点,用户只需一键就可以自动跳过片头片尾,还有一些是让用户主动记录需要跳过的时间点,下一次播放的时候,会读取用户设置的时间点,直接跳转到指定时间点去播放,由于不同的连续剧,片头片尾曲的时间各不相同,就需要用户一个个的去设置,影响了用户体验,并且这种方式并没有节省存储空间。
发明内容
本申请实施例提供了视频数据录制方法及装置,用以实现自动检测并跳过电视剧的片头、片尾,节省录制电视剧所需的存储空间。
本申请实施例提供的一种视频数据录制方法,包括:
通过对比同一连续剧的至少两集的视频数据,确定所述连续剧的不同剧集中的重复视频数据;所述重复视频数据包括所述连续剧的片头曲和/或片尾曲;
录制所述连续剧,其中跳过所述重复视频数据;
其中,录制所述连续剧,具体包括:
当开始录制连续剧的第三集及其后续的每一集连续剧时,启动用于跳过录制片头曲的第一定时器,和/或用于跳过录制片尾曲的第二定时器;
根据所述第一定时器和/或所述第二定时器的定时时长,进行所述连续剧的视频数据录制。
通过该方法,通过对比同一连续剧的至少两集的视频数据,确定所述连续剧的不同剧集中的重复视频数据;录制所述连续剧,其中跳过所述重复视频数据,从而实现自动检测并跳过电视剧的片头、片尾等重复视频数据,节省录制电视剧所需的存储空间。
可选地,所述第一定时器的定时时长是第一时长,所述第二定时器的定时时长是第二时长;其中,通过比较所述连续剧的第二集与所述连续剧的第一集的视频数据,确定所述第一时长和/或所述第二时长。
可选地,所述第一时长具体是通过如下方式确定的:
提取所述连续剧的第一集的前预设时长内的I帧数据生成头文件;
当开始录制所述连续剧的第二集的视频数据时,启动计时器;
将所述连续剧的第二集的视频数据的I帧数据与所述头文件中的I帧数据进行比较,当存在不同时,停止所述计时器,并将所述计时器的计时值确定为所述第一时长。
可选地,提取所述连续剧的第一集的前预设时长内的I帧数据生成头文件,具体包括:
将所述连续剧的第一集的视频数据解复用后保存到第一缓存;
从所述第一缓存中读取数据并进行过滤后保存到第二缓存;
从所述第二缓存中读取前预设时长的I帧数据生成头文件并存储到硬盘上。
可选地,将所述连续剧的第二集的视频数据的I帧数据与所述头文件中的I帧数据进行比较,具体包括:
将所述连续剧的第二集的视频数据解复用后保存到所述第一缓存;
从所述第一缓存中读取数据并进行过滤后保存到所述第二缓存;
将所述第二缓存中的I帧数据保存到第三缓存;
将所述第三缓存中的I帧数据与所述头文件中的I帧数据进行比较。
可选地,所述第二时长具体是通过如下方式确定的:
提取所述连续剧的第一集的后预设时长内的I帧数据生成尾文件;
当开始录制所述连续剧的第二集的视频数据时,启动计时器;
将所述连续剧的第二集的视频数据的I帧数据与所述尾文件中的I帧数据进行比较,当存在相同时,停止所述计时器,并将所述计时器的计时值确定为所述第二时长。
可选地,提取所述连续剧的第一集的后预设时长内的I帧数据生成尾文件,具体包括:
当开始录制所述连续剧的第一集时,启动定时器,当到达所述连续剧的第一集的倒数预设时长时,将所述连续剧的第一集倒数预设时长内的视频数据解复用后保存到第一缓存;
从所述第一缓存中读取数据并进行过滤后保存到第二缓存;
从所述第二缓存中读取I帧数据生成尾文件并存储到硬盘上。
可选地,将所述连续剧的第二集的视频数据的I帧数据与所述尾文件中的I帧数据进行比较,具体包括:
将所述连续剧的第二集的视频数据解复用后保存到所述第一缓存;
从所述第一缓存中读取数据并进行过滤后保存到所述第二缓存;
将所述第二缓存中的I帧数据保存到第三缓存;
将所述第三缓存中的I帧数据与所述尾文件中的I帧数据进行比较。
本申请另一实施例提供了一种视频录制装置,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。
本申请另一实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种视频录制方法的流程示意图;
图2为本申请实施例提供的根据节目视频Pid:X从Buffer中过滤出所有视频数据并保存到Buffer1中的示意图;
图3为本申请实施例提供的读取Head.bin到内存中的示意图;
图4为本申请实施例提供的指针链表示意图;
图5为本申请实施例提供的另一种视频录制方法的流程示意图;
图6为本申请实施例提供的根据节目视频Pid:X从Buffer中过滤出所有视频数据并保存到Buffer1中的示意图;
图7为本申请实施例提供的读取Tail.bin到内存中的示意图;
图8为本申请实施例提供的指针链表示意图;
图9为本申请实施例提供的一种视频数据录制方法的流程示意图;
图10为本申请实施例提供的一种视频数据录制装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了视频数据录制方法及装置,用以实现自动检测并跳过电视剧的片头、片尾,节省录制电视剧所需的存储空间。
其中,方法和装置是基于同一申请构思的,由于方法和装置解决问题的原理相似,因此装置和方法的实施可以相互参见,重复之处不再赘述。
下面结合说明书附图对本申请各个实施例进行详细描述。需要说明的是,本申请实施例的展示顺序仅代表实施例的先后顺序,并不代表实施例所提供的技术方案的优劣。
针对目前的DVB的连续剧录制问题,本申请实施例提出来一种针对连续剧节目的智能跳过片头片尾曲的方法和装置。
一、本申请实施例提供的定位片头曲结束位置的基本方案:
参见图1,本申请实施例提供的一种视频录制方法包括如下步骤:
1.启动录制连续剧的第一集,同时启动用于定位片头曲的定时器,开始计时。
2.启动高频头(Tuner)解调出传输流(Transport Stream,TS流)。
3.然后把TS流通过分解复用(例如采用软Demux,即分离一个文件中的视频部分或是音频部分)后把节目数据送到缓冲区Buffer中。并同时把Buffer中的数据保存到硬盘里。
4.如图2所示,机顶盒通过读取Buffer中的数据(从D0到Dn),根据节目视频包标识符(Packet Identifier,Pid)X(X代表节目视频数据的具体数值,比如1234等)过滤出所有视频数据并保存到Buffer1中。
其中,关于D0、D1……Dn,在数字电视中,所有视频、音频、文字、图片等经数字化处理后都变成了数据,并按照MPEG-2的标准打包,形成固定长度(188个字节)的传送包,然后将这些数据包进行复用,形成传送码流(TS),Buffer中的D0、D1……Dn等就是指这每一个188字节的传送包。Demux就是根据设定的Pid的X值来过滤所有188字节中视频数据等于X的所有包,这就是过滤的意思,Buffer1中没有D2和D5,是因为其Pid不等于X,说明不属于视频数据,可能是音频数据,或者图片等其他数据。
5.顺序读取Buffer1中的视频数据,拆包获得I帧(关键帧)数据,读取完毕后就在该I帧的结尾加上回车标志符(/n),表示一幅视频画面的结束,后续会在比较的时候判断是否有这个标志符,有的话就说明当前的这一幅画面比较结束了。
6.保存录制的节目前10分钟的所有的I帧的数据信息生成头文件(该文件包括了片头曲中的视频数据),并存储在硬盘上,文件名字例如记为:Head.bin。
7.关闭步骤1中启动的定时器。
8.如图3所示,启动录制连续剧的第二集时,启动用于跳过片头曲的第一计时器,并读所述Head.bin到内存中。
9.然后通过软Demux解复用后把第二集的数据送到缓冲区Buffer中。
10.机顶盒读取Buffer中的数据(从D0到Dn),根据节目视频的Pid:X过滤出所有视频数据并保存到Buffer1中,如图4所示。
其中,D2、D4的Pid与D1、D3、D5、D6、D7等的Pid不同,经过Demux,只需要Pid为X的数据,所以D2、D4不符合,Buffer1中没有D2、D4。图4中的Dn表示后续的数据。
11.如图4中所示,Buffer1中过滤到的所有视频数据,其所在的Buffer中的内存地址(例如p0、p2、p4、p5、p6)记录在一个指针链表中。
12.Buffer1中的数据按时间先后顺序每一个拆包后,判断是否是I帧包。
13.如果是I帧包,就放入Buffer2中,例如D1、D3、D5、D6是I帧包,均放入Buffer2中。
14.如果不是I帧包,就停止拆包,例如D7是B帧包,不是I帧包,则不能放入Buffer2中。
15.Buffer2中的数据顺序跟Head.bin的*p开始的每一行数据(一行数据即一帧数据)进行二进制对比,以回车标志符(/n)结束。
其中,*p相当于一个箭头,这个箭头指在Head.bin的哪一行,就会去读哪里的数据,然后去和Buffer2中的数据做比较。
例如,参见图4,首先将Buffer2中的D1的数据与Head.bin的第1帧数据(q0行数据)进行对比,然后将Buffer2中的D3的数据与Head.bin的第2帧数据(q1行数据)进行对比,然后将Buffer2中的D5的数据与Head.bin的第3帧数据(q2行数据)进行对比,以此类推。
16.如果Buffer2中数据跟Head.bin中的某一行数据完全相同,说明此时对比的Buffer2中的数据还是片头曲部分,则将Head.bin中的指针*p指向下一行继续进行后续对比。
同时,需要清空Buffer2中已比较过的数据(例如图4中D6至D1之前的数据),以及删除相对应的指针(例如图4中的指针链表中的p0到p5),并且清空Buffer1中的数据(Buffer1中的数据已经对比完了,需要更新下一组数据),然后跳转到上述步骤9,继续从Buffer中读取数据并进行过滤后发送到Buffer1中,并将Buffer1中的I帧数据发送到Buffer2,进行后续的与Head.bin中的数据对比,以此类推,直到定位到片头曲的结束时间。
其中,Head.bin是纯二进制数据,例如:类似0101010这种数据,Buffer2中的数据也是01001101这种二进制数据,然后就会去逐个比较:Buffer2的数据第一位和Head.bin中一行数据的第一位去比较,然后第二位和第二位去比较,以此类推,直到比较到回车标志符\n停止该行数据的比较。此时再把*p移动到Head.bin的下一行,然后继续后续比较。
17.如果Buffer2中数据跟Head.bin中的某一行数据不相同,该行数据以回车符/n为结束,说明Buffer2中的该行的数据(Buffer2中过滤出来I帧数据所对应Buffer中的原始数据)就是要找的片头曲的结束点。此时把Buffer2中该行的第一个帧数据包(因为Buffer2中的数据有不相同,说明这一行的数据所对应的视频数据都不相同,因此需要找到该行第一个帧数据包所对应的Buffer中的原始数据包的位置)所对应的链表指针所指向的Buffer中的内存地址开始的所有数据都保存在硬盘上,从而避免重复录制片头曲内容。并且,当上述Buffer2中数据跟Head.bin中的某一行数据不相同时,停止第一计时器计时。记录停止时间T1,即第一计时器的计时值,T1即片头曲的时间长度,可以称为第一时长。
需要说明的是,对于第二集的录制方案,可以用于除了第一集之外的任何一集的录制。
18.优选地,对于连续剧的第三集及其后续的每一集,当需要录制时,根据录制第二集找到的时间T1,直接启动定时器,时间达到T1时启动录制即可。
综上所述:
Buffer中保存的是原始数据,未经过包标识符Pid过滤的数据(过滤后的数据才能进一步解析出来视频的数据)。
Buffer1中的数据是根据指定节目过滤出来的视频数据。
指针链表是连接Buffer和Buffer1的纽带,通过Buffer1的任意数据位置可以找到该任意数据在Buffer中对应的数据位置,即可以找到对应的原始数据。
Head.bin中包括的是硬盘上保存的第一集视频的片头位置的二进制数据。
需要说明的是:
片头曲时长一般不超过10分钟,根据DVB标准,片头曲和片尾曲一般不超过5分钟,但是为了更精确的对比,所以预先设定一个阀值:10分钟,也就是说假定所有的连续剧的片头和片尾曲都不会超过10分钟。因此可以预先设置步骤1中启动的用于定位片头曲的定时器的定时时长是10分钟,从而保证Head.bin中的数据一定包括了完整的片头曲视频数据。当然,可以根据实际需要设置步骤1中启动的定时器的定时时长,不限于10分钟。
那么,基于上述方案,优选地,在需要录制连续剧的第三集及以后剧集时,直接启动第一定时器(该定时器的定时时长为第一时长,即上述T1),当第一定时器超时时,开始录制,这样就避免了录制与前序剧集中重复的片头曲部分,节省了存储空间。
另外,需要说明的是,若同一连续剧的所有剧集中的片头曲不同,例如包括两首片头曲,前20集用一首片头曲,后20集用另一首片头曲,片头曲的时间长度可能不同,则为了确保录制的正片内容完整,可以在需要录制连续剧的第三集及以后剧集时都采用上述基本方案中与录制第二集的步骤相同的操作进行录制,即对于第三集及以后剧集都有上述与Head.bin进行数据对比的步骤。
类似地,参见图5,对于定位片尾曲开始位置基本方案,本申请实施例提供的视频数据录制方法包括步骤:
1.启动录制连续剧的第一集,同时启动用于定位片尾曲的定时器,开始计时。
其中,需要说明的是,若需要跳过片头曲和片尾曲,则在录制第一集时,需要启动两个定时器,一个用于片头曲的定位,一个用于片尾曲的定位。若只需要片头曲或片尾曲的定位,则启动一个定时器即可。
2.如果到达第一集内容时长的倒数10分钟时,关闭步骤1中启动的用于定位片尾曲的定时器。
3.把第一集的倒数10分钟内的TS流通过软Demux解复用后送到缓冲区Buffer中。
4.机顶盒通过读取Buffer中的数据(从D0到Dn),根据节目视频Pid:X过滤出Buffer中所有视频数据,并将过滤到的数据保存到Buffer1中,参见图6。
5.顺序读取Buffer1中的视频数据,拆包获得I帧(关键帧)数据,读取完毕后就在I帧的结尾加上回车标志符(/n)。
6.保存第一集最后10分钟的所有的I帧的数据信息生成尾文件,并存储在硬盘上,名字例如记为:Tail.bin。
7.参见图7,启动录制连续剧的第二集时,启动用于跳过片尾曲的第二计时器,并读Tail.bin到内存中。
其中,需要说明的是,若需要跳过片头曲和片尾曲,则在录制第二集时,需要启动两个计时器,一个用于跳过片头曲,一个用于跳过片尾曲。若只需要跳过片头曲或片尾曲,则启动一个计时器即可。
8.然后通过软Demux把第二集中的数据解复用后送到缓冲区Buffer中。
9.参见图8,机顶盒读取Buffer中的数据(从D0到Dn),根据节目视频Pid:X过滤出Buffer中所有视频数据并保存到Buffer1中。
10.参见图8,过滤到的保存在Buffer1中的所有视频数据,其所对应的在Buffer中的内存地址记录在一个指针链表中。
11.对于Buffer1中的数据,按时间先后顺序每一个拆包后判断是否是I帧包。
12.如果是I帧包,就放入Buffer2中。
13.如果不是I帧包,就停止拆包。
14.对于Buffer2中的数据,按照时间先后顺序,与Tail.bin的*p开始的每一行数据进行二进制对比,以回车标志符\n结束一行数据的对比。
15.如果Buffer2中的数据跟Tail.bin中的某一行数据不相同,说明第二集还没有到达片尾曲部分,则将Tail.bin中的指针*p指向相同行的下一行。同时,根据最后比较的I帧数据包所在的链表地址开始,全部删除(例如图8中的指针链表中的p0到p5),并且清空Buffer1和Buffer2中的数据,跳转至步骤9,继续从Buffer中读取数据并进行过滤后发送到Buffer1中,并将Buffer1中的I帧数据发送到Buffer2,进行后续的与Tail.bin中数据的对比,以此类推,直到定位到片尾曲的开始时间。
16.如果Buffer2中数据跟Tail.bin中的某一行数据完全相同,该行数据以回车符/n为结束,说明Buffer2中的数据就是要找的片尾曲的开始。此时把Buffer2中第一个帧数据包所对应的链表指针所指向的Buffer中的内存地址开始的所有数据停止保存在硬盘上,从而跳过录制片尾曲内容。并且,停止第二计时器计时。记录停止时间T2,也可以称为第二时长,该时长即从开始录制到结束录制的时长,这期间不包括片尾曲内容。若进一步结合上述的片头跳过方案,则在第二时长内录制的内容,可以即不包括片头曲,也不包括片尾曲,而只包括第二集的正片内容。
需要说明的是,对于第二集的录制方案,可以用于除了第一集之外的任何一集的录制。
17.优选地,对于录制同一连续剧的第三集及其后续的每一集,可以根据第二集找到的时间T2,直接在开始录制时启动一定时器,时间达到T2时就停止录制,无需上述第二集录制过程中的与Tail.bin的对比过程。
需要说明的是,若要跳过片头曲和片尾曲内容,则对于录制第三集以及以后的每一集,都要启动两个定时器,一个用于开始录制,一个用于结束录制,这两个定时器可以同时启动,也可以分别启动。若同时启动,则用于结束录制的定时器的定时时长包括片头曲的时长,若分别启动,则用于结束录制的定时器的定时时长不包括片头曲的时长。
例如,若分别启动,则在准备录制时先启动第一定时器(此时第一定时器对应的定时时长为片头曲的时长),当第一定时器超时时,开始录制,并同时启动第二定时器(此时第二定时器对应的定时时长为不包括片头曲和片尾曲的正片时长),当第二定时器超时时,停止录制。
具体地,何时启动第二定时器,以及第二定时器的定时时长为多少,是否包括片头曲的时长,都可以根据实际需要而定,本申请实施例不进行限制。
需要说明的是:
片尾曲时长一般不超过10分钟,根据DVB标准,片头曲和片尾曲一般不超过5分钟,但是为了更精确的对比,所以预先可以设定一个阀值:10分钟,也就是说假定所有的连续剧的片头和片尾曲都不会超过10分钟。因此可以预先设置步骤1中启动的用于定位片尾曲的定时器的定时时长是第一集总时长减去10分钟的时长,从而保证Tail.bin中的数据一定包括了完整的片尾曲视频数据。当然,可以根据实际需要设置步骤1中启动的定时器的定时时长,不限于第一集总时长减去10分钟的时长。
另外,基于上述方案,优选地,在需要录制连续剧的第三集及以后剧集时,直接启动第二定时器(该定时器的定时时长为第二时长,即上述T2),当第二定时器超时时,停止录制,这样就避免了录制与前序剧集中重复的片尾曲部分,节省了存储空间。具体地,何时启动第二定时器,以及第二定时器的定时时长为多少,是否包括片头曲的时长,都可以根据实际需要而定,本申请实施例不进行限制。
另外,需要说明的是,若同一连续剧的所有剧集中的片尾曲不同,例如包括两首片尾曲,前20集用一首片尾曲,后20集用另一首片尾曲,片尾曲的时间长度可能不同,则为了确保录制的正片内容完整,可以在需要录制连续剧的第三集及以后剧集时都采用上述基本方案中与录制第二集的步骤相同的操作进行录制,即对于第三集及以后剧集都有上述与Tail.bin进行数据对比的步骤。
综上所述,与现有技术相比,本申请实施例提供的技术方案的优点如下:
通过本申请实施例提供的技术方案,可以准确找到片头曲和正片的分割位置,并准确截掉片头曲;
通过本申请实施例提供的技术方案,可以准确找到片尾曲和正确的分割位置,并准确截掉片尾曲;
通过本申请实施例提供的技术方案,可以节省硬盘空间,以一集连续剧60分钟计算,片头片尾一共占用10分钟,大约一集可以节省六分之一的硬盘空间,百集连续剧就可以节省16集电视剧所占用的空间;
通过本申请实施例提供的技术方案,无需用户特殊设置,更智能、更方便、更快捷。
参见图9,本申请实施例提供的一种视频数据录制方法,包括:
S101、通过对比同一连续剧的至少两集的视频数据,确定所述连续剧的不同剧集中的重复视频数据;
S102、录制所述连续剧,其中跳过所述重复视频数据。
需要说明的是,上述本申请实施例中以通过对比第二集和第一集的视频数据,确定连续剧的不同剧集中的重复视频数据,但并不限于此,可以根据任意两集的视频数据,确定连续剧的不同剧集中的重复视频数据。
本申请实施例通过对比同一连续剧的至少两集的视频数据,确定所述连续剧的不同剧集中的重复视频数据;录制所述连续剧,其中跳过所述重复视频数据,从而实现自动检测并跳过电视剧的片头、片尾等重复视频数据,节省录制电视剧所需的存储空间。
可选地,所述重复视频数据包括所述连续剧的片头曲和/或片尾曲;
则录制所述连续剧,具体包括:
当开始录制连续剧的第三集及其后续的每一集连续剧时,启动用于跳过录制片头曲的第一定时器,和/或用于跳过录制片尾曲的第二定时器;
根据所述定时器(包括第一定时器和/或第二定时器)的定时时长,进行所述连续剧的视频数据录制。
可选地,所述第一定时器的定时时长是第一时长(例如上述的T1),所述第二定时器的定时时长是第二时长(例如上述的T2);其中,通过比较所述连续剧的第二集与所述连续剧的第一集的视频数据,确定所述第一时长和/或所述第二时长。
可选地,所述第一时长具体是通过如下方式确定的:
提取所述连续剧的第一集的前预设时长(例如10分钟)内的I帧数据生成头文件(例如上述的Head.bin);
当开始录制所述连续剧的第二集的视频数据时,启动计时器;
将所述连续剧的第二集的视频数据的I帧数据与所述头文件中的I帧数据进行比较,当存在不同时,停止所述计时器,并将所述计时器的计时值确定为所述第一时长。
可选地,提取所述连续剧的第一集的前预设时长内的I帧数据生成头文件,具体包括:
将所述连续剧的第一集的视频数据解复用后保存到第一缓存(例如上述的Buffer);
从所述第一缓存中读取数据并进行过滤后保存到第二缓存(例如上述的Buffer1);
从所述第二缓存中读取前预设时长(例如第一集的前10分钟)的I帧数据生成头文件并存储到硬盘上。
可选地,将所述连续剧的第二集的视频数据的I帧数据与所述头文件中的I帧数据进行比较,具体包括:
将所述连续剧的第二集的视频数据解复用后保存到所述第一缓存;
从所述第一缓存中读取数据并进行过滤后保存到所述第二缓存;
将所述第二缓存中的I帧数据保存到第三缓存(例如上述的Buffer2);
将所述第三缓存中的I帧数据与所述头文件中的I帧数据进行比较。
可选地,所述第二时长具体是通过如下方式确定的:
提取所述连续剧的第一集的后预设时长内的I帧数据生成尾文件(例如上述的Tail.bin);
当开始录制所述连续剧的第二集的视频数据时,启动计时器;
将所述连续剧的第二集的视频数据的I帧数据与所述尾文件中的I帧数据进行比较,当存在相同时,停止所述计时器,并将所述计时器的计时值确定为所述第二时长。
可选地,提取所述连续剧的第一集的后预设时长内的I帧数据生成尾文件,具体包括:
当开始录制所述连续剧的第一集时,启动定时器,当到达所述连续剧的第一集的倒数预设时长时,将所述连续剧的第一集倒数预设时长内的视频数据解复用后保存到第一缓存;
从所述第一缓存中读取数据并进行过滤后保存到第二缓存;
从所述第二缓存中读取I帧数据生成尾文件并存储到硬盘上。
可选地,将所述连续剧的第二集的视频数据的I帧数据与所述尾文件中的I帧数据进行比较,具体包括:
将所述连续剧的第二集的视频数据解复用后保存到所述第一缓存;
从所述第一缓存中读取数据并进行过滤后保存到所述第二缓存;
将所述第二缓存中的I帧数据保存到第三缓存;
将所述第三缓存中的I帧数据与所述尾文件中的I帧数据进行比较。
参见图10,本申请另一实施例提供一种视频录制装置,其包括存储器11和处理器12,其中,所述存储器11用于存储程序指令,所述处理器12用于调用所述存储器11中存储的程序指令,按照获得的程序执行上述任一种方法流程。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的装置,可以是手机、电视机、电脑等终端设备,也可以是网络侧服务器等设备。
本申请实施例提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、电视机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储本申请实施例提供的任一所述方法的程序。
处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行本申请实施例提供的任一所述方法。
本申请实施例提供了一种计算机存储介质,用于储存为上述本申请实施例提供的装置所用的计算机程序指令,其包含用于执行上述本申请实施例提供的任一方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
上述方法处理流程可以用软件程序实现,该软件程序可以存储在存储介质中,当存储的软件程序被调用时,执行上述方法步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种视频数据录制方法,其特征在于,该方法包括:
通过对比同一连续剧的至少两集的视频数据,确定所述连续剧的不同剧集中的重复视频数据;所述重复视频数据包括所述连续剧的片头曲和/或片尾曲;
录制所述连续剧,其中跳过所述重复视频数据;
其中,录制所述连续剧,具体包括:
当开始录制连续剧的第三集及其后续的每一集连续剧时,启动用于跳过录制片头曲的第一定时器,和/或用于跳过录制片尾曲的第二定时器;
根据所述第一定时器和/或所述第二定时器的定时时长,进行所述连续剧的视频数据录制。
2.根据权利要求1所述的方法,其特征在于,所述第一定时器的定时时长是第一时长,所述第二定时器的定时时长是第二时长;其中,通过比较所述连续剧的第二集与所述连续剧的第一集的视频数据,确定所述第一时长和/或所述第二时长。
3.根据权利要求2所述的方法,其特征在于,所述第一时长具体是通过如下方式确定的:
提取所述连续剧的第一集的前预设时长内的I帧数据生成头文件;
当开始录制所述连续剧的第二集的视频数据时,启动计时器;
将所述连续剧的第二集的视频数据的I帧数据与所述头文件中的I帧数据进行比较,当存在不同时,停止所述计时器,并将所述计时器的计时值确定为所述第一时长。
4.根据权利要求3所述的方法,其特征在于,提取所述连续剧的第一集的前预设时长内的I帧数据生成头文件,具体包括:
将所述连续剧的第一集的视频数据解复用后保存到第一缓存;
从所述第一缓存中读取数据并进行过滤后保存到第二缓存;
从所述第二缓存中读取前预设时长的I帧数据生成头文件并存储到硬盘上。
5.根据权利要求3所述的方法,其特征在于,将所述连续剧的第二集的视频数据的I帧数据与所述头文件中的I帧数据进行比较,具体包括:
将所述连续剧的第二集的视频数据解复用后保存到所述第一缓存;
从所述第一缓存中读取数据并进行过滤后保存到所述第二缓存;
将所述第二缓存中的I帧数据保存到第三缓存;
将所述第三缓存中的I帧数据与所述头文件中的I帧数据进行比较。
6.根据权利要求2所述的方法,其特征在于,所述第二时长具体是通过如下方式确定的:
提取所述连续剧的第一集的后预设时长内的I帧数据生成尾文件;
当开始录制所述连续剧的第二集的视频数据时,启动计时器;
将所述连续剧的第二集的视频数据的I帧数据与所述尾文件中的I帧数据进行比较,当存在相同时,停止所述计时器,并将所述计时器的计时值确定为所述第二时长。
7.根据权利要求6所述的方法,其特征在于,提取所述连续剧的第一集的后预设时长内的I帧数据生成尾文件,具体包括:
当开始录制所述连续剧的第一集时,启动定时器,当到达所述连续剧的第一集的倒数预设时长时,将所述连续剧的第一集倒数预设时长内的视频数据解复用后保存到第一缓存;
从所述第一缓存中读取数据并进行过滤后保存到第二缓存;
从所述第二缓存中读取I帧数据生成尾文件并存储到硬盘上。
8.根据权利要求6所述的方法,其特征在于,将所述连续剧的第二集的视频数据的I帧数据与所述尾文件中的I帧数据进行比较,具体包括:
将所述连续剧的第二集的视频数据解复用后保存到所述第一缓存;
从所述第一缓存中读取数据并进行过滤后保存到所述第二缓存;
将所述第二缓存中的I帧数据保存到第三缓存;
将所述第三缓存中的I帧数据与所述尾文件中的I帧数据进行比较。
9.一种视频录制装置,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至8任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911252283.8A CN113038244A (zh) | 2019-12-09 | 2019-12-09 | 视频数据录制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911252283.8A CN113038244A (zh) | 2019-12-09 | 2019-12-09 | 视频数据录制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113038244A true CN113038244A (zh) | 2021-06-25 |
Family
ID=76451997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911252283.8A Pending CN113038244A (zh) | 2019-12-09 | 2019-12-09 | 视频数据录制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113038244A (zh) |
-
2019
- 2019-12-09 CN CN201911252283.8A patent/CN113038244A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2420019C (en) | System and method of processing mpeg streams for file index insertion | |
US9438876B2 (en) | Method for semantics based trick mode play in video system | |
CN101505417B (zh) | 时戳附加装置、时戳附加方法 | |
US20090070850A1 (en) | System and method for searching video signals | |
EP2635025B1 (en) | Video processing method and video appliance implementing the method | |
CN106878807B (zh) | 一种视频切换方法和装置 | |
US20170055045A1 (en) | Recovering from discontinuities in time synchronization in audio/video decoder | |
CN108153882A (zh) | 一种数据处理方法及装置 | |
CN1961522B (zh) | 传输流处理装置和传输流处理方法 | |
US20170094370A1 (en) | Digital video recorder and a method for dynamic management of advertising content on a digital video recorder | |
CN104994406B (zh) | 一种基于Silverlight插件的视频编辑方法和装置 | |
CN101345068A (zh) | 多媒体文件录制、定位、播放的方法及设备 | |
CN105530534A (zh) | 一种视频剪辑的方法和装置 | |
CN105007518A (zh) | 一种pvr播放方法、一种机顶盒和一种pvr播放系统 | |
US7876480B2 (en) | Apparatus, method, and computer program for processing information | |
CN113038244A (zh) | 视频数据录制方法及装置 | |
CN112804579A (zh) | 视频播放方法、装置、计算机设备和可读存储介质 | |
US20090307185A1 (en) | Method for seamless playback of multiple multimedia files | |
JP2009100427A (ja) | 映像音声記録装置 | |
KR20070013782A (ko) | 디지털 영상 파일의 재생 목록 관리 방법 | |
CN102231847B (zh) | 一种支持流媒体文件直接帧精确定位方法 | |
CN102231804B (zh) | 一种支持ps流媒体文件的容错方法 | |
CN109947978B (zh) | 一种音频存储、播放方法及装置 | |
WO2007145281A1 (ja) | 映像再生装置、映像再生方法および映像再生プログラム | |
US20140185690A1 (en) | Multimedia data stream format, metadata generator, encoding method, encoding system, decoding method, and decoding system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210625 |