CN104092920A - 一种音视频同步方法 - Google Patents
一种音视频同步方法 Download PDFInfo
- Publication number
- CN104092920A CN104092920A CN201410336189.1A CN201410336189A CN104092920A CN 104092920 A CN104092920 A CN 104092920A CN 201410336189 A CN201410336189 A CN 201410336189A CN 104092920 A CN104092920 A CN 104092920A
- Authority
- CN
- China
- Prior art keywords
- audio
- video
- thread
- time
- image
- 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
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开一种音视频同步方法,属于计算机多媒体技术领域,包括如下步骤:开启图像抓取线程步骤,启动一个录音线程步骤和音视频同步步骤,上述音视频同步方法可以应用在屏幕录制时的音视频同步机制,也适用于使用数字设备进行录音录像的音视频同步,通过使用音频块数目转化到时间,并由该时间控制图像帧数目,使得总的音频时间、视频时间保持一致,进而有效保证音视频数据的严格同步。
Description
技术领域
本发明涉及一种音视频同步方法,属于计算机多媒体技术领域。
背景技术
音视频同步是多媒体技术领域里的核心关键技术。当前在通信工业开发领域都侧重于播放端的音视频同步,尤其是接在网络传输之后的播放端的同步问题。公开号为CN101118776的专利——实现音、视频数据同步的方法、系统及装置,利用视频数据或音频数据的位置标识与该数据的帧号的对应关系来进行同步;公开号为CN103581730的专利——在数字机顶盒上实现音视频同步的方法,公开了在数字电视线缆传输的接收端利用音频PTS1标签达到同步的方法,并且在网络传输状态下保持音视频动态同步的一种策略;公开号为CN103747316的专利——一种音视频同步方法和电子设备,利用音频时钟纠正系统时钟,然后令视频时钟与系统时钟同步。公开号为CN103546662的专利——一种网络监控系统中音视频同步方法,利用RTP分包的序列号实现音视频数据在缓冲区的合适放置并同步播放。到目前为止,还没有相关的现有技术公开以下音视频同步方法:利用数字设备进行录音录像并制作成多媒体视频文档。此外,播放端的同步的根本前提还是多媒体信号源生成时的同步,倘若音视频内容在生成时就没有保证同步,那么在播放端做同步机制也没有意义。
现在由于笔记本电脑、上网本、平板电脑、以及智能手机的使用的普遍性,无论对监控还是教学而言,显示屏屏幕内容和该设备播放声音或环境声音的录制变得越来越重要,有鉴于此,本发明人对此进行研究,专门开发出一种音视频同步方法,本案由此产生。
发明内容
本发明的目的是提供一种音视频同步方法,通过使用图像帧数目转化到时间,使得总的音频时间、视频时间保持一致,进而有效保证音视频数据的严格同步。
为了实现上述目的,本发明的解决方案是:
一种音视频同步方法,包括如下步骤:
1)开启图像抓取线程:按照预定帧率时间间隔捕获屏幕图像,然后通过视频编解码库进行编码,最后把视频码流存入视频文件;
2)在开启图像抓取线程的同时启动一个录音线程:抓取音频数据,然后通过音频编解码库进行编码,最后把音频码流写入视频文件;
3)音视频同步以音频为基准,录音线程每向视频文件写入一块音频数据的码流时,根据音频采样频率以及音频数据块录音块长度计算得到该视频文件的绝对时间T,所述绝对时间T即为视频文件播放时从文件开始到当前音频数据段的累计播放时间;
4)基于视频文件的绝对时间T,根据预设的视频帧率参数,计算得到截止到当前时刻的图像帧的数目a,a即为保持同步的帧数的理想值;然后从图像抓取线程里查询得到该线程到目前为止往视频文件写入的图像帧数目b,倘若a<b,则表示目前写入文件的图像帧过多,应在图像抓取线程中暂停往视频文件里写一次图像;倘若a≥b,则图像抓取线程正常执行往视频文中件写入一帧图像码流,实现音频和视频的同步,步骤3)和4)所述的处理过程伴随图像抓取线程和录音线程这两个线程的生命期全程。
上述步骤3)所述的绝对时间T(秒)是通过音频采集来计算的:
T=BlkNum*BlkLen/SR
其中,BlkLen是每一次抓取的录音数据块的长度(即样本数),是系统设计时预先定义的,BlkNum是迄今为止抓取录音数据块的次数(即音频线程被调用的次数),SR是音频采样率(即样本数/秒),也是系统设计时预定义的。
上述步骤4)所述的图像帧的数目a=T/fps,
其中,fps是帧率(frames per second),是系统预设参数。
本发明所述的音视频同步方法可以应用在屏幕录制时的音视频同步机制,也适用于使用数字设备进行录音录像的音视频同步,上述音视频同步方法通过使用图像帧数目转化到时间,使得总的音频时间、视频时间保持一致,进而有效保证音视频数据的严格同步。目前在部署操作系统的智能数字设备上尚无类似的同步录音录像技术。早期模拟摄录机由内置的模拟电路控制实现声音和图像信号的同步录制,后来的数字摄录设备,例如DV等也是依赖于ASIC(Application Specific Integrated Circuit)电路的驱动软件实现了音视频两路信号的同步控制,与现在的基于多任务的操作系统下的音视频同步方式有本质的不同,这些现有技术都无法应用到目前的录屏的需求里面。
以下结合附图及具体实施例对本发明做进一步详细描述。
附图说明
图1为本实施例的音视频同步方法流程图。
具体实施方式
本实施例中提到的视频帧率定义为:每一秒图像帧数目;
音频采样率定义为:音频模数转换时每一秒采样的样本数目;
音频数据块录音长度定义为:录音线程每一次从声卡录音缓冲里读取的数据长度或样本数目,该长度用采样率可以换算成代表时间长度。
一种音视频同步方法,如图1所示,包括如下步骤:
步骤101、首先开启图像抓取线程:按照预设的视频帧率时间间隔捕获屏幕图像,然后调用设备上预装的视频编解码库进行编码,最后把视频码流存入视频文件;
步骤201、在开启图像抓取线程的同时启动一个录音线程:抓取音频数据,然后调用设备上预装的音频编解码库进行编码,最后把音频码流写入视频文件;
步骤301、音视频同步以音频为基准,录音线程每向视频文件写入一块音频数据的码流时,根据音频采样频率以及音频数据录音块长度的累积值计算得到该视频文件的绝对时间T,所述绝对时间T即为视频文件播放时从文件开始到当前音频数据段的累积播放时间;
上述绝对时间T(秒)是通过音频采集来计算的:
T=BlkNum*BlkLen/SR,
BlkLen是每一次抓取的录音数据块的长度(即样本数),BlkNum是迄今为止抓取录音数据块的次数(即音频线程被调用的次数),SR是音频采样率(即样本数/秒)。
步骤401、基于视频文件的绝对时间,根据预设的视频帧率参数,计算得到截止到当前时刻的图像帧的数目a,a即为保持同步的帧数的理想值;然后从图像抓取线程里查询得到该线程到目前为止往视频文件写入的图像帧数目b,倘若a<b,则表示目前写入文件的图像帧过多,应在图像抓取线程中暂停往视频文件里写一次图像;倘若a≥b,则图像抓取线程正常执行往视频文中件写入一帧图像码流,实现音视频同步,步骤3)和4)所述的处理过程伴随图像抓取线程和录音线程这两个线程的生命期全程。
上述步骤4)所述的图像帧的数目a=T/fps,
fps是帧率(frames per second),是系统预设参数。
现有音视频录制方式主要基于各类硬件设备(比如DV)进行工作,音视频的同步由图像和音频采集电路芯片的内置驱动软件完成,主要通过硬件时钟控制音频视频电路进行数据采集,由于硬件相比于软件的良好的实时性使得两路信号同步很容易得到保证。而屏幕录制由于操作系统的多线程、多任务机制必须要令两个工作线程同步才能使得获取的数据同步,本实施例所述的音视频同步方法通过使用音频块数目转化到时间,并由该时间控制图像帧数目,使得总的音频时间、视频时间保持一致,进而有效保证音视频数据的严格同步。
上述实施例和图式并非限定本发明的产品形态和式样,任何所属技术领域的普通技术人员对其所做的适当变化或修饰,皆应视为不脱离本发明的专利范畴。
Claims (3)
1.一种音视频同步方法,其特征在于包括如下步骤:
1)开启图像抓取线程:按照预定帧率时间间隔捕获屏幕图像,然后通过视频编解码库进行编码,最后把视频码流存入视频文件;
2)在开启图像抓取线程的同时启动一个录音线程:抓取音频数据,然后通过音频编解码库进行编码,最后把音频码流写入视频文件;
3)音视频同步以音频为基准,录音线程每向视频文件写入一块音频数据的码流时,根据音频采样频率以及音频数据块录音块长度计算得到该视频文件的绝对时间T,所述绝对时间T即为视频文件播放时从文件开始到当前音频数据段的累计播放时间;
4)基于视频文件的绝对时间T,根据预设的视频帧率参数,计算得到截止到当前时刻的图像帧的数目a,a即为保持同步的帧数的理想值;然后从图像抓取线程里查询得到该线程到目前为止往视频文件写入的图像帧数目b,倘若a<b,则表示目前写入文件的图像帧过多,应在图像抓取线程中暂停往视频文件里写一次图像;倘若a≥b,则图像抓取线程正常执行往视频文中件写入一帧图像码流,实现音频和视频的同步,步骤3)和4)所述的处理过程伴随图像抓取线程和录音线程这两个线程的生命期全程。
2.如权利要求1所述的一种音视频同步方法,其特征在于:上述步骤3)所述的绝对时间T(秒)是通过音频采集来计算的:
T=BlkNum*BlkLen/SR,
其中,BlkLen是每一次抓取的录音数据块的长度,BlkNum是迄今为止抓取录音数据块的次数,SR是音频采样率。
3.如权利要求2所述的一种音视频同步方法,其特征在于:上述步骤4)所述的图像帧的数目a=T/fps,
其中,fps是帧率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410336189.1A CN104092920A (zh) | 2014-07-16 | 2014-07-16 | 一种音视频同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410336189.1A CN104092920A (zh) | 2014-07-16 | 2014-07-16 | 一种音视频同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104092920A true CN104092920A (zh) | 2014-10-08 |
Family
ID=51640600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410336189.1A Pending CN104092920A (zh) | 2014-07-16 | 2014-07-16 | 一种音视频同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104092920A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016095369A1 (zh) * | 2014-12-18 | 2016-06-23 | 中兴通讯股份有限公司 | 屏幕录制的方法及装置 |
CN106412662A (zh) * | 2016-09-20 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 时间戳分配方法及装置 |
CN106875952A (zh) * | 2016-12-23 | 2017-06-20 | 伟乐视讯科技股份有限公司 | 基于fpga嵌入式系统的多路音频软编码机制 |
CN108156515A (zh) * | 2017-12-27 | 2018-06-12 | 深圳Tcl新技术有限公司 | 视频播放方法、智能电视及计算机可读存储介质 |
CN108377415A (zh) * | 2018-02-11 | 2018-08-07 | 浙江大华技术股份有限公司 | 一种视频帧率的确定方法及装置 |
CN109600566A (zh) * | 2018-12-03 | 2019-04-09 | 浙江工业大学 | 一种视频配音方法 |
CN109640023A (zh) * | 2019-01-31 | 2019-04-16 | 北京字节跳动网络技术有限公司 | 一种视频录制方法、装置、服务器及存储介质 |
CN109788339A (zh) * | 2019-01-31 | 2019-05-21 | 北京字节跳动网络技术有限公司 | 一种视频录制方法、装置、电子设备及存储介质 |
CN110290413A (zh) * | 2019-07-02 | 2019-09-27 | 广州清汇信息科技有限公司 | 一种多媒体数据录制方法、播放方法及录制分享系统 |
CN110312137A (zh) * | 2019-04-01 | 2019-10-08 | 浙江工业大学 | 一种音频播放驱动录像的视频文件生成方法 |
CN111355975A (zh) * | 2020-03-26 | 2020-06-30 | 郑州信大捷安信息技术股份有限公司 | 一种直播客户端音视频延时调节播放系统及方法 |
CN113205822A (zh) * | 2021-04-02 | 2021-08-03 | 苏州开心盒子软件有限公司 | 一种多路音频数据录制混音方法及装置、存储介质 |
CN114501095A (zh) * | 2022-02-11 | 2022-05-13 | 广州市保伦电子有限公司 | 一种基于录制终端的音视频同步录制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931775A (zh) * | 2010-09-01 | 2010-12-29 | 中兴通讯股份有限公司 | 一种录像方法及装置 |
CN102685507A (zh) * | 2011-07-12 | 2012-09-19 | 天脉聚源(北京)传媒科技有限公司 | 一种mpeg-2传输流解码音视频同步方法和系统 |
CN103167320A (zh) * | 2011-12-15 | 2013-06-19 | 中国电信股份有限公司 | 音视频同步方法、系统及手机直播客户端 |
CN103391467A (zh) * | 2013-07-16 | 2013-11-13 | 四川省迪特尔电子有限公司 | 网络机顶盒音视频解码与播放同步实现方法 |
-
2014
- 2014-07-16 CN CN201410336189.1A patent/CN104092920A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931775A (zh) * | 2010-09-01 | 2010-12-29 | 中兴通讯股份有限公司 | 一种录像方法及装置 |
CN102685507A (zh) * | 2011-07-12 | 2012-09-19 | 天脉聚源(北京)传媒科技有限公司 | 一种mpeg-2传输流解码音视频同步方法和系统 |
CN103167320A (zh) * | 2011-12-15 | 2013-06-19 | 中国电信股份有限公司 | 音视频同步方法、系统及手机直播客户端 |
CN103391467A (zh) * | 2013-07-16 | 2013-11-13 | 四川省迪特尔电子有限公司 | 网络机顶盒音视频解码与播放同步实现方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016095369A1 (zh) * | 2014-12-18 | 2016-06-23 | 中兴通讯股份有限公司 | 屏幕录制的方法及装置 |
CN105763926A (zh) * | 2014-12-18 | 2016-07-13 | 中兴通讯股份有限公司 | 屏幕录制的方法及装置 |
CN106412662A (zh) * | 2016-09-20 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 时间戳分配方法及装置 |
CN106875952A (zh) * | 2016-12-23 | 2017-06-20 | 伟乐视讯科技股份有限公司 | 基于fpga嵌入式系统的多路音频软编码机制 |
CN108156515A (zh) * | 2017-12-27 | 2018-06-12 | 深圳Tcl新技术有限公司 | 视频播放方法、智能电视及计算机可读存储介质 |
CN108377415A (zh) * | 2018-02-11 | 2018-08-07 | 浙江大华技术股份有限公司 | 一种视频帧率的确定方法及装置 |
CN109600566A (zh) * | 2018-12-03 | 2019-04-09 | 浙江工业大学 | 一种视频配音方法 |
CN109788339A (zh) * | 2019-01-31 | 2019-05-21 | 北京字节跳动网络技术有限公司 | 一种视频录制方法、装置、电子设备及存储介质 |
CN109640023A (zh) * | 2019-01-31 | 2019-04-16 | 北京字节跳动网络技术有限公司 | 一种视频录制方法、装置、服务器及存储介质 |
CN109640023B (zh) * | 2019-01-31 | 2021-06-18 | 北京字节跳动网络技术有限公司 | 一种视频录制方法、装置、服务器及存储介质 |
CN110312137A (zh) * | 2019-04-01 | 2019-10-08 | 浙江工业大学 | 一种音频播放驱动录像的视频文件生成方法 |
CN110290413A (zh) * | 2019-07-02 | 2019-09-27 | 广州清汇信息科技有限公司 | 一种多媒体数据录制方法、播放方法及录制分享系统 |
CN111355975A (zh) * | 2020-03-26 | 2020-06-30 | 郑州信大捷安信息技术股份有限公司 | 一种直播客户端音视频延时调节播放系统及方法 |
CN111355975B (zh) * | 2020-03-26 | 2021-09-07 | 郑州信大捷安信息技术股份有限公司 | 一种直播客户端音视频延时调节播放系统及方法 |
CN113205822A (zh) * | 2021-04-02 | 2021-08-03 | 苏州开心盒子软件有限公司 | 一种多路音频数据录制混音方法及装置、存储介质 |
CN114501095A (zh) * | 2022-02-11 | 2022-05-13 | 广州市保伦电子有限公司 | 一种基于录制终端的音视频同步录制方法 |
CN114501095B (zh) * | 2022-02-11 | 2024-09-17 | 广东保伦电子股份有限公司 | 一种基于录制终端的音视频同步录制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104092920A (zh) | 一种音视频同步方法 | |
AU2022200777B2 (en) | Methods and apparatus for an embedded appliance | |
CN101076121B (zh) | 流生成装置、成像装置、数据处理装置和流生成方法 | |
US20150062353A1 (en) | Audio video playback synchronization for encoded media | |
TW200822736A (en) | Method and apparatus for receiving, storing, and presenting multimedia programming without indexing prior to storage | |
CN108429924B (zh) | 用于播放替换用广告的显示装置及其控制方法 | |
JP5879169B2 (ja) | 字幕同期再生装置およびそのプログラム | |
CN109040818B (zh) | 直播时的音视频同步方法、存储介质、电子设备及系统 | |
CN111131917B (zh) | 音频频谱实时同步方法、播放装置 | |
CN111131868B (zh) | 基于播放器的视频录制方法及装置 | |
US20100138890A1 (en) | Device to allow content analysis in real time | |
NZ619460B2 (en) | Methods and apparatus for an embedded appliance | |
JP2010258785A (ja) | 多重化ストリームデータ再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141008 |
|
RJ01 | Rejection of invention patent application after publication |