The invention discloses an optimization method, storage medium, equipment and system for audio and video synchronization in decoding and playing, which relates to the field of video decoding. The method includes a new variable, which is used to save the decoding timestamp of each decoded audio frame; video packets are extracted sequentially from the video decoding queue to determine whether the decoding timestamp of the extracted video packets is less than the variable. The decoding timestamp of the audio frame being decoded is saved, and if not, the current video packet is decoded; if not, the frame type of the current video packet is determined to be B frame, if not B frame, the current video packet is decoded, if B frame, the frame type of the last video packet is B frame, if not, the current video packet is discarded. Packet, if so, decodes the currently extracted video packet. The invention can effectively solve the phenomenon of asynchronization of audio and video in video playing.
【技术实现步骤摘要】
解码播放中音视频同步优化方法、存储介质、设备及系统
本专利技术涉及视频解码领域,具体涉及一种解码播放中音视频同步优化方法、存储介质、设备及系统。
技术介绍
无论是存储在本地磁盘文件中的视频文件,还是在网络上传输的视频流文件,均是通过相关的视频解码器编码压缩后进行存储和传输,其中H246编码器为常用的视频编码器。在对编码压缩后的视频文件解码播放时,需保证音频和视频的同步播放,对于音视频的同步,常用的方法有三种:一种是视频同步到音频,一种是音频同步到视频,再一种就是音频和视频均同步到系统时钟,其中视频同步到音频为最为常见的一种方式。当在解码视频时,视频分辨率越大、帧率越大,其所要耗费的CPU资源也就越多,即视频的分辨率和帧率同CPU的消耗是成正比的。上述的三种音视频同步方法,均是以当前CPU性能足以解码该视频为前提,但是,若当前CPU性能较低,如要解码一个分辨率为1920*1080,60FPS的视频,而当前CPU一秒钟只能解码部分帧视频,那么每秒便会剩下一部分帧的视频没有解码,从而造成视频流的累积,时间一长,便会出现音频和视频不同步的现象,影响用户对视频的观看体验。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种解码播放中音视频同步优化方法,有效解决视频播放中音视频不同步的现象。为达到以上目的,本专利技术采取的技术方案是,包括:新建一变量,所述变量用于保存每一个解码的音频帧的解码时间戳;从视频待解码队列中依次取出视频包,判断取出的视频包的解码时间戳是否小于变量中保存的正在进行解码的音频帧的解码时间戳,若否,则解码当前取出视频包;若是,则判断当 ...
【技术保护点】
1.一种解码播放中音视频同步优化方法,适用于H264编码的视频文件,其特征在于,包括:新建一变量,所述变量用于保存每一个解码的音频帧的解码时间戳;从视频待解码队列中依次取出视频包,判断取出的视频包的解码时间戳是否小于变量中保存的正在进行解码的音频帧的解码时间戳,若否,则解码当前取出视频包;若是,则判断当前取出的视频包的帧类型是否是B帧,若不是B帧,则解码当前取出的视频包,若是B帧,则进一步判断上次取出的视频包的帧类型是否是B帧,若不是,则丢弃当前取出的视频包,若是,则解码当前取出的视频包。
【技术特征摘要】
1.一种解码播放中音视频同步优化方法,适用于H264编码的视频文件,其特征在于,包括:新建一变量,所述变量用于保存每一个解码的音频帧的解码时间戳;从视频待解码队列中依次取出视频包,判断取出的视频包的解码时间戳是否小于变量中保存的正在进行解码的音频帧的解码时间戳,若否,则解码当前取出视频包;若是,则判断当前取出的视频包的帧类型是否是B帧,若不是B帧,则解码当前取出的视频包,若是B帧,则进一步判断上次取出的视频包的帧类型是否是B帧,若不是,则丢弃当前取出的视频包,若是,则解码当前取出的视频包。2.如权利要求1所述的一种解码播放中音视频同步优化方法,其特征在于:依次解码音频帧,并将当前进行解码的音频帧的解码时间戳保存至新建的变量中。3.如权利要求1所述的一种解码播放中音视频同步优化方法,其特征在于:所述视频包的帧类型包括I帧、P帧和B帧;所述I帧为帧内编码帧,所述P帧为前向预测帧,所述B帧为双向预测内插编码帧。4.如权利要求1所述的一种解码播放中音视频同步优化方法,其特征在于:从视频待解码队列中取出的视频包均对应有解码时间戳;新建视频包解码时间戳变量和视频包帧类型变量,所述视频包解码时间戳变量用于保存从视频待解码队列中取出的视频包的解码时间戳,所述视频包帧类型变量用于从视频待解码队列中取出的视频包的帧类型。5.如权利要求2所述的一种解码播放中音视频同步优化方法,其特征在于:当从视频待解码队列中取出视频包的解码时间戳小于变量中保存的对应音频帧的解码时间戳,且当前取出的...
【专利技术属性】
技术研发人员:杨亮,张文明,陈少杰,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。