CN102098423A - 一种无缝文件采集方法及系统 - Google Patents
一种无缝文件采集方法及系统 Download PDFInfo
- Publication number
- CN102098423A CN102098423A CN 200910242620 CN200910242620A CN102098423A CN 102098423 A CN102098423 A CN 102098423A CN 200910242620 CN200910242620 CN 200910242620 CN 200910242620 A CN200910242620 A CN 200910242620A CN 102098423 A CN102098423 A CN 102098423A
- Authority
- CN
- China
- Prior art keywords
- data
- video
- encoder
- audio
- file
- 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.)
- Granted
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明涉及视音频文件采集技术,具体涉及一种针对视音频文件的无缝采集方法及系统。该方法在编码器前端设置一个数据缓存池,将视音频数据按时间顺序存入缓存池;打开数据缓存池的出口,使未编码的视音频数据经过缓存池同步输出,进入编码器进行文件编码;当需要切换输出文件时,系统发出文件切换消息;再次同步缓存池中的视音频数据,使送给编码器的视频流总长度等于音频流总长度,然后关闭数据缓存池的出口;编码器将其内部已完成编码的数据生成一个文件,输出到硬盘的目标位置;重新打开缓存池出口重复编码操作,直至完成所有视音频数据的采集。本发明能够做到编码时不丢失数据,从而保证视音频文件采集的完整性。
Description
技术领域
本发明涉及视音频文件采集技术,具体涉及一种针对视音频文件的无缝采集方法及系统。
背景技术
视音频文件采集系统被广泛应用于广电节目录制、视频网站内容制作、安保视频监控等领域。该系统主要作用是将视音频信号编码成文件后保存起来。由于视音频文件的存储量一般比较大,这种大文件在写入数据的过程中需要较长的时间,而如果计算机系统在此过程中出现瞬间不稳定因素的干扰,就会发生数据写入过程的短暂停顿并造成数据丢失。因此,在视音频文件的保存过程中,为了避免单个文件过大,往往会将视音频数据按照时间先后顺序分成多段数据,分别写入到多个文件中。但在文件切换的过程中,往往会有部分视音频数据在编码器切换的空隙被丢弃,造成数据丢失。虽然这种数据丢失的持续时间很短暂,但是有可能包含非常有价值的信息,一旦这种有价值的数据信息丢失,会给用户造成很大的损失。
中国专利申请03150253.9公开了一种“视音频编辑系统中避免采集或录制数据丢失的方法”,该方法在数据采集和节目录制过程中,先将采集或要录制的数据分别存储到计算机内存中由视音频编辑软件预先开设的采集数据缓存区和录制数据缓存区内,然后再将对应缓存区内的数据写入计算机硬盘规定的数据区或输出到录制设备中,避免了因计算机系统瞬间不稳定造成的数据丢失。但是,由于将视音频数据分段后,视频流和音频流很可能出现不同步的现象。目前主流的编码器在同时编码音频和视频流时,需要将编码后的两个流交织后写入到文件中,如果生成的文件中相邻的两个数据流出现不同步的情况,当播放器播放这种文件时,为了等待另一个流同步,需要缓冲非常多的数据,造成内存占用过多,磁盘读写频繁,随机定位慢,甚至音视频不协调等一系列问题。为了避免这种情况出现,主流的编码器一般都要求输入的两个数据流应保持基本同步,如果超出同步的控制范围,时间戳超前的流中的部分数据会被编码器主动丢弃,以缩小差距,严重的甚至导致编码器拒绝后续数据的编码请求,导致数据丢失。可见,如果将不同步的视频流和音频流输入编码器,在编码器内部同样会出现数据丢失的现象,无法做到真正的文件无缝采集。
发明内容
本发明的目的在于针对现有技术中视音频文件采集时容易造成数据丢失的缺陷,提供一种无缝文件采集方法及系统,从而保证视音频文件采集的完整性。
本发明的技术方案如下:一种无缝文件采集方法,包括如下步骤:
(1)在编码器前端设置一个数据缓存池,将视音频数据按时间顺序存入缓存池;
(2)打开数据缓存池的出口,使未编码的视音频数据经过缓存池同步输出,进入编码器进行文件编码;
(3)当需要切换输出文件时,系统发出文件切换消息;
(4)再次同步缓存池中的视音频数据,使输出给编码器的视频流总长度等于音频流总长度,然后关闭数据缓存池的出口;
(5)编码器将其内部已完成编码的数据生成一个文件,输出到硬盘的目标位置;
(6)返回步骤(2)进行重复操作,直至完成所有视音频数据的采集。
进一步,如上所述的无缝文件采集方法,步骤(1)中设置数据缓存池的方式是:在计算机系统的内存中划分一块缓存区域,将该缓存区域与编码器相关联,形成数据经该缓存区域进入编码器的输入路径;或者,在计算机系统的硬盘上建立一个临时文件,将缓存映射到硬盘的临时文件中,将该临时文件与编码器相关联,形成数据经该临时文件进入编码器的输入路径。
进一步,如上所述的无缝文件采集方法,步骤(2)中所述的打开数据缓存池的出口为:启动从缓存池中取数据并输送到编码器的数据读取线程;步骤(4)中所述的关闭数据缓存池的出口为:停止上述数据读取线程。
进一步,如上所述的无缝文件采集方法,在步骤(2)和步骤(4)中对视音频数据进行同步的方式是:选择一个参考时钟,在生成视频数据流和音频数据流时对每一帧数据分别加上一个时间戳,通过对照视频数据流和音频数据流的时间戳,对两个数据流的输送速度进行调整,以实现视音频数据的同步输送。
一种无缝文件采集系统,包括:
编码器,用于对视音频数据进行文件编码,并输出形成目标文件;
数据缓存池,与编码器的输入端连接,用于暂时存储未编码的视音频数据,并将数据输送给编码器;
数据同步模块,与数据缓存池连接,用于对数据缓存池中的视音频数据流进行先后两次同步控制;
缓存池开关模块,设置在数据缓存池的出口与编码器的输入端之间,用于控制未编码的视音频数据经过缓存池向编码器的输送。
进一步,如上所述的无缝文件采集系统,其中,所述的数据缓存池为计算机系统内存中的一块缓存区域,通过设置数据经该缓存区域进入编码器的输入路径,形成缓存区域与编码器的关联关系;或者,所述的数据缓存池为计算机系统硬盘中的一个临时文件所构成的虚拟内存。
进一步,如上所述的无缝文件采集系统,其中,所述的数据同步模块根据一个参考时钟,对生成的视频数据流和音频数据流的每一帧数据分别加上一个时间戳,通过对照视频数据流和音频数据流的时间戳,对两个数据流的输送速度进行调整,以实现视音频数据的同步输送。
进一步,如上所述的无缝文件采集系统,其中,所述的缓存池开关模块为一个数据读取线程,通过启动和停止该数据读取线程,实现编码器从缓存池中读取视音频数据的控制。
本发明的有益效果如下:本发明通过在编码器的前端增设一个数据缓存池,使视音频数据经过缓存池后再进入编码器,并通过打开和关闭缓存池的出口来控制输入编码器的视音频数据量;同时在每一阶段编码的过程中,前后两次对缓存池中的视音频数据流进行同步控制,使送给编码器的视频流总长度等于音频流总长度,实现了真正意义上的视音频文件的无缝采集,防止数据的丢失,保证了视音频文件采集的完整性。
附图说明
图1为本发明具体实施方式中的方法流程图;
图2为本发明具体实施方式中的系统结构示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
如图1所示,本发明所提供的无缝文件采集方法,包括如下步骤:
步骤S01,在编码器前端设置一个数据缓存池,将视音频数据按时间顺序存入缓存池;
步骤S02,打开数据缓存池的出口,启动数据读取线程,使未编码的视音频数据经过缓存池同步输出,进入编码器进行文件编码;
步骤S03,当需要切换输出文件时,系统发出文件切换消息;
步骤S04,再次同步缓存池中的视音频数据,使送给编码器的视频流总长度等于音频流总长度,然后关闭数据缓存池的出口,停止数据读取线程,让未编码的数据在缓存池中排队;
步骤S05,编码器将其内部已完成编码的数据生成一个文件,输出到硬盘的目标位置;
步骤S06,返回步骤S02进行重复操作,直至完成所有视音频数据的采集。
在上述方案中,为了达到无缝采集的目的,本发明在编码器前端增加了一个数据缓存池,所述的数据缓存池必须是一块可直接操作的内存区域,但是这里所述的内存是操作系统所提供的虚拟内存,虚拟内存可以是实际物理内存中的一块缓存区域,也可以映射到硬盘上的一个文件中,通过设置数据经该虚拟内存进入编码器的输入路径,形成缓存区域(或临时文件)与编码器的关联关系。由于本系统中所缓存的是无压缩的视音频数据,其数据量巨大,因此当运行本系统的计算机物理内存较小时,可将缓存映射到硬盘上的一个临时文件中,使用硬盘空间来缓解内存不足的缺陷。
由于视音频信号先经过缓存池,再进入编码器进行文件编码工作,当同时有音频流和视频流时,就需要做好音视频同步工作,让编码器接收到的两个流的时间戳尽量一致。从技术上来讲,视音频数据进行同步的最佳方式就是基于时间戳的调整方式,首先选择一个参考时钟,在生成视频数据流和音频数据流时对每一帧数据分别加上一个时间戳,通过对照视频数据流和音频数据流的时间戳,对两个数据流的输送速度进行调整,以实现视音频数据的同步输送。
本发明的关键之处在于对视频数据流和音频数据流进行两次同步,第一次发生在步骤S02中,即视音频信号进入编码器之前先进行同步;第二次发生在步骤S04中,即当编码器需要切换输出文件时,系统对视音频信号数据再做一次同步,使得送给编码器的视频流总长度等于音频流总长度,然后系统暂时关闭缓存池的出口,让未编码的数据在缓存池中排队,这时再让编码器切换输出文件。再次打开缓存池出口,将剩余数据继续推送给编码器进行处理,真正做到无缝采集。上述步骤中做两次视音频同步非常重要,否则编码器内部会丢失数据,无法做到真正的无缝采集。
为实现上述无缝文件采集方法,本发明进一步提供了相应系统的结构组成,如图2所示,具体包括:
编码器,用于对视音频数据进行文件编码,并输出形成目标文件;
数据缓存池,与编码器的输入端连接,用于暂时存储未编码的视音频数据,并将数据输送给编码器;在具体实施方式中,数据缓存池为计算机系统内存中的一块缓存区域,通过设置数据经该缓存区域进入编码器的输入路径,形成缓存区域与编码器的关联关系;或者,数据缓存池为计算机系统硬盘中的一个临时文件所构成的虚拟内存;
数据同步模块,与数据缓存池连接,用于对数据缓存池中的视音频数据流进行先后两次同步控制;具体的控制方式是,根据一个参考时钟,对生成的视频数据流和音频数据流的每一帧数据分别加上一个时间戳,通过对照视频数据流和音频数据流的时间戳,对两个数据流的输送速度进行调整,以实现视音频数据的同步输送;同步控制需要进行两次,第一次是在视音频信号进入编码器之前,第二次是在当编码器需要切换输出文件时;
缓存池开关模块,设置在数据缓存池的出口与编码器的输入端之间,为一个从缓存池中取数据并输送到编码器的数据读取线程,通过启动和停止该数据读取线程,控制未编码的视音频数据经过缓存池向编码器的输送。在该数据读取线程正常运行期间,会调用数据同步模块对所有传送的视音频数据进行上述方法中步骤S02所述的第一次同步,当关闭该数据读取线程时,线程会在退出前调用数据同步模块进行上述方法中步骤S04所述的第二次同步。
上述系统通过在编码器前端增加了一个数据缓存池,使视音频信号先经过缓存池,再进入编码器进行文件编码工作,通过数据同步模块对数据缓存池中的视音频数据流进行先后两次同步控制,保证了编码器内部编码时不会丢失数据,从而实现了文件的无缝采集,缓存池开关模块对缓存池的出口进行控制,保证了进入编码器的数据量。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种无缝文件采集方法,包括如下步骤:
(1)在编码器前端设置一个数据缓存池,将视音频数据按时间顺序存入缓存池;
(2)打开数据缓存池的出口,使未编码的视音频数据经过缓存池同步输出,进入编码器进行文件编码;
(3)当需要切换输出文件时,系统发出文件切换消息;
(4)再次同步缓存池中的视音频数据,使输出给编码器的视频流总长度等于音频流总长度,然后关闭数据缓存池的出口;
(5)编码器将其内部已完成编码的数据生成一个文件,输出到硬盘的目标位置;
(6)返回步骤(2)进行重复操作,直至完成所有视音频数据的采集。
2.如权利要求1所述的无缝文件采集方法,其特征在于:步骤(1)中设置数据缓存池的方式是:在计算机系统的内存中划分一块缓存区域,将该缓存区域与编码器相关联,形成数据经该缓存区域进入编码器的输入路径。
3.如权利要求1所述的无缝文件采集方法,其特征在于:步骤(1)中设置数据缓存池的方式是:在计算机系统的硬盘上建立一个临时文件,将缓存映射到硬盘的临时文件中,将该临时文件与编码器相关联,形成数据经该临时文件进入编码器的输入路径。
4.如权利要求1或2或3所述的无缝文件采集方法,其特征在于:步骤(2)中所述的打开数据缓存池的出口为:启动从缓存池中取数据并输送到编码器的数据读取线程;步骤(4)中所述的关闭数据缓存池的出口为:停止上述数据读取线程。
5.如权利要求4所述的无缝文件采集方法,其特征在于:在步骤(2)和步骤(4)中对视音频数据进行同步的方式是:选择一个参考时钟,在生成视频数据流和音频数据流时对每一帧数据分别加上一个时间戳,通过对照视频数据流和音频数据流的时间戳,对两个数据流的输送速度进行调整,以实现视音频数据的同步输送。
6.一种无缝文件采集系统,包括:
编码器,用于对视音频数据进行文件编码,并输出形成目标文件;
数据缓存池,与编码器的输入端连接,用于暂时存储未编码的视音频数据,并将数据输送给编码器;
数据同步模块,与数据缓存池连接,用于对数据缓存池中的视音频数据流进行同步控制;
缓存池开关模块,设置在数据缓存池的出口与编码器的输入端之间,用于控制未编码的视音频数据经过缓存池向编码器的输送。
7.如权利要求6所述的无缝文件采集系统,其特征在于:所述的数据缓存池为计算机系统内存中的一块缓存区域,通过设置数据经该缓存区域进入编码器的输入路径,形成缓存区域与编码器的关联关系。
8.如权利要求6所述的无缝文件采集系统,其特征在于:所述的数据缓存池为计算机系统硬盘中的一个临时文件所构成的虚拟内存。
9.如权利要求6或7或8所述的无缝文件采集系统,其特征在于:所述的数据同步模块根据一个参考时钟,对生成的视频数据流和音频数据流的每一帧数据分别加上一个时间戳,通过对照视频数据流和音频数据流的时间戳,对两个数据流的输送速度进行调整,以实现视音频数据的同步输送。
10.如权利要求6或7或8所述的无缝文件采集系统,其特征在于:所述的缓存池开关模块为一个数据读取线程,通过启动和停止该数据读取线程,实现编码器从缓存池中读取视音频数据的控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910242620 CN102098423B (zh) | 2009-12-10 | 2009-12-10 | 一种无缝文件采集方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910242620 CN102098423B (zh) | 2009-12-10 | 2009-12-10 | 一种无缝文件采集方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102098423A true CN102098423A (zh) | 2011-06-15 |
CN102098423B CN102098423B (zh) | 2013-03-27 |
Family
ID=44131273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910242620 Expired - Fee Related CN102098423B (zh) | 2009-12-10 | 2009-12-10 | 一种无缝文件采集方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102098423B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103096131A (zh) * | 2013-02-06 | 2013-05-08 | 天脉聚源(北京)传媒科技有限公司 | 一种直播流处理方法和装置 |
CN103593307A (zh) * | 2013-11-25 | 2014-02-19 | 湖南强军科技有限公司 | 一种电磁法勘探系统处理采集数据的方法和装置 |
CN106899880A (zh) * | 2015-12-19 | 2017-06-27 | 联芯科技有限公司 | 将多媒体数据分段保存的方法及系统 |
CN108848406A (zh) * | 2015-07-27 | 2018-11-20 | 青岛海信移动通信技术股份有限公司 | 一种多媒体文件的录制方法和装置 |
CN109936707A (zh) * | 2019-04-12 | 2019-06-25 | 成都翰林博雅科技有限公司 | 基于低延迟ip流信号的视频矩阵调度切换方法 |
CN112947859A (zh) * | 2021-02-26 | 2021-06-11 | 拉卡拉支付股份有限公司 | 临时文件处理方法、装置、电子设备、介质及程序产品 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5583652A (en) * | 1994-04-28 | 1996-12-10 | International Business Machines Corporation | Synchronized, variable-speed playback of digitally recorded audio and video |
EP0811290B1 (en) * | 1995-02-23 | 2002-09-18 | Avid Technology, Inc. | Combined editing system and digital moving picture recording system |
KR20010032145A (ko) * | 1998-09-16 | 2001-04-16 | 에이씨티브이, 인크. | 압축 디지털 데이터의 연결 흔적이 없는 비디오 스위칭시스템 |
CN101212679B (zh) * | 2006-12-30 | 2010-04-14 | 凌阳科技股份有限公司 | Avi文件播放时切换多路音频流的av同步方法及装置 |
CN101472118B (zh) * | 2007-12-24 | 2011-12-28 | 新奥特(北京)视频技术有限公司 | 一种对收录系统收录过程中的文件进行切分的方法 |
CN101547360B (zh) * | 2009-05-08 | 2010-11-10 | 南京师范大学 | 可定位视频文件格式及该格式文件数据的采集方法 |
-
2009
- 2009-12-10 CN CN 200910242620 patent/CN102098423B/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103096131A (zh) * | 2013-02-06 | 2013-05-08 | 天脉聚源(北京)传媒科技有限公司 | 一种直播流处理方法和装置 |
CN103096131B (zh) * | 2013-02-06 | 2016-06-08 | 天脉聚源(北京)传媒科技有限公司 | 一种直播流处理方法和装置 |
CN103593307A (zh) * | 2013-11-25 | 2014-02-19 | 湖南强军科技有限公司 | 一种电磁法勘探系统处理采集数据的方法和装置 |
CN103593307B (zh) * | 2013-11-25 | 2016-04-20 | 湖南强军科技有限公司 | 一种电磁法勘探系统处理采集数据的方法和装置 |
CN108848406A (zh) * | 2015-07-27 | 2018-11-20 | 青岛海信移动通信技术股份有限公司 | 一种多媒体文件的录制方法和装置 |
CN108848406B (zh) * | 2015-07-27 | 2020-11-24 | 青岛海信移动通信技术股份有限公司 | 一种多媒体文件的录制方法和装置 |
CN106899880A (zh) * | 2015-12-19 | 2017-06-27 | 联芯科技有限公司 | 将多媒体数据分段保存的方法及系统 |
CN109936707A (zh) * | 2019-04-12 | 2019-06-25 | 成都翰林博雅科技有限公司 | 基于低延迟ip流信号的视频矩阵调度切换方法 |
CN112947859A (zh) * | 2021-02-26 | 2021-06-11 | 拉卡拉支付股份有限公司 | 临时文件处理方法、装置、电子设备、介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN102098423B (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7020892B2 (en) | Time-shifted video signal processing | |
CN102098423B (zh) | 一种无缝文件采集方法及系统 | |
US6535920B1 (en) | Analyzing, indexing and seeking of streaming information | |
US6820144B2 (en) | Data format for a streaming information appliance | |
US6378035B1 (en) | Streaming information appliance with buffer read and write synchronization | |
US6748481B1 (en) | Streaming information appliance with circular buffer for receiving and selectively reading blocks of streaming information | |
US6642966B1 (en) | Subliminally embedded keys in video for synchronization | |
US6463486B1 (en) | System for handling streaming information using a plurality of reader modules by enumerating output pins and associated streams of information | |
CN104410807A (zh) | 一种多路视频同步回放方法及装置 | |
EP1239674A2 (en) | Method and apparatus for recording broadcast data | |
US9324365B2 (en) | Multi-language buffering during media playback | |
CN103686312B (zh) | 一种dvr多路音视频记录方法 | |
US8401370B2 (en) | Application tracks in audio/video containers | |
CN104967901A (zh) | 媒体播放中的音轨切换方法和媒体播放设备 | |
CN105393544A (zh) | 媒体流传送中的动态轨道切换 | |
CN100418071C (zh) | 一种媒体文件系统的建立方法 | |
CN107093436A (zh) | 预录的音视频数据的存储方法及装置、移动终端 | |
CN105915985A (zh) | 一种直播中进行回看的方法及装置 | |
CN103873804A (zh) | 用于嵌入式nvr的录像回放时间轴与内容同步控制方法 | |
CN111163297A (zh) | 一种实现视频监控云存储高并发和快速回放的方法 | |
WO2000060590A1 (en) | Streaming information appliance with circular buffer | |
WO2020035036A1 (zh) | 一种节目录制、播放方法及装置 | |
CN101409098B (zh) | 一种在数字硬盘录像机中实现光盘实时刻录的方法 | |
CN102227773A (zh) | 多媒体数据记录 | |
CN106899880A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130327 Termination date: 20191210 |
|
CF01 | Termination of patent right due to non-payment of annual fee |