[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN114501095B - 一种基于录制终端的音视频同步录制方法 - Google Patents

一种基于录制终端的音视频同步录制方法 Download PDF

Info

Publication number
CN114501095B
CN114501095B CN202210131505.6A CN202210131505A CN114501095B CN 114501095 B CN114501095 B CN 114501095B CN 202210131505 A CN202210131505 A CN 202210131505A CN 114501095 B CN114501095 B CN 114501095B
Authority
CN
China
Prior art keywords
video
audio
data
thread
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.)
Active
Application number
CN202210131505.6A
Other languages
English (en)
Other versions
CN114501095A (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.)
Guangdong Baolun Electronics Co ltd
Original Assignee
Guangdong Baolun 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 Guangdong Baolun Electronics Co ltd filed Critical Guangdong Baolun Electronics Co ltd
Priority to CN202210131505.6A priority Critical patent/CN114501095B/zh
Publication of CN114501095A publication Critical patent/CN114501095A/zh
Application granted granted Critical
Publication of CN114501095B publication Critical patent/CN114501095B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/4302Content synchronisation processes, e.g. decoder synchronisation
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/439Processing of audio elementary streams
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开一种基于录制终端的音视频同步录制方法,包括:录制终端初始化;在第一线程和第二线程同时进行,分别写入音频数据和视频数据到对应的链表,在第三线程和第四线程上同步分别读取对应的音频数据和视频数据并编码,编码后的音视频数据经过业务处理后进行解码,获得音视频成功解码时间;根据第一次成功音频编码时间和第一次成功视频解码时间的时间差决定是否向视频数据写入音频数据;计算出绝对时间,以第一次在绝对时间内写入的视频数据的帧数数量作为标准数据值,并基于此确定增加或抛掉视频帧或不处理。本发明可有效避免音视频数据的获取时间延长的问题,来实现音视频的唇音同步,从而提高音视频的同步效果。

Description

一种基于录制终端的音视频同步录制方法
技术领域
本发明涉及音视频录制技术领域,具体涉及一种基于录制终端的音视频同步录制方法。
背景技术
近年来,随着互联网的发展,对于视频的录制/录播得到越来越广泛的应用,例如在教育和在线或线上线性结合的会议,对音视频录制的同步要求也越来越高,要求当前播放画面与音频能够准确对应,要求对应准确率要求越来越高。对应准确率体现在观看录制的视频时,该音频能够与视频中的唇音(口型)能够同步,避免出现视频中的人员已经开口说话但音频却还未播放出来,也即避免出现音视频不同步的现象,从而导致观众的体验感很差。
另外,现有市场上的音视频录制,大多数是一旦获取到音视频数据后立马进行数据的处理和发送后,由接收端获取数据后进行解码播放,这妨碍了音视频获取时间的加长,导致音视频获取数据的时间差变大,进而会慢慢出现音视频不同步。
发明内容
针对现有技术的不足,本发明的目的提供一种基于录制终端的音视频同步录制方法,其能够解决现有技术音视频录制不同步而导致播放画面与音频不同步的问题。
实现本发明的目的的技术方案为:一种基于录制终端的音视频同步录制方法,包括以下步骤:
步骤1:初始化所述录制终端,录制终端包括音视频采集模块、音视频编码模块和音视频解码模块;
步骤2:录制终端内预先建立第一线程、第二线程、第三线程和第四线程,在第一线程上,将音视频采集模块采集的音频数据写入第一链表,在第二线程上,将音视频模块采集的视频数据写入第二链表,
在第三线程上,读取第一链表内的音频数据,并将读取出来的音频数据进行音频编码后,获取音频数据的成功编码时间tsc
并将编码后的音频数据经过业务处理,音频解码模块将经过业务处理后的音频数据进行解码并获得音频数据的成功解码时间psc
在第四线程上,读取第二链表内的视频数据,并将读取出来的视频数据进行视频编码后,获取视频数据的成功编码时间tvc
并将编码后的视频数据经过业务处理,视频解码模块将经过业务处理后的视频数据进行解码并获得视频数据的成功解码时间pvc
步骤3:计算出第一次成功编码时间tsc和第一次成功编码时间tvc的时间差tsvc,即tsvc=tvc-tsc
若tsvc≥0,则将解码后的音频数据写入解码后的视频数据内,形成一个音视频录制文件,
若tsvc<0,则结束处理。
进一步地,所述步骤3中,若tsvc≥0,则将解码后的音频数据写入解码后的视频数据内,形成一个音视频录制文件,其具体实现过程包括以下步骤:
根据公式①计算出绝对时间T,绝对时间T表征视频数据从开始播放到当前写入音频数据的累计播放时间:
式中,AudioNum表示音频数据块的次数,AudioLen表示解码后的音频数据的总长度,单位为帧,R表示音频采样率,
以第一次在绝对时间内写入的视频数据的帧数数量作为标准数据值,若在绝对时间内,当前写入的视频数据小于标准数据值,则在当前视频数据的最后一帧视频帧之后添加一帧视频,添加的视频帧为复制当前的最后一帧视频帧,
若在绝对时间内,当前写入的视频数据大于标准数据值,则从视频数据中抛掉最后一帧视频帧,
若在绝对时间内,当前写入的视频数据跟标准数据值相同,则无需向视频数据抛掉或补充视频帧。
进一步地,所述音频采集和视频采集为共同集成在一起的集成模块,或者是分立模块。
进一步地,所述音视频编码模块和音视频解码模块为共同集成在一起的集成模块,或者是分立模块。
进一步地,所述步骤2中,第一线程和第二线程同时进行。
进一步地,所述步骤2中,第一线程和第三线程同步进行,第二线程和第四线程同步进行。
本发明的有益效果为:本发明可有效避免音视频数据的获取时间延长的问题,来实现音视频的唇音同步,从而提高音视频的同步效果。
附图说明
图1为本发明的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
如图1所示,一种基于录制终端的音视频同步录制方法,包括以下步骤:
步骤1:初始化所述录制终端,使得录制终端内的音视频采集模块、音视频编码模块和音视频解码模块可以开始正常工作。其中,音视频采集模块可以是音频采集和视频采集共同集成在一起的集成模块,也可以是分立模块,音视频编码模块和音视频解码模块也是如此。
步骤2:录制终端内预先建立第一线程、第二线程、第三线程和第四线程,在第一线程上,将音视频采集模块采集的音频数据写入第一链表,在第二线程上,将音视频模块采集的视频数据写入第二链表,从而将音频数据和视频数据分别在第一链表和第二链表中存储起来。其中,第一线程和第二线程是同时进行的,也即是同时进行采集音频数据和视频数据,并将音频数据和视频数据同时进行存储。
其中,在第一线程和第二线程上,不断采集音频数据和视频数据,并不断将采集到的音频数据和视频数据写入对应的链表中,也即相当于可以在第一线程和第二线程上不断循环下去,相当于实现了音频和视频数据的异步获取。
在第三线程上,读取第一链表内的音频数据,并将读取出来的音频数据进行音频编码后,获取音频数据的成功编码时间tsc,音频数据的成功编码时间也即是指当前音频数据完成编码的时刻,并将编码后的音频数据经过录制终端内的业务管理芯片进行业务处理后,音频解码模块将经过业务处理后的音频数据进行解码并获得音频数据的成功解码时间psc,成功解码时间psc也即是业务管理芯片将音频数据输送给音频解码模块进行解码并成功将音频数据解码出的时刻,也即是当前音频数据完成解码的时刻。在成功获得成功解码时间psc后即可将解码后的音频数据发送出去。
在第四线程上,读取第二链表内的视频数据,并将读取出来的视频数据进行视频编码后,获取视频数据的成功编码时间tvc,视频数据的成功编码时间也即是当前视频数据完成编码的时刻,并将编码后的视频数据经过录制终端内的业务管理芯片进行业务处理后,视频解码模块将经过业务处理后的视频数据进行解码并获得视频数据的成功解码时间pvc,成功解码时间pvc也即是业务管理芯片将视频数据输送给视频解码模块进行解码并成功将视频数据解码出的时刻,也即是当前视频数据完成解码的时刻。在成功获得成功解码时间pvc后即可将解码后的视频数据发送出去。
在本步骤中,对于音频数据而言,采用了2个线程分别处理,一个线程负责对音频数据的采集存储,另一个线程负责对存储起来的音频数据进行读取后依次进行编码和解码,并将解码后的音频数据发送出去,从而使得每一个线程都可以不断进行采集音频数据和编解码音频数据,并将解码后的音频数据发送出去。由于单线程只能经过采集音频数据并完成编解码发送数据后,才重新进入下一轮的音频数据采集,相比于采用单线程,能够大大节省音频数据的采集、编解码和发送所需的处理时间。对于视频数据而言,也同样如此,相比于采用单线程,能够大大节省视频数据的采集、编解码和发送所需的处理时间。
其中,第一线程和第三线程是同步进行的,第二线程和第四线程也是同步进行的。
步骤3:计算出第一次成功编码时间tsc和第一次成功编码时间tvc的时间差tsvc,即tsvc=tvc-tsc,该时间差tsvc作为硬件时长,硬件时长是指从初始化开始后第一次完成音频解码到第一次完成视频编码之间的时间长度。硬件时长主要用于作为时间参考点,以此来判断音视频编码时间差。
若硬件时长过长,则抛掉解码后的视频数据的最后一帧视频帧;若硬件时长过短,则在解码后的视频数据的最后一帧添加视频,该帧取原来的最后一帧。
若tsvc≥0,也即若硬件时长大于或等于0(表示音频编码时间长于视频编码时间),则将解码后的音频数据写入解码后的视频数据内,形成一个音视频录制文件。具体的,按照绝对时间,将音频数据写入视频数据中,并且每写入音频数据的一块音频数据码流,根据音频采样频数和音频数据长度的累计值计算视频数据的绝对时间,具体可以根据公式①计算出绝对时间T,绝对时间T表征视频数据从开始播放到当前写入音频数据的累计播放时间。其中,公式①计算式如下:
式中,AudioNum表示音频数据块的次数,AudioLen表示解码后的音频数据的总长度,单位为帧,R表示音频采样率。
若tsvc<0,则不进行处理,即无需向当前视频数据抛掉当前视频帧,也无需向当前视频数据帧中增加视频帧。
步骤4:以第一次在绝对时间内写入的视频数据的帧数数量作为标准数据值,若在绝对时间内,当前写入的视频数据小于标准数据值,则在当前视频数据的最后一帧视频帧之后添加一帧视频,添加的视频帧为复制当前的最后一帧视频帧,若在绝对时间内,当前写入的视频数据大于标准数据值,则从视频数据中抛掉最后一帧视频帧;若在绝对时间内,当前写入的视频数据跟标准数据值相同,则无需向视频数据抛掉或补充视频帧。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (6)

1.一种基于录制终端的音视频同步录制方法,其特征在于,包括以下步骤:
步骤1:初始化所述录制终端,录制终端包括音视频采集模块、音视频编码模块和音视频解码模块;
步骤2:录制终端内预先建立第一线程、第二线程、第三线程和第四线程,在第一线程上,将音视频采集模块采集的音频数据写入第一链表,在第二线程上,将音视频模块采集的视频数据写入第二链表,
在第三线程上,读取第一链表内的音频数据,并将读取出来的音频数据进行音频编码后,获取音频数据的成功编码时间tsc
并将编码后的音频数据经过业务处理,音频解码模块将经过业务处理后的音频数据进行解码并获得音频数据的成功解码时间psc
在第四线程上,读取第二链表内的视频数据,并将读取出来的视频数据进行视频编码后,获取视频数据的成功编码时间tvc
并将编码后的视频数据经过业务处理,视频解码模块将经过业务处理后的视频数据进行解码并获得视频数据的成功解码时间pvc
步骤3:计算出第一次成功编码时间tsc和第一次成功编码时间tvc的时间差tsvc,即tsvc=tvc-tsc
若tsvc≥0,则将解码后的音频数据写入解码后的视频数据内,形成一个音视频录制文件,
若tsvc<0,则结束处理。
2.根据权利要求1所述的基于录制终端的音视频同步录制方法,其特征在于,所述步骤3中,若tsvc≥0,则将解码后的音频数据写入解码后的视频数据内,形成一个音视频录制文件,其具体实现过程包括以下步骤:
根据公式①计算出绝对时间T,绝对时间T表征视频数据从开始播放到当前写入音频数据的累计播放时间:
式中,AudioNum表示音频数据块的次数,AudioLen表示解码后的音频数据的总长度,单位为帧,R表示音频采样率,
以第一次在绝对时间内写入的视频数据的帧数数量作为标准数据值,若在绝对时间内,当前写入的视频数据小于标准数据值,则在当前视频数据的最后一帧视频帧之后添加一帧视频,添加的视频帧为复制当前的最后一帧视频帧,
若在绝对时间内,当前写入的视频数据大于标准数据值,则从视频数据中抛掉最后一帧视频帧,
若在绝对时间内,当前写入的视频数据跟标准数据值相同,则无需向视频数据抛掉或补充视频帧。
3.根据权利要求1所述的基于录制终端的音视频同步录制方法,其特征在于,所述音频采集和视频采集为共同集成在一起的集成模块,或者是分立模块。
4.根据权利要求1或3所述的基于录制终端的音视频同步录制方法,其特征在于,所述音视频编码模块和音视频解码模块为共同集成在一起的集成模块,或者是分立模块。
5.根据权利要求1所述的基于录制终端的音视频同步录制方法,其特征在于,所述步骤2中,第一线程和第二线程同时进行。
6.根据权利要求1或5所述的基于录制终端的音视频同步录制方法,其特征在于,所述步骤2中,第一线程和第三线程同步进行,第二线程和第四线程同步进行。
CN202210131505.6A 2022-02-11 2022-02-11 一种基于录制终端的音视频同步录制方法 Active CN114501095B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210131505.6A CN114501095B (zh) 2022-02-11 2022-02-11 一种基于录制终端的音视频同步录制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210131505.6A CN114501095B (zh) 2022-02-11 2022-02-11 一种基于录制终端的音视频同步录制方法

Publications (2)

Publication Number Publication Date
CN114501095A CN114501095A (zh) 2022-05-13
CN114501095B true CN114501095B (zh) 2024-09-17

Family

ID=81480013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210131505.6A Active CN114501095B (zh) 2022-02-11 2022-02-11 一种基于录制终端的音视频同步录制方法

Country Status (1)

Country Link
CN (1) CN114501095B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092920A (zh) * 2014-07-16 2014-10-08 浙江航天长峰科技发展有限公司 一种音视频同步方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11308613A (ja) * 1998-04-22 1999-11-05 Nippon Telegr & Teleph Corp <Ntt> 映像音響同期方法および装置および映像音響同期プログラムを記録した記録媒体
CN103167320B (zh) * 2011-12-15 2016-05-25 中国电信股份有限公司 音视频同步方法、系统及手机直播客户端
CN103391467A (zh) * 2013-07-16 2013-11-13 四川省迪特尔电子有限公司 网络机顶盒音视频解码与播放同步实现方法
CN104092957B (zh) * 2014-07-16 2017-07-11 浙江航天长峰科技发展有限公司 一种融合人像和语音的屏幕视频生成方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092920A (zh) * 2014-07-16 2014-10-08 浙江航天长峰科技发展有限公司 一种音视频同步方法

Also Published As

Publication number Publication date
CN114501095A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN107948735B (zh) 一种视频播放方法、装置及电子设备
US10546599B1 (en) Systems and methods for identifying a mute/sound sample-set attribute
CN101635848B (zh) 一种视频文件的编辑方法和装置
CN110324643B (zh) 一种视频录制方法及系统
WO2016131223A1 (zh) 一种视频帧丢帧方法及视频发送装置
CN105049917B (zh) 录制音视频同步时间戳的方法和装置
WO2018076998A1 (zh) 一种回放视频文件的生成方法和装置
WO2021082667A1 (zh) 视频数据编码方法、装置、设备和存储介质
CN103475927B (zh) 在线视频实时变速播放方法及系统
CN107707967A (zh) 一种视频文件封面的确定方法、装置及计算机可读存储介质
US7885514B2 (en) Apparatus and method for determining rendering duration of video frame
US8340509B2 (en) Method and device for controlling playing speed of a compressed digital video sequence (trickmode)
CN112019880B (zh) 一种任意帧率视频文件拼接方法
US10021433B1 (en) Video-production system with social-media features
CN101383961B (zh) 内容再现设备、内容再现方法以及内容再现系统
CN105704508A (zh) 一种视频合并方法及装置
CN112653904B (zh) 一种基于pts与dts修改的快速视频裁剪方法
US7269184B2 (en) Data transmission method and apparatus and data receiving method and apparatus
CN117319582A (zh) 一种人类动作视频采集和流畅合成的方法及装置
CN107623852B (zh) 一种对数字视频信号进行编码及降帧的方法及装置
CN114501095B (zh) 一种基于录制终端的音视频同步录制方法
CN104994406B (zh) 一种基于Silverlight插件的视频编辑方法和装置
CN113965786A (zh) 精准控制视频输出播放的方法
US6697121B2 (en) Synchronous decoding method for AV packets
CN113207040A (zh) 一种视频远程快速回放的数据处理方法、装置及系统

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
CB02 Change of applicant information

Address after: No. 56 Nanli East Road, Shiqi Town, Panyu District, Guangzhou City, Guangdong Province, 510000

Applicant after: Guangdong Baolun Electronics Co.,Ltd.

Address before: No.19 Chuangyuan Road, Zhongcun street, Panyu District, Guangzhou, Guangdong 510000

Applicant before: GUANGZHOU ITC ELECTRONIC TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant