CN114390314B - 可变帧率音视频处理方法、设备及存储介质 - Google Patents
可变帧率音视频处理方法、设备及存储介质 Download PDFInfo
- Publication number
- CN114390314B CN114390314B CN202111680577.8A CN202111680577A CN114390314B CN 114390314 B CN114390314 B CN 114390314B CN 202111680577 A CN202111680577 A CN 202111680577A CN 114390314 B CN114390314 B CN 114390314B
- Authority
- CN
- China
- Prior art keywords
- frame
- frames
- type
- information
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims description 35
- 238000005070 sampling Methods 0.000 claims description 16
- 230000001360 synchronised effect Effects 0.000 claims description 15
- 230000000903 blocking effect Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
- H04N21/2335—Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4402—Processing 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
- H04N21/440218—Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种可变帧率音视频处理方法、设备及存储介质,所述方法包括:应用于编码端,所述可变帧率音视频处理方法包括:确定视频文件的每个预设时长中的第一类帧,所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;确定所述第一类帧的帧总数;对视频文件进行编码,得到编码信息;其中,所述第一类帧中仅一帧进行编码,其余帧不再编码;所述编码信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系。本申请属于音视频处理技术领域,本申请保证可变帧率视频文件的准确还原。
Description
技术领域
本申请涉及音视频技术领域,尤其涉及一种可变帧率音视频处理方法、设备及存储介质。
背景技术
随着视频平台,尤其是短视频平台的快速发展,越来越多的技术应用在音视频处理的技术领域,由此也对音视频技术提出了更高的要求。
目前,由于可变帧率的视频编码具有减少视频文件的体积的优点,因此采用可变帧率对视频文件进行编码被广泛应用。但由于帧率可变,解码端在解码时,难以准确还原视频文件。
发明内容
本申请的主要目的在于提供一种可变帧率音视频处理方法、设备及存储介质,旨在解决现有技术中解码端难以准确还原采用可变帧率编码的视频文件的技术问题。
为实现上述目的,本申请提供一种可变帧率音视频处理方法,应用于编码端,所述可变帧率音视频处理方法包括:
确定视频文件的每个预设时长中的第一类帧,所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;
确定所述第一类帧的帧总数;
对视频文件进行编码,得到编码信息;其中,所述第一类帧中仅一帧进行编码,其余帧不再编码;所述编码信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系。
可选地,所述视频文件包括文件头,所述编码信息包括所述文件头的编码子信息;所述编码子信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系。
可选地,所述对视频文件进行编码,得到编码信息的步骤之前,所述方法包括:
确定每个预设时长中非第一类帧;
确定各预设时长中第一类帧和非第一类帧的显示顺序信息;
基于所述第一帧总数和所述显示顺序信息,得到每个预设时长的播放矩阵信息。
可选地,所述编码信息中还包括所述播放矩阵信息、所述非第一类帧中的帧信息。
本申请还提供一种可变帧率音视频处理方法,应用于解码端,所述可变帧率音视频处理方法包括:
获取视频文件的编码信息,其中,所述编码信息中包括每个预设时长中第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系;所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;所述第一类帧中仅一帧进行编码,其余帧不再编码;
基于所述第一类帧中编码的帧信息与所述帧总数之间的对应关系和所述第一类帧中编码的帧信息,还原第一类帧,并基于还原的第一类帧得到所述视频文件。
可选地,所述编码信息中还包括每个预设时长的播放矩阵信息和非第一类帧中的帧信息,所述播放矩阵信息由所述帧总数、第一类帧和非第一类帧的显示顺序信息确定的;
所述基于所述第一类帧中编码的帧信息与所述帧总数之间的对应关系和所述第一类帧中编码的帧信息,还原第一类帧,并基于还原的第一类帧得到所述视频文件的步骤,包括:
基于所述所述第一类帧中编码的帧信息与所述帧总数之间的对应关系、所述第一类帧中编码的帧信息、所述显示顺序信息、非第一类帧中的帧信息,还原第一类帧和非第一类帧;
基于还原的第一类帧和还原的非第一类帧得到所述视频文件。
可选地,所述基于还原的第一类帧得到所述视频文件的步骤之后,还包括:
基于所述所述帧总数和非第一类帧的总数,对所述预设时长进行时间的划分,得到单位播放时间;
确定所述预设时长对应的起始时间戳;
基于所述起始时间戳、所述单位播放时间、所述显示顺序信息、所述帧总数和非第一类帧的总数,确定所述第一类帧的第一播放时间戳和所述非第一类帧的第二播放时间戳;
将所述第一播放时间戳和第二播放时间戳作为所述视频文件的视频播放时间戳;
确定所述视频文件的采样信息,基于所述采样信息确定所述视频文件中音频的音频播放时间戳;
将所述音频播放时间戳与所述视频播放时间戳进行误差对比,得到第一误差;
若所述第一误差在第一预设阈值范围内,则对所述视频文件进行音视频同步播放;
若所述第一误差在第一预设阈值范围外,则通过预设第一阻塞调节流程,以对所述视频文件进行音视频同步播放。
可选地,所述基于所述确定所述视频文件的采样信息,基于所述采样信息确定所述视频文件中音频的音频播放时间戳的步骤之后,所述方法还包括:
确定所述视频文件的***播放时间戳;
将所述***播放时间戳分别和所述音频播放时间戳进行比对,得到第二误差;
将所述***播放时间戳分别和所述视频播放时间戳进行比对,得到第三误差;
若所述第二误差在第二预设阈值范围内,且所述第三误差在第三预设阈值范围内,则对所述视频文件进行音视频同步播放;
若所述第二误差不在第二预设阈值范围内,或者所述第三误差不在第三预设阈值范围内,则通过预设第二阻塞调节流程,以对所述视频文件进行音视频同步播放。
本申请还提供一种可变帧率音视频处理装置,应用于编码端,所述可变帧率音视频处理装置包括:
第一确定模块,用于确定视频文件的每个预设时长中的第一类帧,所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;
第二确定模块,用于确定所述第一类帧的帧总数;
编码模块,用于对视频文件进行编码,得到编码信息;其中,所述第一类帧中仅一帧进行编码,其余帧不再编码;所述编码信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系。
本申请还提供一种可变帧率音视频处理装置,应用于解码端,所述可变帧率音视频处理装置包括:
获取模块,用于获取视频文件的编码信息,其中,所述编码信息中包括每个预设时长中第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系;所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;所述第一类帧中仅一帧进行编码,其余帧不再编码;
还原模块,用于基于所述第一类帧中编码的帧信息与所述帧总数之间的对应关系和所述第一类帧中编码的帧信息,还原第一类帧,并基于还原的第一类帧得到所述视频文件。
本申请还提供一种可变帧率音视频处理设备,所述可变帧率音视频处理设备包括:存储器、处理器以及存储在存储器上的用于实现所述应用于编码端的可变帧率音视频处理方法的程序,
所述存储器用于存储实现所述应用于编码端的可变帧率音视频处理方法的程序;
所述处理器用于执行实现所述应用于编码端的可变帧率音视频处理方法的程序,以实现上述所述应用于编码端的可变帧率音视频处理方法的步骤。
本申请还提供一种可变帧率音视频处理设备,所述可变帧率音视频处理设备包括:存储器、处理器以及存储在存储器上的用于实现所述应用于解码端的可变帧率音视频处理方法的程序,
所述存储器用于存储实现所述应用于解码端的可变帧率音视频处理方法的程序;
所述处理器用于执行实现所述应用于解码端的可变帧率音视频处理方法的程序,以实现上述所述应用于解码端的可变帧率音视频处理方法的步骤。
本申请实施例提供了一种存储介质,且所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的应用于编码端的可变帧率音视频处理方法的步骤。
本申请实施例提供了一种存储介质,且所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的应用于解码端的可变帧率音视频处理方法的步骤。
本申请提供的一种可变帧率音视频处理方法、设备及存储介质,与现有技术中解码端难以准确还原采用可变帧率编码的视频文件相比,在本申请中,确定视频文件的每个预设时长中的第一类帧,所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;确定所述第一类帧的帧总数;对视频文件进行编码,得到编码信息;其中,所述第一类帧中仅一帧进行编码,其余帧不再编码;所述编码信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,即在本申请中,针对采用可变帧率编码的视频文件(视频文件中包括第一类帧,第一类帧包括至少连续的两帧,且不同帧的画面内容相同,且第一类帧中只对仅一帧进行编码,其余帧不再编码),确定所述第一类帧的帧总数,确定第一类帧中编码的帧信息,进而确定所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,并在视频文件的编码信息中保存所述第一类帧中编码的帧信息,和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,因而,便于基于所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,将第一类帧中编码的帧信息还原为第一类帧,进而,实现准确还原采用可变帧率编码的视频文件。
附图说明
图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图;
图2为为本申请可变帧率音视频处理方法第一实施例的流程示意图;
图3为本申请可变帧率音视频处理方法第三实施例的流程示意图;
图4为本申请可变帧率音视频处理方法中编码端对视频文件进行编码后,通过解码端进行解码的场景示意图;
图5为本申请可变帧率音视频处理方法中每个预设时长不同播放矩阵信息的示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,图1是本申请实施例方案涉及的硬件运行环境的终端结构示意图。
本申请实施例终端可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及网络操作控制应用程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的网络操作控制应用程序。
参照图2,本申请实施例提供一种可变帧率音视频处理方法,应用于编码端,所述可变帧率音视频处理方法包括:
步骤S100,确定视频文件的每个预设时长中的第一类帧,所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;
步骤S200,确定所述第一类帧的帧总数;
步骤S300,对视频文件进行编码,得到编码信息;其中,所述第一类帧中仅一帧进行编码,其余帧不再编码;所述编码信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系。
具体步骤如下:
步骤S100,确定视频文件的每个预设时长中的第一类帧,所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;
在本实施例中,需要说明的是,可变帧率音视频处理方法可以应用于编码端,该编码端属于可变帧率音视频处理***,该可变帧率音视频处理***从属于可变帧率音视频处理设备。
在本实施例中,具体的应用场景可以是:
由于可变帧率的视频编码具有减少视频文件的体积的优点,因此采用可变帧率对视频文件进行编码被广泛应用。但由于帧率可变,解码端在解码时,难以准确还原视频文件。
而在本申请中,对于可变帧率音视频处理***而言,设置有编码端,该编码端针对采用可变帧率编码的视频文件(视频文件中包括第一类帧,第一类帧包括至少连续的两帧,且不同帧的画面内容相同,且第一类帧中只对仅一帧进行编码,其余帧不再编码),确定所述第一类帧的帧总数,确定第一类帧中编码的帧信息,进而确定所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,并在视频文件的编码信息中保存所述第一类帧中编码的帧信息,和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,因而,便于基于所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,将第一类帧中编码的帧信息还原为第一类帧,进而,实现准确还原采用可变帧率编码的视频文件。
也即,在本申请中,避免由于不明确可变帧率对应帧的播放次数,或者预设时长,导致还原不准确。
在本实施例中,视频文件可以是WMV格式,也可以是MPEG格式,还可以是MP4格式的视频文件,在本实施例中不做限定。
在本实施例中,首先接收视频文件,其中,编码端接收视频文件的方式可以是:
方式一:接收客户端上传的视频文件,其中,视频文件是用户在客户端选择的。
方式二:接收网页服务器端传输的视频文件,其中,视频文件是用户在网页端下载的文件。
在本实施例中,第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同(人视觉上看不出区别的帧,或者观感上无差别的帧)。
例如,视频文件由帧a1,b1,b2,b3,c1、c2,d1,e1,f1构成。
其中,b1,b2,b3为连续的帧,且b1,b2,b3的画面内容相同(观感上无差别的帧),则第一类帧为b1,b2,b3。
同样地,c1、c2为连续的帧,且c1、c2的画面内容相同(观感上无差别的帧),则第一类帧为c1、c2。
又例如,视频文件由帧a,b1,b2,c构成。
其中,b1,b2为连续的帧,且b1,b2的画面内容相同(观感上无差别的帧),则第一类帧为b1,b2。
步骤S200,确定所述第一类帧的帧总数;
具体地,若第一类帧为b1,b2,b3,则第一类帧的帧总数为3;
若第一类帧为c1、c2,则第一类帧的帧总数为2。
步骤S300,对视频文件进行编码,得到编码信息;其中,所述第一类帧中仅一帧进行编码,其余帧不再编码;所述编码信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系。
需要说明的是,编码端在编码时,为节省空间提升性能,使用可变帧率进行编码,即第一类帧中只对仅一帧进行编码,其余帧不再编码。
例如第一类帧为b1、b2、b3,则只对b1进行编码,得到第一类帧中编码的帧信息;
或者例如第一类帧为b1、b2、b3,则只对b2进行编码,得到第一类帧中编码的帧信息;
或者例如第一类帧为b1、b2、b3,则只对b2进行编码,得到第一类帧中编码的帧信息。
或者例如第一类帧为c1、c2,则只对c1进行编码,得到第一类帧中编码的帧信息;
例如第一类帧为c1、c2,则只对c2进行编码,得到第一类帧中编码的帧信息。
在这样的情况下,若某一预设时长中未编码的帧为[a1,b1,b2,b3,c1、c2,d1,e1,f1],则实际只需编码的帧为:[a1,b1,c1,d1,e1,f1]进行编码或者[a1,b2,c1,d1,e1,f1]等,而不是对全部的[a1,b1,b2,b3,c1、c2,d1,e1,f1]进行编码,因而,可以节省内存空间,且可以加快视频传输速度。
而若另一预设时长中帧为[a2,b2,g1,h3,i1、j2,k1,m1,n1],则需要对全部的[a2,b2,g1,h3,i1、j2,k1,m1,n1]进行编码。
也即,对同一预设时长中的帧,编码端是基于可变帧率进行编码的。
在本实施例中,在对视频文件进行编码后,得到编码信息。
其中,所述编码信息中包括所述第一类帧中编码的帧信息;
具体地,由于视频文件中包括第一类帧,很显然,视频文件中的第一类帧包括第一类帧中编码的帧信息,例如,视频文件中包括第一类帧b1、b2、b3,则编码信息中包括第一类帧中编码的帧信息,该第一类帧中编码的帧信息可以只为B1(对b1编码后得到),可以只为B2(对b2编码后得到),可以为只B3(对b3编码后得到)。
再例如,视频文件中包括第一类帧c1、c2,则编码信息中包括第一类帧中编码的帧信息,该第一类帧中编码的帧信息可以只为C1(对c1编码后得到),可以只为C2(对c2编码后得到),可以只为C3(对c3编码后得到)。
在本实施例中,所述编码信息中包括所述第一类帧中编码的帧信息与所述帧总数之间的对应关系。
例如,第一类帧中编码的帧信息为B1,第一类帧为b1、b2、b3,则所述第一类帧中编码的帧信息与所述帧总数之间的对应关系为:B1-3。
需要说明的是,若任一帧(一般帧)的预设时长(播放1ms)是确定的,所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,表明在播放时第一类帧实际上要播放3次,或者第一类帧的预设时长,是3倍于一般帧的预设时长(播放3ms)。
例如,第一类帧中编码的帧信息为C1,第一类帧为c1、c2,则所述第一类帧中编码的帧信息与所述帧总数之间的对应关系为:C1-2。
若任一帧的预设时长(播放1ms)是确定的,建立的第一类帧中编码的帧信息C1和帧总数2的对应关系,表明在播放时C帧实际上要播放2次,或者C帧的预设时长,是2倍于基础帧的预设时长(播放2ms)。
在本实施例中,由于存在多个多个不同的第一类帧,很显然,第一类帧中编码的帧信息具有多个,所述第一类帧中编码的帧信息与所述帧总数之间的对应关系也具有多个。
例如B1-2,C1-3都是第一类帧中编码的帧信息与所述帧总数之间的对应关系。
在本实施例中,第一类帧中编码的帧信息与所述帧总数之间的对应关系具体表现形式可以是矩阵形式。
具体矩阵形式如下:
第一类帧中编码的帧信息为[B1,C1],则第一类帧中编码的帧信息与所述帧总数之间的对应关系为[3,2]。
在本实施例中,所述编码信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,因而,相应后续解码端可以明确第一类帧中编码的帧信息对应的帧总数为3,明确C1对应的对应关系为2,因而,便于将第一类帧中编码的帧信息还原为第一类帧。
例如,第一类帧中编码的帧信息为B1,第一类帧中编码的帧信息对应的帧总数为3,则基于所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,则可以将B1还原为[b1,b2,b3]。
整体地,例如,如图4所示,视频文件由帧[a,b1,b2,c]构成。
其中,b1,b2为连续的帧,且b1,b2的画面内容相同(观感上无差别的帧),则第一类帧为b1,b2。a对应的编码的帧信息为A,b1,b2对应的编码的帧信息为B,c对应的编码的帧信息为C。
则视频文件的编码的帧信息为[A,B,C],把视频文件的编码的帧信息为[A,B,C]保存在编码信息中,并保存第一类帧中编码的帧信息与所述帧总数之间的对应关系,便于后续把编码的帧信息[A,B,C]还原为视频文件[a,b1,b2,c]。
本申请提供的一种可变帧率音视频处理方法、设备及存储介质,与现有技术中解码端难以准确还原采用可变帧率编码的视频文件相比,在本申请中,确定视频文件的每个预设时长中的第一类帧,所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;确定所述第一类帧的帧总数;对视频文件进行编码,得到编码信息;其中,所述第一类帧中仅一帧进行编码,其余帧不再编码;所述编码信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,即在本申请中,针对采用可变帧率编码的视频文件(视频文件中包括第一类帧,第一类帧包括至少连续的两帧,且不同帧的画面内容相同,且第一类帧中只对仅一帧进行编码,其余帧不再编码),确定所述第一类帧的帧总数,确定第一类帧中编码的帧信息,进而确定所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,并在视频文件的编码信息中保存所述第一类帧中编码的帧信息,和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,因而,便于基于所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,将第一类帧中编码的帧信息还原为第一类帧,进而,实现准确还原采用可变帧率编码的视频文件。
基于上述第一实施例,本申请还提供另一实施例,在该实施例中,所述视频文件包括文件头,所述编码信息包括所述文件头的编码子信息;所述编码子信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系。
在本实施例中,视频文件包括文件头和文件体,文件头包含视频格式、版本等信息,文件体用于存储数据,其中包含了audio,video,scripts等元数据,所述编码信息包括所述文件头的编码子信息;所述编码子信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系。也即,在本实施例中,所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系置于文件头的编码子信息,由于文件头的编码子信息便于读取,因而,可以便于后续解码端提升读取速度。
在本实施例中,如图3所示,所述对视频文件进行编码,得到编码信息的步骤之前,所述方法包括:
步骤S001,确定每个预设时长中非第一类帧;
步骤S002,确定各预设时长中第一类帧和非第一类帧的显示顺序信息;
步骤S003,基于所述第一帧总数和所述显示顺序信息,得到每个预设时长的播放矩阵信息。
在本实施例中,非第一类帧是变化的帧,该非第一类帧的帧数为1;
例如,视频文件由帧a1,b1,b2,b3,c1、c2,d1,e1,f1构成,帧a1,d1,e1,f1均为非第一类帧,也即,第一类帧外的其他帧是非第一类帧,非第一类帧a1的帧数为1,非第一类帧d1的帧数为1,非第一类帧e1的帧数为1,非第一类帧f1的帧数为1。
在本实施例中,直接读取第一类帧和非第一类帧的显示顺序信息,例如某一预设时长中第一类帧和非第一类帧的显示顺序信息为[a1,b1,b2,b3,c1、c2,d1,e1,f1],则先显示a1,然后显示b1,然后显示c1,然后显示d1,然后显示e1,然后显示f1。
基于所述第一帧总数(b1-3,c1-2)和所述显示顺序信息(先显示a1,然后显示b1,然后显示c1,然后显示d1,然后显示e1,然后显示f),得到每个预设时长的播放矩阵信息,则矩阵信息为[1,3,2,1]。
其中,所述编码信息中还包括所述播放矩阵信息(如图5所示)、所述非第一类帧中的帧信息。
在本实施例中,所述编码信息中还包括所述播放矩阵信息、所述非第一类帧中的帧信息,因而,便于将非第一类帧中编码的帧信息还原为非第一类帧。
在本实施例中,通过所述对视频文件进行编码,得到编码信息的步骤之前,所述方法包括:确定每个预设时长中非第一类帧;确定各预设时长中第一类帧和非第一类帧的显示顺序信息;基于所述第一帧总数和所述显示顺序信息,得到每个预设时长的播放矩阵信息。在本实施例中,将第一类帧中编码的帧信息还原为第一类帧,将非第一类帧中编码的帧信息还原为非第一类帧。进而,可以实现准确还原采用可变帧率编码的视频文件。
基于上述第一实施例和第二实施例,本申请还提供另一实施例,在该实施例中,参照图3,应用于解码端,所述可变帧率音视频处理方法包括:
步骤A100,获取视频文件的编码信息,其中,所述编码信息中包括每个预设时长中第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系;所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;所述第一类帧中仅一帧进行编码,其余帧不再编码;
步骤A200,基于所述第一类帧中编码的帧信息与所述帧总数之间的对应关系和所述第一类帧中编码的帧信息,还原第一类帧,并基于还原的第一类帧得到所述视频文件。
在本实施例中,解码端可以是播放端。
在本实施例中,解码端接收从编码端发送的视频文件的编码信息,其中,解码端可以通过有线或无线的方式接收从编码端发送的视频文件的编码信息。
在本实施例中,所述编码信息中包括每个预设时长中第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系;所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;所述第一类帧中仅一帧进行编码,其余帧不再编码。
也即,视频文件是基于可变帧率进行编码的。
由于所述编码信息中包括每个预设时长中第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,例如,对应关系可以是:第一类帧中编码的帧信息为B1,第一类帧为b1、b2、b3,也即,第一类帧中编码的帧信息B1和帧总数3之间存在对应关系,解码端可以读取到第一类帧中编码的帧信息B1和帧总数3之间存在的对应关系。
在本实施例中,解码端是从文件头的编码子信息中读取得到所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系的。
例如,文件头的编码子信息的第一类帧中编码的帧信息为B1、C1,其中,对应关系为B1-3,C1-2。
则基于上述编码子信息,将第一类帧中编码的帧信息还原成第一类帧。
具体地,基于B1-3,将第一类帧中编码的帧信息还原为第一类帧为b1、b2、b3。
具体地,基于C1-2,将第一类帧中编码的帧信息还原为第一类帧为c1、c2。
在还原为第一类帧后,在本实施例中,基于还原的第一类帧为准确得到所述视频文件奠定基础。
基于上述第一实施例、第二实施例和第三实施例,本申请还提供另一实施例,在该实施例中,所述编码信息中还包括每个预设时长的播放矩阵信息和非第一类帧中的帧信息,所述播放矩阵信息由所述帧总数、第一类帧和非第一类帧的显示顺序信息确定的;
所述基于所述第一类帧中编码的帧信息与所述帧总数之间的对应关系和所述第一类帧中编码的帧信息,还原第一类帧,并基于还原的第一类帧得到所述视频文件的步骤,包括:
步骤A201,基于所述所述第一类帧中编码的帧信息与所述帧总数之间的对应关系、所述第一类帧中编码的帧信息、所述显示顺序信息、非第一类帧中的帧信息,还原第一类帧和非第一类帧;
步骤A202,基于还原的第一类帧和还原的非第一类帧得到所述视频文件。
在本实施例中,非第一类帧是除第一类帧之外的帧,该非第一类帧的帧数为1;
例如,视频文件由帧a1,b1,b2,b3,c1、c2,d1,e1,f1构成,帧a1,d1,e1,f1均为非第一类帧,也即,第一类帧外的其他帧是非第一类帧,非第一类帧a1的帧数为1,非第一类帧d1的帧数为1,非第一类帧e1的帧数为1,非第一类帧f1的帧数为1。
在本实施例中,所述编码信息中还包括每个预设时长的播放矩阵信息和非第一类帧中的帧信息,所述播放矩阵信息由所述帧总数、第一类帧和非第一类帧的显示顺序信息确定的。
在本实施例中,对于编码端而言,直接读取所述所述第一类帧中编码的帧信息与所述帧总数之间的对应关系、所述第一类帧中编码的帧信息、所述显示顺序信息、非第一类帧中的帧信息,基于所述所述第一类帧中编码的帧信息与所述帧总数之间的对应关系、所述第一类帧中编码的帧信息、所述显示顺序信息、非第一类帧中的帧信息,还原第一类帧和非第一类帧。
具体地,例如某一预设时长中第一类帧和非第一类帧的显示顺序信息为[a1,b1,b2,b3,c1、c2,d1,e1,f1],则显示顺序信息为:先显示a1,然后显示b1,然后显示c1,然后显示d1,然后显示e1,然后显示f1。
基于所述所述第一类帧中编码的帧信息(B1,C1),第一类帧中编码的帧信息与所述帧总数之间的对应关系(B1-3,C1-2)和所述显示顺序信息(先显示a1,然后显示b1,然后显示c1,然后显示d1,还原第一类帧[b1,b2,b3],以及[c1、c2],和非第一类帧[a1]、[d1]、[e1]、[f1]、[a1]。
基于还原的第一类帧和还原的非第一类帧得到所述视频文件[a1,b1,b2,b3,c1、c2,d1,e1,f1]。
在本实施例中,实现视频文件的准确还原。
基于上述第一实施例、第二实施例、第三实施例和第四实施例,本申请还提供另一实施例,在该实施例中,
所述基于还原的第一类帧得到所述视频文件的步骤之后,还包括:
步骤A203,基于所述所述帧总数和非第一类帧的总数,对所述预设时长进行时间的划分,得到单位播放时间;
在本实施例中,基于所述所述帧总数和非第一类帧的总数,对所述预设时长进行时间的划分,得到单位播放时间,其中,单位播放时间的计算公式为:
α/β
其中α表示帧总数和非第一类帧的总数之和,β表示视频播放时实际的固定帧率。
例如,表示帧总数和非第一类帧的总数之和为6,预设时长为1s的时间,对所述预设时长进行时间的划分,得到单位播放时间为1/6s。
步骤A204,确定所述预设时长对应的起始时间戳;
在本实施例中,预设时长对应的起始时间戳可以为0,也可以不是0。
步骤A205,基于所述起始时间戳、所述单位播放时间、所述显示顺序信息、所述帧总数和非第一类帧的总数,确定所述第一类帧的第一播放时间戳和所述非第一类帧的第二播放时间戳;
步骤A206,将所述第一播放时间戳和第二播放时间戳作为所述视频文件的视频播放时间戳;
例如,显示顺序信息为[a1,b1,b2,c1,c2,d1],第一类帧分别为(b1,b2)和(c1,c2),帧总数为:b1-2,以及c1-2,非第一类帧的总数为2,起始时间戳为2分30秒,单位播放时间为1/6s,即可得到a帧时间戳为2分30秒,d帧时间戳为2分30.83秒,即基于a帧时间戳和d帧时间戳确定非第一类帧的第二播放时间戳;b1帧时间戳为2分30.16秒,b2帧时间戳为2分30.33秒,c1帧时间戳为2分30.5秒,c2帧时间戳为2分30.67秒。
在本实施例中,第一帧总数和显示顺序信息,保存在每个预设时长的播放矩阵信息(二维矩阵)中,则每一帧的时间戳的计算公式为:
其中t为起始时间戳,初始值可以为0,n表示从t时间起,已播放的帧数,k表示帧在播放矩阵信息(二维矩阵)中的位次,α[k]表示每个可变帧率在二维矩阵中帧率变化的具体数值(即位次的具体数)。
例如,起始时间戳为0分2秒,单位播放时间为1/7s,帧总数和非第一类帧的总数为16(如图5所示,播放矩阵信息可以为[1,5,3,3,1,2,1]),即β为16,k表示帧在播放矩阵信息(二维矩阵)中的位次,α[k]表示每个可变帧率在二维矩阵中帧率变化的具体数值,若k为5(播放矩阵信息位次为5)时,对应α[k]为1(播放矩阵信息在第二个位置处的具体数值为5),则播放到k位次对应帧的时候,该帧实际预设时长为12/16,即750毫秒,则该帧的时间戳为2+750毫秒,即2.75秒。
在本实施例中,可以通过用seek(定位)操作,直接检索到每个预设时长的第一帧,即seek到需要播放的位置。
步骤A207,确定所述视频文件的采样信息,基于所述采样信息确定所述视频文件中音频的音频播放时间戳;
在本实施例中,获取所述视频文件中的的采样信息,采样信息包括采样率和采样样本个数,基于采样率和采样样本个数计算音频帧播放时间戳和预设时长。
具体地,可以根据音频的采样率,声道数,采样格式(即每次采样的大小),计算出音频的播放时间戳。
步骤A208,将所述音频播放时间戳与所述视频播放时间戳进行误差对比,得到第一误差;
在本实施例中,基于视频播放时间戳,得到某一视频播放时间点,将某一视频播放时间点与音频这一时间点的时间戳进行对比,得到第一误差。
步骤A209,若所述第一误差在第一预设阈值范围内,则对所述视频文件进行音视频同步播放;
在本实施例中,其满足第一误差在第一预设阈值范围内的公式为:
其中,视频播放时间戳为Tv, 持续的预设时长为Dv,读取到的音频播放时间戳为Ta,可接受的音视频前后误差为R。
第一预设阈值范围可以是0~100毫秒,即R为0~100毫秒,第一误差在此阈值范围内,人视觉上看不出区别的帧,或者人视觉上看到的是观感上无差别的帧,即实现了音视频同步播放。
步骤A210,若所述第一误差在第一预设阈值范围外,则通过预设第一阻塞调节流程,以对所述视频文件进行音视频同步播放。
在本实施例中,在第一误差大于预设阈值范围时,通过预设第一阻塞调节流程,第一阻塞调节流程即当帧播放快于音频帧时,在帧数据播放结束不立即返回,等到音频帧播放结束再返回;当音频帧播放快于帧时,在音频帧数据播放结束不立即返回,等到帧播放结束再返回。
在本实施例中,以视频时间为基准进行音频调节同步,即在保证视频的播放流畅度情况下,实现音视频的同步操作。
基于上述第一实施例、第二实施例、第三实施例、第四实施例和第五实施例,本申请还提供另一实施例,在该实施例中,所述基于所述确定所述视频文件的采样信息,基于所述采样信息确定所述视频文件中音频的音频播放时间戳的步骤之后,所述方法还包括:
步骤A211,确定所述视频文件的***播放时间戳;
在本实施例中,以***时间为基准进行音频和视频调节同步,即根据***时间开始计时,实现音视频的同步操作。
步骤A212,将所述***播放时间戳分别和所述音频播放时间戳进行比对,得到第二误差;
步骤A213,将所述***播放时间戳分别和所述视频播放时间戳进行比对,得到第三误差;
步骤A214,若所述第二误差在第二预设阈值内,且所述第三误差在第三预设阈值内,则对所述视频文件进行音视频同步播放;
在本实施例中,将所述***播放时间戳分别和所述音频播放时间戳进行比对,得到第二误差,将所述***播放时间戳分别和所述视频播放时间戳进行比对,得到第三误差,若所述第二误差在第二预设阈值内,且所述第三误差在第三预设阈值内,则对所述视频文件进行音视频同步播放,其中,确定第二误差在第二预设阈值范围内,且第三误差在第三预设阈值范围内的公式如下:
其中,当前的***播放时间戳为T,读取到的音频播放时间戳为 Ta,视频播放时间戳为Tv,可接受的音视频前后误差为R,已播放的时间间隔为Tr。
需要说明的是,在本实施例中,第二预设阈值范围、第三预设阈值范围与实施例五中的第一预设阈值范围相同,在此不做赘述。
步骤A3525,若所述第二误差不在第二预设阈值范围内,或者所述第三误差不在第三预设阈值范围内,则通过预设第二阻塞调节流程,以对所述视频文件进行音视频同步播放。
在本实施例中,若所述第二误差不在第二预设阈值范围内,或者所述第三误差不在第三预设阈值范围内,则通过预设第二阻塞调节流程,第二阻塞调节流程即当帧播放快于***时间戳时,在帧数据播放结束不立即返回,等到***时间结束再返回;当音频帧播放快于***时间戳时,在音频帧数据播放结束不立即返回,等到***时间结束再返回。
需要说明的是,本实施例中的可变帧率音视频处理方法可以应用于可变帧率音视频处理***,该可变帧率音视频处理***包括编码端和解码端,可变帧率音视频处理***对可变帧率音视频进行处理的过程可以是:
编码端首先确定视频文件的每个预设时长中的第一类帧,其中,所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同,确定第一类帧后,编码端确定所述第一类帧的帧总数,然后编码端对视频文件进行编码,得到编码信息;在编码过程中,所述第一类帧中仅一帧进行编码,其余帧不再编码;其中,编码端还把所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系置于编码信息中。具体地,由于视频文件包括文件头,所述编码信息包括所述文件头的编码子信息;所述编码子信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系,因而,编码端把所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系置于文件头的编码子信息中。其中,上述可变帧率音视频处理过程在编码端具体实现时,还确定每个预设时长中非第一类帧,具体地,在编码端对视频文件进行编码,得到编码信息的步骤之前,还确定每个预设时长中非第一类帧;并确定各预设时长中第一类帧和非第一类帧的显示顺序信息;进而基于所述第一帧总数和所述显示顺序信息,得到每个预设时长的播放矩阵信息。将每个预设时长的播放矩阵信息置于视频文件的编码信息中,也即,所述编码信息中还包括所述播放矩阵信息、所述非第一类帧中的帧信息。
上述可变帧率音视频处理在编码端具体实现编码后,还在解码端具体实现解码,具体采用如下实现方案:
解码端获取视频文件的编码信息,其中,所述编码信息中包括每个预设时长中第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系;所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;所述第一类帧中仅一帧进行编码,其余帧不再编码;解码端基于编码信息中的所述第一类帧中编码的帧信息与所述帧总数之间的对应关系和所述第一类帧中编码的帧信息,还原第一类帧,并基于还原的第一类帧得到所述视频文件。其中,所述编码信息中还包括每个预设时长的播放矩阵信息和非第一类帧中的帧信息,所述播放矩阵信息由所述帧总数、第一类帧和非第一类帧的显示顺序信息确定的;因而,解码端基于所述所述第一类帧中编码的帧信息与所述帧总数之间的对应关系、所述第一类帧中编码的帧信息、所述显示顺序信息、非第一类帧中的帧信息,还原第一类帧和非第一类帧;基于还原的第一类帧和还原的非第一类帧得到所述视频文件。
其中,解码端在还原视频文件后,解码端还基于所述所述帧总数和非第一类帧的总数,对所述预设时长进行时间的划分,得到单位播放时间;解码端确定所述预设时长对应的起始时间戳;基于所述起始时间戳、所述单位播放时间、所述显示顺序信息、所述帧总数和非第一类帧的总数,确定所述第一类帧的第一播放时间戳和所述非第一类帧的第二播放时间戳;解码端将所述第一播放时间戳和第二播放时间戳作为所述视频文件的视频播放时间戳;确定所述视频文件的采样信息,基于所述采样信息确定所述视频文件中音频的音频播放时间戳;解码端将所述音频播放时间戳与所述视频播放时间戳进行误差对比,得到第一误差;若所述第一误差在第一预设阈值范围内,则解码端对所述视频文件进行音视频同步播放;若所述第一误差在第一预设阈值范围外,则通过预设第一阻塞调节流程,以对所述视频文件进行音视频同步播放。
在本实施例中,还可以以***播放时间戳作为播放的基准,具体地,解码端确定所述视频文件的***播放时间戳;将所述***播放时间戳分别和所述音频播放时间戳进行比对,得到第二误差;解码端将所述***播放时间戳分别和所述视频播放时间戳进行比对,得到第三误差;若所述第二误差在第二预设阈值范围内,且所述第三误差在第三预设阈值范围内,则解码端对所述视频文件进行音视频同步播放;若所述第二误差不在第二预设阈值范围内,或者所述第三误差不在第三预设阈值范围内,则解码端通过预设第二阻塞调节流程,以对所述视频文件进行音视频同步播放。
本申请可变帧率音视频处理***的具体实施方式与上述可变帧率音视频处理方法各实施例基本相同,在此不再赘述。
本申请还提供一种可变帧率音视频处理设备,所述可变帧率音视频处理设备包括:存储器、处理器以及存储在存储器上的用于实现所述应用于编码端的可变帧率音视频处理方法的程序,
所述存储器用于存储实现所述应用于编码端的可变帧率音视频处理方法的程序;
所述处理器用于执行实现所述应用于编码端的可变帧率音视频处理方法的程序,以实现上述所述应用于编码端的可变帧率音视频处理方法的步骤。
本申请应用于编码端的可变帧率音视频处理设备具体实施方式与上述所述应用于编码端的可变帧率音视频处理方法各实施例基本相同,在此不再赘述。
本申请还提供一种可变帧率音视频处理设备,所述可变帧率音视频处理设备包括:存储器、处理器以及存储在存储器上的用于实现所述应用于解码端的可变帧率音视频处理方法的程序,
所述存储器用于存储实现所述应用于解码端的可变帧率音视频处理方法的程序;
所述处理器用于执行实现所述应用于解码端的可变帧率音视频处理方法的程序,以实现上述所述应用于解码端的可变帧率音视频处理方法的步骤。
本申请应用于解码端的可变帧率音视频处理设备具体实施方式与上述所述应用于解码端的可变帧率音视频处理方法各实施例基本相同,在此不再赘述。
本申请还提供一种可变帧率音视频处理装置,应用于编码端,所述可变帧率音视频处理装置包括:
第一确定模块,用于确定视频文件的每个预设时长中的第一类帧,所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;
第二确定模块,用于确定所述第一类帧的帧总数;
编码模块,用于对视频文件进行编码,得到编码信息;其中,所述第一类帧中仅一帧进行编码,其余帧不再编码;所述编码信息中包括所述第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系。
本申请可变帧率音视频处理装置具体实施方式与上述应用于编码端的可变帧率音视频处理方法各实施例基本相同,在此不再赘述。
本申请还提供一种可变帧率音视频处理装置,应用于解码端,所述可变帧率音视频处理装置包括:
获取模块,用于获取视频文件的编码信息,其中,所述编码信息中包括每个预设时长中第一类帧中编码的帧信息和所述第一类帧中编码的帧信息与所述帧总数之间的对应关系;所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;所述第一类帧中仅一帧进行编码,其余帧不再编码;
还原模块,用于基于所述第一类帧中编码的帧信息与所述帧总数之间的对应关系和所述第一类帧中编码的帧信息,还原第一类帧,并基于还原的第一类帧得到所述视频文件。
本申请可变帧率音视频处理装置具体实施方式与上述应用于解码端可变帧率音视频处理方法各实施例基本相同,在此不再赘述。
本申请实施例提供了一种存储介质,且所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的应用于编码端的可变帧率音视频处理方法的步骤。
本申请存储介质具体实施方式与上述应用于编码端的可变帧率音视频处理方法各实施例基本相同,在此不再赘述。
本申请实施例提供了一种存储介质,且所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的应用于解码端的可变帧率音视频处理方法的步骤。
本申请存储介质具体实施方式与上述应用于解码端的可变帧率音视频处理方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (4)
1.一种可变帧率音视频处理方法,其特征在于,应用于解码端,所述可变帧率音视频处理方法包括:
获取视频文件的编码信息,其中,所述编码信息中包括每个预设时长中第一类帧中编码的帧信息、所述第一类帧中编码的帧信息与帧总数之间的对应关系、每个预设时长的播放矩阵信息以及非第一类帧中的帧信息;所述第一类帧中包括至少连续的两帧,且所述第一类帧中不同帧的画面内容相同;所述第一类帧中仅一帧进行编码,其余帧不再编码;所述播放矩阵信息由帧总数、第一类帧和非第一类帧的显示顺序信息确定的;
基于所述第一类帧中编码的帧信息与所述帧总数之间的对应关系、所述第一类帧中编码的帧信息、所述显示顺序信息、非第一类帧中的帧信息,还原第一类帧和非第一类帧;
基于还原的第一类帧和还原的非第一类帧得到所述视频文件;
基于所述帧总数和非第一类帧的总数,对所述预设时长进行时间的划分,得到单位播放时间;
确定所述预设时长对应的起始时间戳;
基于所述起始时间戳、所述单位播放时间、所述显示顺序信息、所述帧总数和非第一类帧的总数,确定所述第一类帧的第一播放时间戳和所述非第一类帧的第二播放时间戳;
将所述第一播放时间戳和第二播放时间戳作为所述视频文件的视频播放时间戳;
确定所述视频文件的采样信息,基于所述采样信息确定所述视频文件中音频的音频播放时间戳;
将所述音频播放时间戳与所述视频播放时间戳进行误差对比,得到第一误差;
通过seek操作,对所述视频文件进行检索,定位得到所述视频文件中每个预设时长的第一帧;
若所述第一误差在第一预设阈值范围内,则基于所述视频文件中每个预设时长的第一帧,对所述视频文件进行音视频同步播放;
若所述第一误差在第一预设阈值范围外,则通过预设第一阻塞调节流程,以对所述视频文件进行音视频同步播放。
2.如权利要求1所述的可变帧率音视频处理方法,其特征在于,基于所述确定所述视频文件的采样信息,基于所述采样信息确定所述视频文件中音频的音频播放时间戳的步骤之后,所述方法还包括:
确定所述视频文件的***播放时间戳;
将所述***播放时间戳分别和所述音频播放时间戳进行比对,得到第二误差;
将所述***播放时间戳分别和所述视频播放时间戳进行比对,得到第三误差;
若所述第二误差在第二预设阈值范围内,且所述第三误差在第三预设阈值范围内,则对所述视频文件进行音视频同步播放;
若所述第二误差不在第二预设阈值范围内,或者所述第三误差不在第三预设阈值范围内,则通过预设第二阻塞调节流程,以对所述视频文件进行音视频同步播放。
3.一种可变帧率音视频的处理设备,其特征在于,所述可变帧率音视频的处理设备包括:存储器、处理器以及存储在存储器上并可在所述处理器上运行的可变帧率音视频处理程序,所述可变帧率音视频处理程序配置为实现如权利要求1至2中任一项所述的可变帧率音视频处理方法的步骤。
4.一种存储介质,其特征在于,所述存储介质上存储有可变帧率音视频处理程序,所述可变帧率音视频处理程序被处理器执行时实现如权利要求1至2中任一项所述的可变帧率音视频处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111680577.8A CN114390314B (zh) | 2021-12-30 | 2021-12-30 | 可变帧率音视频处理方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111680577.8A CN114390314B (zh) | 2021-12-30 | 2021-12-30 | 可变帧率音视频处理方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114390314A CN114390314A (zh) | 2022-04-22 |
CN114390314B true CN114390314B (zh) | 2024-06-18 |
Family
ID=81199539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111680577.8A Active CN114390314B (zh) | 2021-12-30 | 2021-12-30 | 可变帧率音视频处理方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114390314B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120929A (zh) * | 2018-10-18 | 2019-01-01 | 北京达佳互联信息技术有限公司 | 一种视频编码、解码方法、装置、电子设备及*** |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07202820A (ja) * | 1993-12-28 | 1995-08-04 | Matsushita Electric Ind Co Ltd | ビットレート制御システム |
US6058141A (en) * | 1995-09-28 | 2000-05-02 | Digital Bitcasting Corporation | Varied frame rate video |
CN102547482B (zh) * | 2011-12-30 | 2014-05-07 | 北京锐安科技有限公司 | 一种多路ip音视频流同步播放方法 |
US10009628B2 (en) * | 2013-06-07 | 2018-06-26 | Apple Inc. | Tuning video compression for high frame rate and variable frame rate capture |
CN104079950A (zh) * | 2014-07-04 | 2014-10-01 | 福建天晴数码有限公司 | 视频输出处理、视频接收处理的方法、装置和*** |
CN104754366A (zh) * | 2015-03-03 | 2015-07-01 | 腾讯科技(深圳)有限公司 | 音视频文件直播方法、装置和*** |
CN105049917B (zh) * | 2015-07-06 | 2018-12-07 | 深圳Tcl数字技术有限公司 | 录制音视频同步时间戳的方法和装置 |
CN108632625B (zh) * | 2017-03-21 | 2020-02-21 | 华为技术有限公司 | 一种视频编码方法、视频解码方法和相关设备 |
CN108495164B (zh) * | 2018-04-09 | 2021-01-29 | 珠海全志科技股份有限公司 | 音视频同步处理方法及装置、计算机装置及存储介质 |
US10904555B2 (en) * | 2018-07-11 | 2021-01-26 | Tencent America LLC | Method and apparatus for video coding |
CN109005414B (zh) * | 2018-09-18 | 2019-08-23 | 图普科技(广州)有限公司 | 视频传输方法、装置、设备以及*** |
CN111327898B (zh) * | 2018-12-14 | 2022-05-13 | ***通信集团广西有限公司 | 一种视频编码的方法、装置、电子设备及存储介质 |
CN110519635B (zh) * | 2019-08-07 | 2021-10-08 | 河北远东通信***工程有限公司 | 一种无线集群***的音视频媒体流合流方法及*** |
CN110784718B (zh) * | 2019-10-31 | 2021-07-20 | 广州市网星信息技术有限公司 | 视频数据编码方法、装置、设备和存储介质 |
US20200128271A1 (en) * | 2019-12-20 | 2020-04-23 | Intel Corporation | Method and system of multiple channel video coding with frame rate variation and cross-channel referencing |
US11316912B2 (en) * | 2020-05-26 | 2022-04-26 | Grass Valley Canada | System and method for synchronizing transmission of media content using timestamps |
CN112019880B (zh) * | 2020-10-30 | 2021-02-12 | 南斗六星***集成有限公司 | 一种任意帧率视频文件拼接方法 |
CN113747159B (zh) * | 2021-09-06 | 2023-10-13 | 深圳软牛科技有限公司 | 一种生成可变帧率视频媒体文件的方法、装置及相关组件 |
CN113852824A (zh) * | 2021-10-13 | 2021-12-28 | 网宿科技股份有限公司 | 视频转码方法、装置、电子设备和存储介质 |
-
2021
- 2021-12-30 CN CN202111680577.8A patent/CN114390314B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120929A (zh) * | 2018-10-18 | 2019-01-01 | 北京达佳互联信息技术有限公司 | 一种视频编码、解码方法、装置、电子设备及*** |
Also Published As
Publication number | Publication date |
---|---|
CN114390314A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10643665B2 (en) | Data processing systems | |
US10313549B2 (en) | Apparatus and method for generating time lapse image | |
KR20170097414A (ko) | 전자 장치 및 그의 동작 방법 | |
EP3535982A1 (en) | Creating a digital media file with highlights of multiple media files relating to a same period of time | |
WO2015103151A1 (en) | Video metadata | |
US10708650B2 (en) | Method and device for generating video content | |
CN111436004B (zh) | 视频播放方法、装置和设备、计算机可读存储介质 | |
JP7209851B2 (ja) | 画像変形の制御方法、装置およびハードウェア装置 | |
KR102424296B1 (ko) | 복수의 영상들을 제공하기 위한 방법, 저장 매체 및 전자 장치 | |
EP2807820A1 (en) | Multimedia file support for media capture device position and location timed metadata | |
US20070186250A1 (en) | Video processing methods and systems for portable electronic devices lacking native video support | |
KR20170054868A (ko) | 콘텐트를 제공하는 방법 및 이를 지원하는 전자 장치 | |
US20230291978A1 (en) | Subtitle processing method and apparatus of multimedia file, electronic device, and computer-readable storage medium | |
CN110310642A (zh) | 语音处理方法、***、客户端、设备和存储介质 | |
KR20220044386A (ko) | Vr 멀티미디어의 경험 품질을 결정하기 위한 방법 및 장치 | |
EP3993428A1 (en) | Time delay error correction method, terminal device, server, and storage medium | |
CN111491208A (zh) | 视频处理方法、装置、电子设备及计算机可读介质 | |
CN114390314B (zh) | 可变帧率音视频处理方法、设备及存储介质 | |
US9728192B2 (en) | Method and apparatus for voice interaction control of movement base on material movement | |
US10936878B2 (en) | Method and device for determining inter-cut time range in media item | |
CN113395585B (zh) | 视频检测方法、视频播放控制方法、装置和电子设备 | |
WO2022252337A1 (zh) | 3d地图的编解码方法及装置 | |
WO2022193141A1 (zh) | 多媒体文件的播放方法及相关装置 | |
EP3891962B1 (en) | Synchronized jitter buffers to handle codec switches | |
CN115359409B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |