CN110166723A - 一种录屏中的音视频同步方法、电子设备、存储介质 - Google Patents

一种录屏中的音视频同步方法、电子设备、存储介质 Download PDF

Info

Publication number
CN110166723A
CN110166723A CN201910263439.6A CN201910263439A CN110166723A CN 110166723 A CN110166723 A CN 110166723A CN 201910263439 A CN201910263439 A CN 201910263439A CN 110166723 A CN110166723 A CN 110166723A
Authority
CN
China
Prior art keywords
audio
microphone
application
mixed
video
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
Application number
CN201910263439.6A
Other languages
English (en)
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.)
Guangzhou Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information Technology 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 Guangzhou Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201910263439.6A priority Critical patent/CN110166723A/zh
Publication of CN110166723A publication Critical patent/CN110166723A/zh
Pending legal-status Critical Current

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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • 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
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals
    • 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
    • H04N21/4402Processing 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 involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N5/9201Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal
    • H04N5/9202Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal the additional signal being a sound signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请公开了一种录屏中的音视频同步方法、电子设备、存储介质,该音视频同步方法包括:获取录屏产生的应用音频、麦克风音频和视频帧;对应用音频和麦克风音频进行音频同步混流处理,以得到混合音频;对混合音频和视频帧进行音视频同步处理。通过上述方式,实现了在进行录屏中的音视频同步,为视频录制、网络直播等产品提供底层技术支持。

Description

一种录屏中的音视频同步方法、电子设备、存储介质
技术领域
本申请涉及音视频处理技术领域,特别是涉及一种录屏中的音视频同步方法、电子设备、存储介质。
背景技术
IOS(原名iPhone OS,自IOS4后改名为IOS)是为一些移动设备所开发的专有移动操作系统,所支持的设备包括iPhone、iPod touch和iPad。
Replaykit是IOS对屏幕进行直播推出的框架,ReplayKit框架作用是从屏幕录制或流式传输视频,以及来自应用和麦克风的音频。使用ReplayKit框架,用户可以从屏幕录制视频,从应用程序和麦克风录制音频。
由于Replaykit框架中包含多种音频以及视频数据,多种音频、视频会出现不同步的情况。
发明内容
为解决上述问题,本申请提供了一种录屏中的音视频同步方法、电子设备、存储介质,实现了录屏中的音视频同步,为视频录制、网络直播等产品提供底层技术支持。
本申请采用的一个技术方案是:提供一种录屏中的音视频同步方法,该方法包括:获取录屏产生的应用音频、麦克风音频和视频帧;对应用音频和麦克风音频进行音频同步混流处理,以得到混合音频;对混合音频和视频帧进行音视频同步处理。
其中,获取录屏产生的应用音频、麦克风音频和视频帧的步骤之后,还包括:创建应用音频线程安全列表和麦克风音频线程安全列表;将应用音频插入至应用音频线程安全列表,以及将麦克风音频插入至麦克风音频线程安全列表。
其中,对应用音频和麦克风音频进行音频同步混流处理,以得到混合音频的步骤,包括:对应用音频和麦克风音频进行转码处理;对转码处理后的应用音频和麦克风音频进行音频同步处理;对音频同步处理后的应用音频和麦克风音频进行音频混流处理,以得到混合音频。
其中,对转码处理后的应用音频和麦克风音频进行音频同步处理的步骤,包括:按照设定时间间隔读取应用音频线程安全列表的列表头中的应用音频节点和麦克风音频线程安全列表的列表头中的麦克风音频节点;其中,设定时间间隔大于或等于应用音频的延迟时间;将应用音频节点和麦克风音频节点进行音频同步处理。
其中,对音频同步处理后的应用音频和麦克风音频进行音频混流处理,以得到混合音频的步骤,包括:将应用音频和麦克风音频的标记位进行统一;采用加权平均算法,对应用音频和麦克风音频进行音频混流处理,以得到混合音频。
其中,获取录屏产生的应用音频、麦克风音频和视频帧的步骤之后,还包括:创建视频线程安全列表;将视频帧插入视频线程安全列表;对视频帧进行编码处理;将编码处理后的视频帧进行存储。
其中,对混合音频和视频帧进行同步处理的步骤,包括:在获取到混合音频后,基于混合音频计算时间戳;基于时间戳对混合音频和视频帧进行同步处理。
其中,基于混合音频计算时间戳的步骤,包括:从混合音频中获取多个音频节点;对多个音频节点进行叠加计算以得到时间戳。
其中,获取录屏产生的应用音频、麦克风音频和视频帧的步骤,包括:检测麦克风是否打开;若是,则执行获取录屏产生的应用音频、麦克风音频和视频帧的步骤;若否,则获取录屏产生的应用音频和视频帧,并将应用音频作为混合音频。
本申请采用的另一个技术方案是:提供一种电子设备,该电子设备包括:获取模块,用于获取录屏产生的应用音频、麦克风音频和视频帧;音频同步模块,用于对应用音频和麦克风音频进行音频同步混流处理,以得到混合音频;音视频同步模块,用于对混合音频和视频帧进行音视频同步处理。
本申请采用的另一个技术方案是:提供一种电子设备,该电子设备包括显示组件、音频组件、处理器以及存储器;其中,显示组件用于显示视频画面,音频组件用于播放音频,存储器用于存储程序数据,处理器用于执行程序数据以实现如上述的音视频同步方法。
本申请采用的另一个技术方案是:提供一种计算机存储介质,计算机存储介质存储有程序数据,程序数据在被处理器执行时,用以实现如上述的音视频同步方法。
本申请提供的录屏中的音视频同步方法包括:获取录屏产生的应用音频、麦克风音频和视频帧;对应用音频和麦克风音频进行音频同步混流处理,以得到混合音频;对混合音频和视频帧进行音视频同步处理。通过上述方式,先将App音频和Mic音频进行同步混流处理,再将音频同步混流处理后的Mix音频和视频帧同步,实现了ReplayKit录屏中的音视频同步,为视频录制、网络直播等产品提供底层技术支持。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的录屏中的音视频同步方法第一实施例的流程示意图;
图2是本申请提供的录屏中的音视频同步方法第二实施例的流程示意图;
图3是本申请提供的录屏中的音视频同步方法第三实施例的流程示意图;
图4是本申请提供的录屏中的音视频同步方法第四实施例的流程示意图;
图5是本申请提供的电子设备第一实施例的结构示意图;
图6是本申请提供的电子设备第二实施例的结构示意图;
图7是本申请提供的计算机存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
参阅图1,图1是本申请提供的录屏中的音视频同步方法第一实施例的流程示意图,该方法包括:
步骤11:获取录屏产生的应用音频、麦克风音频和视频帧。
在IOS系统中,ReplayKit开发工具箱的数据返回主要包括音频帧和视频帧。
其中,音频帧包括RPSampleBufferTypeAudioApp,即App(application,应用程序)内部音频数据内容,以下简称App音频,和RPSampleBufferTypeAudioApp,即麦克风音频数据内容,以下简称Mic音频。
其中,视频帧,即RPSampleBufferTypeVideo,为裸视频帧数据内容。
可以理解的,ReplayKit框架是用于进行录屏的一个框架,在录屏的过程中,一方面有来自App的音频,如视频App、游戏App、音乐App等,另一方面又来自麦克风接收的音频,如用户说话。
可选的,初始化时分别创建App音频线程安全列表、Mic音频线程安全列表和视频线程安全列表。在收到ReplayKit音频帧时,在各自的线程中将其插入线程安全列表,使得Replaykit能够迅速返回,尽可能地做到不阻塞ReplayKit的线程。
可以理解的是,ReplayKit的线程只用于读取和写入应用音频、麦克风音频以及视频帧。
可以理解的,App音频、Mic音频以及视频帧读取时,如果出现阻塞情况,则会导致音频停顿与跳跃问题,视频帧不连续与画面来回跳问题,所以应当确保不阻塞ReplayKit的线程。
可选的,在一实施例中,在接收到App音频时,插入至App音频线程安全列表;在接收到Mic音频时,插入至Mic音频线程安全列表;在接收到视频帧时,插入至视频线程安全列表。
具体地,在初始化时创建视频线程安全列表,在收到ReplayKit的视频帧时,在接收线程中将视频帧插入频线程安全列表,使得Replaykit能够迅速返回,尽可能地做到不阻塞ReplayKit的线程。
可以进一步理解的为,获取到录屏产生的应用音频、麦克风音频和视频帧,将录屏产生的应用音频和麦克风音频交给独立的第一线程,将录屏产生的视频帧交给独立的第二线程。
步骤12:对应用音频和麦克风音频进行音频同步混流处理,以得到混合音频。
对于Mic音频,ReplayKit按照每2048字节返回一次,在ReplayKit开始工作时立刻予以返回。对于App音频,ReplayKit按照每500毫秒左右返回一次,在ReplayKit开始工作后延时500毫秒左右返回(此500毫秒只是大概值,经多次测试,此数值在200毫秒-800毫秒间跳跃)。对于视频帧,ReplayKit是逐帧返回的,在ReplayKit开始工作时立刻予以返回。
通过上述对比,由于App音频会延迟500毫秒左右一次性返回,所以App音频与Mic音频、视频帧存在天然的不同步现象,不同步间隔在500毫秒左右。
可选的,在收到App音频、Mic音频后,在独立线程中对App音频、Mic音频在第一线程进行转码、同步与混音处理,以得到混合音频,以下简称Mix音频。另外,也需要对收到的视频帧在另一独立线程(即第二线程)中做转码处理。
可选的,在一实施例中,对App音频和Mic音频进行同步处理可以采用混音的方式,混音(Audio Mixing,常简称为Mix音频)是音乐制作中的一个步骤,是把多种来源的声音,整合至一个立体音轨(Stereo)或单音音轨(Mono)中。在混音的过程中,将每一个原始信号的频率、动态、音质、定位、残响和声场单独进行调整,让各音轨最佳化,之后再叠加于最终成品上。
步骤13:对混合音频和视频帧进行音视频同步处理。
在App音频、Mic音频和视频帧三方处理均完成后,在第二线程将App音频和Mic音频同步处理后得到的Mix音频与视频帧进行对齐,最终输出视频可以保存到本地或推流直播。
可以理解的,Mix音频在返回时,会存在500毫秒左右的延时,而视频帧是立刻返回的,所以会存在不同步的现象。进一步,ReplayKit属于iOS系统的Extension模块,最大允许内存为50M,500毫秒的裸视频数据需要的内存远远超过50M,因此,视频帧必须立刻返回。
在一可选的实施例中,对视频帧直接做编码处理,存储编码后的内容,等待Mix音频到来之后,再通过音频计算时间戳,最终进行音视频同步处理。
其中,Mix音频时间戳计算方式为:每个Node(节点)大小为2048个字节,所以每段音频的时间间隔是相同的,最终根据获取到的Node数做叠加计算得到时间戳。此算法可以完美同步音视频,也可保证在设备性能不足时音视频的时间戳的对应关系。
区别于现有技术,本实施提供的录屏中的音视频同步方法包括:获取录屏产生的音频帧和视频帧;从音频帧中读取应用音频和麦克风音频;对应用音频和麦克风音频进行音频同步混流处理,以得到混合音频;对混合音频和视频帧进行音视频同步处理。通过上述方式,先将App音频和Mic音频进行同步,再将音频同步处理后的Mix音频和视频帧同步,实现了ReplayKit录屏中的音视频同步,为视频录制、网络直播等产品提供底层技术支持。
参阅图2,图2是本申请提供的录屏中的音视频同步方法第二实施例的流程示意图,该方法包括:
步骤21:获取录屏产生的音频帧和视频帧。
步骤22:从音频帧中读取应用音频和麦克风音频。
可选的,步骤22可以包括:创建应用音频线程安全列表和麦克风音频线程安全列表;将应用音频插入至应用音频线程安全列表,以及将麦克风音频插入至麦克风音频线程安全列表。
步骤23:判断应用音频和麦克风音频是否合法。
可选的,判断App音频和Mic音频是否合法,可以通过读取App音频安全列表头中的音频Node(节点)或者Mic音频安全列表头中的音频Node,来通过检测音频Node的标记位判断音频Node是否合法。例如,判断App音频的标记位是否为14,或者判断Mic音频的标记位是否为12。
具体地,可以采用轮询算法按照设定时间间隔从应用音频线程安全列表头中读取应用音频节点,以及从麦克风音频线程安全列表头中读取麦克风音频节点。其中,轮询算法的设定时间间隔可以采用如下的公式计算得到;
进一步地,由于App音频存在延迟时间,轮询的设定时间间隔需要等于或等于App音频的延迟时间。例如,上述每个音频Node的字节数大小为2048,则App音频的延迟时间为:1000*44100*2/2048=23.22毫秒;此时,轮询的设定时间间隔需要大于或等于23.22毫秒。
步骤24:对应用音频和麦克风音频进行音频同步处理。
可选的,步骤24可以包括:创建应用音频线程安全列表和麦克风音频线程安全列表;将应用音频插入至应用音频线程安全列表,以及将麦克风音频插入之麦克风音频线程安全列表。按照设定时间间隔从应用音频线程安全列表头中读取应用音频节点,以及从麦克风音频线程安全列表头中读取麦克风音频节点;将应用音频节点和麦克风音频节点进行音频同步处理。
步骤25:对音频同步处理后的应用音频和麦克风音频进行音频混流处理,以得到混合音频。
可选的,这里采用混音算法对App音频和Mic音频进行同步,其中,App音频和Mic音频均为LPCM(线性脉冲编码调制)格式,App音频的标记位Flag为14,Mic音频的标记位Flag为12。为了使其同步,步骤23可以具体为:将应用音频的标记位Flag转换为12,即混合音频的标记位Flag为12。
步骤26:对混合音频和视频帧进行音视频同步处理。
可以理解的,Mix音频在返回时,会存在500毫秒左右的延时,而视频帧是立刻返回的,所以会存在不同步的现象。进一步,ReplayKit属于iOS系统的Extension模块,最大允许内存为50M,500毫秒的裸视频数据需要的内存远远超过50M。
在一可选的实施例中,对视频帧直接做编码处理,存储编码后的内容,等待Mix音频到来之后,再通过音频计算时间戳,最终进行音视频同步处理。
其中,Mix音频时间戳计算方式为:每个音频Node(节点)大小为2048个字节,所以每段音频的时间间隔是相同的,最终根据获取到的Node数做叠加计算得到时间戳。
参阅图3,图3是本申请提供的录屏中的音视频同步方法第三实施例的流程示意图,该方法包括:
步骤301:获取录屏产生的音频帧和视频帧。
步骤302:从音频帧中读取应用音频和麦克风音频。
步骤303:从应用音频线程安全列表头中读取第一音频节点。
步骤304:判断第一音频节点是否合法。
步骤305:判断麦克风音频是否打开。
若打开,则执行步骤306,若没有打开,则跳过混音步骤,直接推送应用音频,具体执行步骤312。
可选的,可以通过以下的方式判断Mic音频是否打开:默认设置Flag,认为Mic音频未打开,如果工作过程中,持续未收到Mic音频数据,则认为Mic音频持续未打开。
步骤306:从麦克风音频线程安全列表头中读取第二音频节点。
步骤307:判断第二音频节点是否合法。
若合法,则执行步骤308,若不合法,则执行步骤312。
可以理解的,在步骤305中麦克风音频没有打开,以及在步骤307中Mic音频的第二音频节点不合法的情况下,则无需对App音频和Mic音频进行混音,只需要App音频即可。
步骤308:对应用音频和麦克风音频进行音频同步混流处理,以得到混合音频。
步骤309:对混合音频进行编码处理。
步骤310:删除应用音频线程安全列表头中的第一音频节点和删除麦克风音频线程安全列表头中的第二音频节点。
步骤311:对混合音频和视频帧进行音视频同步处理。
步骤312:对应用音频进行编码处理。
步骤313:删除应用音频线程安全列表头中的第一音频节点。
可以理解的,结合上述的流程,采用App音频、Mic音频两个列表,这两个列表均在ReplayKit接收线程中予以填充,并在其它独立线程进行消耗。由于默认从App音频列表中读取Node,并且是App音频存在延时,而且是一定时间间隔轮询的,App音频、Mic音频的同步发生在此时处理。
轮询时长算法(单位:毫秒):
(1000×2048)/(音频采样率×音频比特率);
此处2048为每个音频Node的字节数大小,默认情况:1000×44100×2/2048=23.22毫秒。
在另一实施例中,若麦克风开启后一段时间,又被关闭,则会持续发送空麦克风数据,在这种情况下,可以保持上述的流程不变。
具体地,Mic音频打开后再关闭的判断方式可以为:默认设置Flag,认为Mic音频未打开,如果工作过程中,收到了一次Mic音频数据,则认为Mic音频已经打开,如果Mic音频又被关闭,则还会持续发送空麦克风数据,所以保留原有流程即可,认为此时Mic音频仍然处于打开状态。
参阅图4,图4是本申请提供的录屏中的音视频同步方法第四实施例的流程示意图,该方法包括:
步骤41:获取录屏产生的音频帧和视频帧。
步骤42:从音频帧中读取应用音频和麦克风音频。
步骤43:对应用音频和麦克风音频进行音频同步混流处理,以得到混合音频。
步骤44:在获取到视频帧后,对视频帧进行编码处理。
步骤45:将编码处理后的视频帧进行存储。
步骤46:在获取到混合音频后,基于混合音频计算时间戳。
可选的,步骤46可以具体为:从混合音频中获取多个音频节点;对多个音频节点进行叠加计算以得到时间戳。
步骤47:基于时间戳对混合音频和视频帧进行同步处理。
可以理解的,Mix音频在返回时,会存在500毫秒左右的延时,而视频帧是立刻返回的,所以会存在不同步的现象。进一步,ReplayKit属于iOS系统的Extension模块,最大允许内存为50M,500毫秒的裸视频数据需要的内存远远超过50M。
在一可选的实施例中,对视频帧直接做编码处理,存储编码后的内容,等待Mix音频到来之后,再通过音频计算时间戳,最终进行音视频同步处理。
其中,Mix音频时间戳计算方式为:每个Node(节点)大小为2048个字节,所以每段音频的时间间隔是相同的,最终根据获取到的Node数做叠加计算得到时间戳。
参阅图5,图5是本申请提供的电子设备第一实施例的结构示意图,该电子设备50包括获取模块51、读取模块52、音频同步模块53以及音视频同步模块54。
其中,获取模块51用于获取录屏产生的音频帧和视频帧;读取模块52用于从音频帧中读取应用音频和麦克风音频;音频同步模块53用于对应用音频和麦克风音频进行音频同步混流处理,以得到混合音频;音视频同步模块54用于对混合音频和视频帧进行音视频同步处理。
参阅图6,图6是本申请提供的电子设备第二实施例的结构示意图,该电子设备60包括显示组件61、音频组件62、处理器63以及存储器64。
该电子设备60可以是以IOS为操作系统的终端,如手机、平板电脑、智能穿戴设备等等,其中,该显示组件61可以是液晶显示屏(LCD),也可以是有机发光二极管显示屏(OLED),其用于显示视频画面,如电子设备60中App的操作界面,或者系统的操作界面,音频组件62可以包括扬声器和麦克风,扬声器用于播放App的音频,麦克风用于获取用户的声音,以便用户进行直播。
其中,存储器64中存储有程序数据,处理器63用于执行该程序数据以实现以下的方法步骤:获取录屏产生的音频帧和视频帧;从音频帧中读取应用音频和麦克风音频;对应用音频和麦克风音频进行音频同步混流处理,以得到混合音频;对混合音频和视频帧进行音视频同步处理。
可选的,处理器63在执行该程序数据时,还用于实现以下的方法步骤:对应用音频和麦克风音频进行音频同步处理;对音频同步处理后的应用音频和麦克风音频进行音频混流处理,以得到混合音频。
可选的,处理器63在执行该程序数据时,还用于实现以下的方法步骤:创建应用音频线程安全列表和麦克风音频线程安全列表;将应用音频插入至应用音频线程安全列表,以及将麦克风音频插入之麦克风音频线程安全列表;按照设定时间间隔从应用音频线程安全列表头中读取应用音频节点,以及从麦克风音频线程安全列表头中读取麦克风音频节点;将应用音频节点和麦克风音频节点进行音频同步处理。
可选的,处理器63在执行该程序数据时,还用于实现以下的方法步骤:对混合音频进行编码处理;以及删除应用音频线程安全列表头中的第一音频节点和删除麦克风音频线程安全列表头中的第二音频节点。
可选的,处理器63在执行该程序数据时,还用于实现以下的方法步骤:将应用音频和麦克风音频的标记位进行统一;采用加权平均算法,对应用音频和麦克风音频进行音频混流处理,以得到混合音频。
可选的,处理器63在执行该程序数据时,还用于实现以下的方法步骤:在获取到视频帧后,对视频帧进行编码处理;将编码处理后的视频帧进行存储;在获取到混合音频后,基于混合音频计算时间戳;基于时间戳对混合音频和视频帧进行同步处理。
可选的,处理器63在执行该程序数据时,还用于实现以下的方法步骤:从混合音频中获取多个音频节点;对多个音频节点进行叠加计算以得到时间戳。
可选的,处理器63在执行该程序数据时,还用于实现以下的方法步骤:检测麦克风音频是否打开;若是,则从音频帧中读取应用音频和麦克风音频;若否,则从音频帧中读取应用音频,并将应用音频作为混合音频。
参阅图7,图7是本申请提供的计算机存储介质一实施例的结构示意图,该计算机存储介质70中存储有程序数据71,该程序数据71在被处理器执行时,用以实现以下的方法步骤:
获取录屏产生的音频帧和视频帧;从音频帧中读取应用音频和麦克音频;对应用音频和麦克音频进行音频同步混流处理,以得到混合音频;对混合音频和视频帧进行音视频同步处理。
本申请的实施例以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (12)

1.一种录屏中的音视频同步方法,其特征在于,包括:
获取录屏产生的应用音频、麦克风音频和视频帧;
对所述应用音频和所述麦克风音频进行音频同步混流处理,以得到混合音频;
对所述混合音频和所述视频帧进行音视频同步处理。
2.根据权利要求1所述的音视频同步方法,其特征在于,
所述获取录屏产生的应用音频、麦克风音频和视频帧的步骤之后,还包括:
创建应用音频线程安全列表和麦克风音频线程安全列表;
将所述应用音频插入至所述应用音频线程安全列表,以及将所述麦克风音频插入至所述麦克风音频线程安全列表。
3.根据权利要求2所述的音视频同步方法,其特征在于,
所述对所述应用音频和所述麦克风音频进行音频同步混流处理,以得到混合音频的步骤,包括:
对所述应用音频和所述麦克风音频进行转码处理;
对转码处理后的所述应用音频和所述麦克风音频进行音频同步处理;
对音频同步处理后的所述应用音频和所述麦克风音频进行音频混流处理,以得到混合音频。
4.根据权利要求3所述的音视频同步方法,其特征在于,
所述对转码处理后的所述应用音频和所述麦克风音频进行音频同步处理的步骤,包括:
按照设定时间间隔读取所述应用音频线程安全列表的列表头中的应用音频节点和所述麦克风音频线程安全列表的列表头中的麦克风音频节点;其中,所述设定时间间隔大于或等于所述应用音频的延迟时间;
将所述应用音频节点和所述麦克风音频节点进行音频同步处理。
5.根据权利要求3所述的音视频同步方法,其特征在于,
所述对音频同步处理后的所述应用音频和所述麦克风音频进行音频混流处理,以得到混合音频的步骤,包括:
将所述应用音频和所述麦克风音频的标记位进行统一;
采用加权平均算法,对所述应用音频和所述麦克风音频进行音频混流处理,以得到混合音频。
6.根据权利要求1所述的音视频同步方法,其特征在于,
所述获取录屏产生的应用音频、麦克风音频和视频帧的步骤之后,还包括:
创建视频线程安全列表;
将所述视频帧插入所述视频线程安全列表;
对所述视频帧进行编码处理;
将编码处理后的视频帧进行存储。
7.根据权利要求6所述的音视频同步方法,其特征在于,
所述对所述混合音频和所述视频帧进行同步处理的步骤,包括:
在获取到混合音频后,基于所述混合音频计算时间戳;
基于所述时间戳对所述混合音频和所述视频帧进行同步处理。
8.根据权利要求7所述的音视频同步方法,其特征在于,
所述基于所述混合音频计算时间戳的步骤,包括:
从所述混合音频中获取多个音频节点;
对所述多个音频节点进行叠加计算以得到时间戳。
9.根据权利要求1所述的音视频同步方法,其特征在于,
所述获取录屏产生的应用音频、麦克风音频和视频帧的步骤,包括:
检测麦克风是否打开;
若是,则执行所述获取录屏产生的应用音频、麦克风音频和视频帧的步骤;
若否,则获取录屏产生的应用音频和视频帧,并将所述应用音频作为所述混合音频。
10.一种电子设备,其特征在于,所述电子设备包括:
获取模块,用于获取录屏产生的应用音频、麦克风音频和视频帧;
音频同步模块,用于对所述应用音频和所述麦克风音频进行音频同步混流处理,以得到混合音频;
音视频同步模块,用于对所述混合音频和所述视频帧进行音视频同步处理。
11.一种电子设备,其特征在于,所述电子设备包括显示组件、音频组件、处理器以及存储器;
其中,所述显示组件用于显示视频画面,所述音频组件用于播放音频,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如权利要求1-9任一项所述的音视频同步方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序数据,所述程序数据在被处理器执行时,用以实现如权利要求1-9任一项所述的音视频同步方法。
CN201910263439.6A 2019-04-02 2019-04-02 一种录屏中的音视频同步方法、电子设备、存储介质 Pending CN110166723A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910263439.6A CN110166723A (zh) 2019-04-02 2019-04-02 一种录屏中的音视频同步方法、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910263439.6A CN110166723A (zh) 2019-04-02 2019-04-02 一种录屏中的音视频同步方法、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN110166723A true CN110166723A (zh) 2019-08-23

Family

ID=67638890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910263439.6A Pending CN110166723A (zh) 2019-04-02 2019-04-02 一种录屏中的音视频同步方法、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN110166723A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111402933A (zh) * 2020-03-04 2020-07-10 Oppo广东移动通信有限公司 音频录制方法、装置、存储介质和相关设备
CN112423211A (zh) * 2020-10-26 2021-02-26 努比亚技术有限公司 一种多音频传输控制方法、设备及计算机可读存储介质
CN113259762A (zh) * 2021-04-07 2021-08-13 广州虎牙科技有限公司 音频处理方法及装置、电子设备和计算机可读存储介质
CN113873187A (zh) * 2020-06-12 2021-12-31 华为技术有限公司 跨终端录屏方法、终端设备及存储介质
CN115396723A (zh) * 2022-08-23 2022-11-25 北京小米移动软件有限公司 屏幕录制方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101820310A (zh) * 2010-02-08 2010-09-01 北京邮电大学 基于端点检测的无线音频传感器网络音频媒体的同步方法
CN102012818A (zh) * 2010-12-01 2011-04-13 广东威创视讯科技股份有限公司 屏幕录制方法与装置
WO2016073507A1 (en) * 2014-11-04 2016-05-12 Lobe Ventures Inc. Micro-customizable radio subscription service
CN105657310A (zh) * 2015-12-31 2016-06-08 南京维睛视空信息科技有限公司 一种手机屏幕实时录取方法
CN106331306A (zh) * 2015-06-30 2017-01-11 宇龙计算机通信科技(深圳)有限公司 用于通话时的录音方法、用于录屏时的录音方法及装置
US20170272575A1 (en) * 2013-11-06 2017-09-21 Noble Systems Corporation Configuring Contact Center Components for Real Time Speech Analytics

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101820310A (zh) * 2010-02-08 2010-09-01 北京邮电大学 基于端点检测的无线音频传感器网络音频媒体的同步方法
CN102012818A (zh) * 2010-12-01 2011-04-13 广东威创视讯科技股份有限公司 屏幕录制方法与装置
US20170272575A1 (en) * 2013-11-06 2017-09-21 Noble Systems Corporation Configuring Contact Center Components for Real Time Speech Analytics
WO2016073507A1 (en) * 2014-11-04 2016-05-12 Lobe Ventures Inc. Micro-customizable radio subscription service
CN106331306A (zh) * 2015-06-30 2017-01-11 宇龙计算机通信科技(深圳)有限公司 用于通话时的录音方法、用于录屏时的录音方法及装置
CN105657310A (zh) * 2015-12-31 2016-06-08 南京维睛视空信息科技有限公司 一种手机屏幕实时录取方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111402933A (zh) * 2020-03-04 2020-07-10 Oppo广东移动通信有限公司 音频录制方法、装置、存储介质和相关设备
CN111402933B (zh) * 2020-03-04 2022-01-21 Oppo广东移动通信有限公司 音频录制方法、装置、存储介质和相关设备
CN113873187A (zh) * 2020-06-12 2021-12-31 华为技术有限公司 跨终端录屏方法、终端设备及存储介质
CN113873187B (zh) * 2020-06-12 2023-03-10 华为技术有限公司 跨终端录屏方法、终端设备及存储介质
CN112423211A (zh) * 2020-10-26 2021-02-26 努比亚技术有限公司 一种多音频传输控制方法、设备及计算机可读存储介质
CN113259762A (zh) * 2021-04-07 2021-08-13 广州虎牙科技有限公司 音频处理方法及装置、电子设备和计算机可读存储介质
CN115396723A (zh) * 2022-08-23 2022-11-25 北京小米移动软件有限公司 屏幕录制方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN110166723A (zh) 一种录屏中的音视频同步方法、电子设备、存储介质
CN105612743A (zh) 编码的媒体的音频视频回放同步
CN104869467A (zh) 媒体播放中的信息输出方法、装置和系统
CN108462895A (zh) 音效处理方法、装置和机器可读介质
CN110337010A (zh) 视音频数据处理方法、执法记录仪、管理服务器及执法系统
US20210050028A1 (en) Method for transmitting and receiving audio data and apparatus therefor
TWI716418B (zh) 資訊處理裝置、資料配訊伺服器、資訊記錄媒體、及資訊處理方法、及程式產品
CN106358050A (zh) 基于安卓的音频视频流推送方法及装置、播放方法及装置
CN108377406A (zh) 一种调整音画同步的方法及装置
CN104602105A (zh) 视频文件的播放方法及用户设备
CN104038774B (zh) 生成铃声文件的方法及装置
CN108429931A (zh) 一种多媒体文件播放方法及装置
CN102819851A (zh) 一种有声图片的计算机实现方法
ES2650722T3 (es) Sistema y método para producir contenidos multimedia complejos por parte de un autor y para usar tales contenidos multimedia complejos por parte de un usuario
CN105005612B (zh) 一种音乐文件的获取方法及移动终端
JP6809463B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
CN101802803B (zh) 用于产生和再现基于媒体对象的元数据的方法和装置
CN109874024A (zh) 一种基于动态视频海报的弹幕处理方法、系统及存储介质
CN107580264A (zh) 多媒体资源播放处理方法及装置
CN104506920A (zh) 一种播放全媒体数据信息的方法及装置
US20130151972A1 (en) Media processing comparison system and techniques
KR101295377B1 (ko) 파일 포맷을 구성하는 방법과 상기 파일 포맷을 가지는파일을 포함한 방송 신호를 처리하는 장치 및 방법
CN107135407B (zh) 一种钢琴视频教学中的同步方法及系统
CN106792219B (zh) 一种直播回看的方法及装置
CN108282720B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190823

RJ01 Rejection of invention patent application after publication