CN113453054B - 音视频丢帧方法、装置、计算机设备及存储介质 - Google Patents
音视频丢帧方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113453054B CN113453054B CN202110732311.7A CN202110732311A CN113453054B CN 113453054 B CN113453054 B CN 113453054B CN 202110732311 A CN202110732311 A CN 202110732311A CN 113453054 B CN113453054 B CN 113453054B
- Authority
- CN
- China
- Prior art keywords
- preset
- frame loss
- processing
- current
- frame rate
- 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
Images
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/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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- 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/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26233—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种音视频丢帧方法、装置、计算机设备及存储介质。本申请应用于视频播放的技术领域,其包括:若接收到预设音视频播放指令,则判断当前时刻是否位于预设采样时间段内;若是,则计算采样数据的处理帧率;若不是,则根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志;根据处理帧率及预设播放帧率确定的当前丢帧间隔及当前丢帧标志进行丢帧处理;计算当前处理帧率;将当前处理帧率及当前丢帧标志分别作为处理帧率及预设丢帧标志,并返回执行根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志的步骤直至接收到预设结束指令为止。本申请实施例可实现平滑丢帧,确保音视频输出同步。
Description
技术领域
本发明实施例涉及视频播放技术领域,尤其涉及一种音视频丢帧方法、装置、计算机设备及存储介质。
背景技术
现有技术中为了使音视频输出同步,一般会采用丢帧的策略来处理,但由于视频解码处理的时间不是每一音视频帧都相同,这就造成丢弃的音视频帧并不是规律的,而是会出现短时间内大量丢帧和少量丢帧的情况,使得视频画面不够连贯,即使得视频画面出现慢放或者快进的现象。
发明内容
本发明实施例提供了一种音视频丢帧方法、装置、计算机设备及存储介质,旨在解决现有丢帧不规律而导致音视频不同步的问题。
第一方面,本发明实施例提供了一种音视频丢帧方法,其包括:
若接收到预设音视频播放指令,则判断当前时刻是否位于预设采样时间段内;
若所述当前时刻位于所述预设采样时间段内,则将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据的处理帧率;
若所述当前时刻不位于所述预设采样时间段内,则根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志;
根据所述处理帧率及预设播放帧率确定当前丢帧间隔,并根据所述当前丢帧间隔及所述当前丢帧标志进行丢帧处理;
根据预设时间内对所有所述音视频帧进行视频解码处理所需的时间,计算当前处理帧率;
将所述当前处理帧率及所述当前丢帧标志分别作为所述处理帧率及所述预设丢帧标志,并返回执行所述根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志的步骤直至接收到预设结束指令为止。
进一步地,判断所述处理帧率是否小于预设播放帧率;若所述处理帧率小于预设播放帧率,则根据所述处理帧率及预设播放帧率确定的当前丢帧间隔及所述当前丢帧标志对所述音视频帧进行丢弃;若所述处理帧率不小于预设播放帧率,则将所述当前丢帧间隔重置为预设不丢帧值。
进一步地,判断所述处理帧率是否小于预设播放帧率的一半;若所述处理帧率小于所述预设播放帧率的一半,则根据第一预设丢帧间隔公式计算第一当前丢帧间隔;若所述处理帧率不小于所述预设播放帧率的一半,则根据第二预设丢帧间隔公式计算第二当前丢帧间隔;将所述第一当前丢帧间隔或所述第二当前丢帧间隔作为当前丢帧间隔,并根据所述当前丢帧标志及所述当前丢帧间隔进行丢帧处理。
进一步地,若所述当前丢帧标志为预设标志值,则将所述第一当前丢帧间隔作为当前丢帧间隔;若所述当前丢帧标志不为所述预设标志值,则将所述第二当前丢帧间隔作为所述当前丢帧间隔;根据所述当前丢帧间隔进行丢帧处理。
进一步地,将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据进行视频解码处理的平均处理时间;根据所述平均处理时间通过预设帧率计算公式计算处理帧率。
进一步地,将预设丢帧标志加上预设值以得到第一当前丢帧标志;将所述第一当前丢帧标志取余预设丢帧间隔以得到第二当前丢帧标志,并将所述第二当前丢帧标志作为当前丢帧标志。
进一步地,计算预设时间内视频解码处理所有所述音视频帧所需的时间以得到总处理时间;将所述总处理时间除以总的执行次数以得到当前处理帧率,其中,所述总的执行次数为预设时间内视频解码处理所述音视频帧的次数。
第二方面,本发明实施例还提供了一种音视频丢帧装置,其包括:
判断单元,用于若接收到预设音视频播放指令,则判断当前时刻是否位于预设采样时间段内;
第一计算单元,用于若所述当前时刻位于所述预设采样时间段内,则将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据的处理帧率;
第二计算单元,用于若所述当前时刻不位于所述预设采样时间段内,则根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志;
丢弃处理单元,用于根据所述处理帧率及预设播放帧率确定当前丢帧间隔,并根据所述当前丢帧间隔及所述当前丢帧标志进行丢帧处理;
第三计算单元,用于根据预设时间内对所有所述音视频帧进行视频解码处理所需的时间,计算当前处理帧率;
执行单元,用于将所述当前处理帧率及所述当前丢帧标志分别作为所述处理帧率及所述预设丢帧标志,并返回执行所述根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志的步骤直至接收到预设结束指令为止。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明实施例提供了一种音视频丢帧方法、装置、计算机设备及存储介质。其中,所述方法包括:若接收到预设音视频播放指令,则判断当前时刻是否位于预设采样时间段内;若所述当前时刻位于所述预设采样时间段内,则将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据的处理帧率;若所述当前时刻不位于所述预设采样时间段内,则根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志;根据所述处理帧率及预设播放帧率确定当前丢帧间隔,并根据所述当前丢帧间隔及所述当前丢帧标志进行丢帧处理;根据预设时间内对所有所述音视频帧进行视频解码处理所需的时间,计算当前处理帧率;将所述当前处理帧率及所述当前丢帧标志分别作为所述处理帧率及所述预设丢帧标志,并返回执行所述根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志的步骤直至接收到预设结束指令为止。本发明实施例的技术方案,通过每丢弃一帧或播放一帧之后均会计算当前处理帧率,根据当前处理帧率重新计算丢帧间隔,可避免帧率变动引起的多丢帧或少丢帧的情况,从而实现平滑丢帧,确保音视频输出同步。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种音视频丢帧方法的流程示意图;
图2为本发明实施例提供的一种音视频丢帧方法的子流程示意图;
图3为本发明实施例提供的一种音视频丢帧方法的子流程示意图;
图4为本发明实施例提供的一种音视频丢帧方法的子流程示意图;
图5为本发明实施例提供的一种音视频丢帧装置的示意性框图;
图6为本发明实施例提供的音视频丢帧装置的第一计算单元的示意性框图;
图7为本发明实施例提供的音视频丢帧装置的第二计算单元的示意性框图;
图8为本发明实施例提供的音视频丢帧装置的丢弃处理单元的示意性框图;
图9为本发明实施例提供的音视频丢帧装置的第一丢弃处理子单元的示意性框图;
图10为本发明实施例提供的音视频丢帧装置的第二计算单元的示意性框图;
以及
图11为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1,图1是本发明实施例提供的音视频丢帧方法的流程示意图。本发明实施例的音视频丢帧方法可应用于终端上,例如手提电脑、台式电脑、笔记本电脑等智能终端设备,通过安装于所述终端上的软件例如命名为音视频编辑软件的应用程序来实现所述音视频丢帧方法,可避免帧率变动引起的多丢帧或少丢帧的情况,从而实现平滑丢帧,确保音视频输出同步。下面对所述音视频丢帧方法进行详细说明。如图1所示,该方法包括以下步骤S100-S150。
S100、若接收到预设音视频播放指令,则判断当前时刻是否位于预设采样时间段内。
在本发明实施例中,若用户点击音视频编辑软件的播放按钮,则会触发预设音视频播放指令的发送,即若所述音视频编辑软件接收到预设音视频播放指令之后,则会判断当前时刻是否位于预设采样时间段内。在实际应用中,之所以会在接收到预设音频播放指令之后,判断当前时刻是否位于预设采样时间段内,是因为视频播放之后,没有参考数据,需要获取预设采样时间段内的音视频帧作为参考数据,以便计算处理帧率。需要说明的是,在本发明实施例中,预设采样时间段为1s,在其它发明实施例中,预设采样时间段可设置成其它时间,例如2s,根据具体情况而定。
S110、若所述当前时刻位于所述预设采样时间段内,则将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据的处理帧率。
在本发明实施例中,判断当前时刻是否位于预设采样时间段内,若所述当前时刻位于所述预设采样时间段内,表明还未进入丢帧策略处理中,则根据所述预设采样时间段内获取的所有音视频帧计算后续丢帧策略中需要使用到的处理帧率。
请参阅图2,在一实施例中,例如,在本发明实施例中,所述步骤S110包括如下步骤S111-S112。
S111、将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据进行视频解码处理的平均处理时间;
S112、根据所述平均处理时间通过预设帧率计算公式计算处理帧率。
在本发明实施例中,将所述预设采样时间段内获取的所有音视频帧作为采样数据,并统计所述采样数据进行视频解码处理所需的总处理时间,然后根据所述总处理时间及所述采样数据中所述音视频帧的帧数计算平均处理时间,得到平均处理时间之后,根据所述平均处理时间通过预设帧率计算公式计算处理帧率。其中,所述预设帧率计算公式为fps=1000/PAms,其中,PAms为所述平均处理时间,fps为处理帧率。
S120、若所述当前时刻不位于所述预设采样时间段内,则根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志。
在本发明实施例中,判断当前时刻是否位于预设采样时间段内,若所述当前时刻不位于所述预设采样时间段内,表明已进入丢帧策略中,则根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志。具体地,将预设丢帧标志加上预设值以得到第一当前丢帧标志;将所述第一当前丢帧标志取余预设丢帧间隔以得到第二当前丢帧标志,并将所述第二当前丢帧标志作为当前丢帧标志。在实际应用中,当前丢帧标志是通过公式Dt1=(Dt0+1)%Ds0计算得到的,其中,Dt0为所述预设丢帧标志,Dt1为所述当前丢帧标志,Ds0为预设丢帧间隔。需要要说明的是,在本发明实施例中,Dt0为0,Ds0为1。在其它实施例中,Dt0和Ds0的值可自行设定,根据具体情况而定。
S130、根据所述处理帧率及预设播放帧率确定当前丢帧间隔,并根据所述当前丢帧间隔及所述当前丢帧标志进行丢帧处理。
在本发明实施例中,根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志之后,根据所述处理帧率及预设播放帧率确定当前丢帧间隔,确定所述当前丢帧间隔之后,根据所述当前丢帧间隔及所述当前丢帧标志丢弃或视频解码处理所述音视频帧。
请参阅图3,在一实施例中,例如,在本发明实施例中,所述步骤S130包括如下步骤S131-S136。
S131、判断所述处理帧率是否小于预设播放帧率,若所述处理帧率小于预设播放帧率,则执行步骤S132,否则执行步骤S136;
S132、判断所述处理帧率是否小于预设播放帧率的一半,若所述处理帧率小于所述预设播放帧率的一半,则执行步骤S133,否则执行步骤S134;
S133、根据第一预设丢帧间隔公式计算第一当前丢帧间隔;
S134、根据第二预设丢帧间隔公式计算第二当前丢帧间隔;
S135、将所述第一当前丢帧间隔或所述第二当前丢帧间隔作为当前丢帧间隔,并根据所述当前丢帧标志及所述当前丢帧间隔进行丢帧处理;
S136、将所述当前丢帧间隔重置为预设不丢帧值。
在本发明实施例中,根据所述处理帧率及预设播放帧率确定的当前丢帧间隔及所述当前丢帧标志进行丢帧处理,具体地,首先判断所述处理帧率是否小于预设播放帧率;若所述处理帧率不小于预设播放帧率,表明可处理音视频帧,无需丢帧,则将所述当前丢帧间隔重置为预设不丢帧值,其中,所述预设不丢帧值为0,即所述当前丢帧间隔为0,表明无需丢帧;若所述处理帧率小于预设播放帧率,则继续判断所述处理帧率是否小于预设播放帧率的一半;若所述处理帧率小于所述预设播放帧率的一半,则根据第一预设丢帧间隔公式计算第一当前丢帧间隔,其中,所述第一预设丢帧间隔公式为Ds1=fr/fps;若所述处理帧率不小于所述预设播放帧率的一半,则根据第二预设丢帧间隔公式计算第二当前丢帧间隔,其中,所述第二预设丢帧间隔公式为Ds2=fr/(fr-fps);可理解地,在所述所述第一预设丢帧间隔公式及所述所述第二预设丢帧间隔公式中,fps为处理帧率,fr为预设播放帧率,Ds1及Ds2分别为第一当前丢帧间隔及第二当前丢帧间隔;将所述第一当前丢帧间隔或所述第二当前丢帧间隔作为当前丢帧间隔,并根据所述当前丢帧标志及所述当前丢帧间隔进行丢帧处理。具体地,是根据所述当前丢帧标志及所述当前丢帧间隔丢弃或视频解码处理所述音视频帧。
请参阅图4,在一实施例中,例如,在本发明实施例中,所述步骤S135包括如下步骤S1351-S1353。
S1351、若所述当前丢帧标志为预设标志值,则将所述第一当前丢帧间隔作为当前丢帧间隔;
S1352、若所述当前丢帧标志不为所述预设标志值,则将所述第二当前丢帧间隔作为所述当前丢帧间隔;
S1353、根据所述当前丢帧间隔进行丢帧处理。
在本发明实施例中,若所述处理帧率小于所述预设播放帧率的一半且所述当前丢帧标志为预设标志值,则将所述第一预设丢帧间隔公式计算得到的所述第一当前丢帧间隔作为当前丢帧间隔;若所述处理帧率不小于所述预设播放帧率的一半且所述当前丢帧标志不为预设标志值,则将所述第二预设丢帧间隔公式计算得到的所述第二当前丢帧间隔作为所述当前丢帧间隔;得到所述当前丢帧间隔之后,根据所述当前丢帧间隔进行丢帧处理。在实际应用中,若fps<fr/2且Dt1=0,则将Ds1=fr/fps计算得到的Ds1作为当前丢帧间隔,假设fr为30,fps为10,Ds1=30/10=3,表示3帧中显示一帧,即表示Dt1为0时表示对所述音视频帧进行视频解码处理,Dt1为1或2时表示丢弃所述音视频帧;反之,若fps>=fr/2且Dt1不为0,则将Ds2=fr/(fr-fps)计算得到的Ds2作为当前丢帧间隔,假设fr为30,fps为20,Ds2=30/(30-20)=3,表示3帧中丢弃一帧,即表示Dt1为0时表示丢弃所述音视频帧,Dt1为1或2时表示对所述音视频帧进行视频解码处理。
S140、根据预设时间内对所有所述音视频帧进行视频解码处理所需的时间,计算当前处理帧率。
在本发明实施例中,根据所述当前丢帧间隔及所述当前丢帧标志丢弃或视频解码处理所述音视频帧之后,根据预设时间内对所有所述音视频帧进行视频解码处理所需的时间,计算当前处理帧率。具体地,首先计算预设时间内视频解码处理所有所述音视频帧所需的时间以得到总处理时间;将所述总处理时间除以总的执行次数以得到当前处理帧率,其中,所述总的执行次数为预设时间内视频解码处理所述音视频帧的次数。需要说明的是,在本发明实施例中,在丢弃或者播放一帧之后,都会实时计算当前处理帧率,可避免帧率的变动导致的多丢帧或者少丢帧情况,确保音视频的输出同步。
S150、将所述当前处理帧率及所述当前丢帧标志分别作为所述处理帧率及所述预设丢帧标志,并返回执行所述根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志的步骤直至接收到预设结束指令为止。
在本发明实施例中,只要播放未结束,即只要音视频编辑软件未接收到预设结束指令,则均会进入丢帧策略,具体地,根据预设时间内对所有所述音视频帧进行视频解码处理所需的时间,计算当前处理帧率之后,将所述当前处理帧率及所述当前丢帧标志分别作为所述处理帧率及所述预设丢帧标志,并返回执行所述根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志的步骤直至接收到预设结束指令为止。需要说明的是,在本发明实施例中,当前处理帧率的变动调整可根据实际情况而定,例如,当前处理帧率的变化在一定的变化阈值内,可不进行调整,超过一定的阈值才进行调整。
图5是本发明实施例提供的一种音视频丢帧装置200的示意性框图。如图5所示,对应于以上音视频丢帧方法,本发明还提供一种音视频丢帧装置200。该音视频丢帧装置200包括用于执行上述音视频丢帧方法的单元,该装置可以被配置于终端中。具体地,请参阅图5,该音视频丢帧装置200判断单元201、第一计算单元202、第二计算单元203、丢弃处理单元204、第三计算单元205以及执行单元206。
其中,所述判断单元201用于若接收到预设音视频播放指令,则判断当前时刻是否位于预设采样时间段内;所述第一计算单元202用于若所述当前时刻位于所述预设采样时间段内,则将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据的处理帧率;所述第二计算单元203用于若所述当前时刻不位于所述预设采样时间段内,则根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志;所述丢弃处理单元204用于根据所述处理帧率及预设播放帧率确定当前丢帧间隔,并根据所述当前丢帧间隔及所述当前丢帧标志进行丢帧处理;所述第三计算单元205用于根据预设时间内对所有所述音视频帧进行视频解码处理所需的时间,计算当前处理帧率;所述执行单元206用于将所述当前处理帧率及所述当前丢帧标志分别作为所述处理帧率及所述预设丢帧标志,并返回执行所述根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志的步骤直至接收到预设结束指令为止。
在某些实施例,例如本实施例中,如图6所示,所述第一计算单元202包括第一计算子单元2021及第二计算子单元2022。
其中,所述第一计算子单元2021用于将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据进行视频解码处理的平均处理时间;所述第二计算子单元2022用于根据所述平均处理时间通过预设帧率计算公式计算处理帧率。
在某些实施例,例如本实施例中,如图7所示,所述第二计算单元203包括加法单元2031及取余单元2032;
其中,所述加法单元2031用于将预设丢帧标志加上预设值以得到第一当前丢帧标志;所述取余单元2032用于将所述第一当前丢帧标志取余预设丢帧间隔以得到第二当前丢帧标志,并将所述第二当前丢帧标志作为当前丢帧标志。
在某些实施例,例如本实施例中,如图8所示,所述丢弃处理单元204包括第一判断子单元2041、重置单元2042、第二判断子单元2043、第三计算子单元2044、第四计算子单元2045以及第一丢弃处理子单元2046。
其中,所述第一判断子单元2041用于判断所述处理帧率是否小于预设播放帧率;所述重置单元2042用于若所述处理帧率不小于预设播放帧率,则将所述当前丢帧间隔重置为预设不丢帧值;所述第二判断子单元2043用于若所述处理帧率小于预设播放帧率,则判断所述处理帧率是否小于预设播放帧率的一半;所述第三计算子单元2044用于若所述处理帧率小于所述预设播放帧率的一半,则根据第一预设丢帧间隔公式计算第一当前丢帧间隔;所述第四计算子单元2045用于若所述处理帧率不小于所述预设播放帧率的一半,则根据第二预设丢帧间隔公式计算第二当前丢帧间隔;所述第一丢弃处理子单元2046用于将所述第一当前丢帧间隔或所述第二当前丢帧间隔作为当前丢帧间隔,并根据所述当前丢帧标志及所述当前丢帧间隔进行丢帧处理。
在某些实施例,例如本实施例中,如图9所示,所述第一丢弃处理子单元2046包括第五计算子单元20461、第六计算子单元20467以及第二丢弃处理子单元20463。
其中,所述第五计算子单元20461用于若所述当前丢帧标志为预设标志值,则将所述第一当前丢帧间隔作为当前丢帧间隔;所述第六计算子单元20467用于若所述当前丢帧标志不为所述预设标志值,则将所述第二当前丢帧间隔作为所述当前丢帧间隔;所述第二丢弃处理子单元20463用于根据所述当前丢帧间隔进行丢帧处理。
在某些实施例,例如本实施例中,如图10所示,所述第二计算单元203包括第七计算子单元2031及第八计算子单元2032。
其中,所述第七计算子单元2031用于计算预设时间内视频解码处理所有所述音视频帧所需的时间以得到总处理时间;所述第八计算子单元2032用于将所述总处理时间除以总的执行次数以得到当前处理帧率,其中,所述总的执行次数为预设时间内视频解码处理所述音视频帧的次数。
本发明实施例的音视频丢帧装置200的具体实现方式与上述流程验证方法相对应,在此不再赘述。
上述音视频丢帧装置可以实现为一种计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。
请参阅图11,图11是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备300为终端,终端可以是台式电脑、手提电脑、平板电脑等具有通信功能的电子设备。
参阅图11,该计算机设备300包括通过***总线301连接的处理器302、存储器和网络接口305,其中,存储器可以包括存储介质303和内存储器304。
该存储介质303可存储操作***3031和计算机程序3032。该计算机程序3032被执行时,可使得处理器302执行一种音视频丢帧方法。
该处理器302用于提供计算和控制能力,以支撑整个计算机设备300的运行。
该内存储器304为存储介质303中的计算机程序3032的运行提供环境,该计算机程序3032被处理器302执行时,可使得处理器302执行一种音视频丢帧方法。
该网络接口305用于与其它设备进行网络通信。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备300的限定,具体的计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器302用于运行存储在存储器中的计算机程序3032,以实现如下步骤:若接收到预设音视频播放指令,则判断当前时刻是否位于预设采样时间段内;若所述当前时刻位于所述预设采样时间段内,则将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据的处理帧率;若所述当前时刻不位于所述预设采样时间段内,则根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志;根据所述处理帧率及预设播放帧率确定当前丢帧间隔,并根据所述当前丢帧间隔及所述当前丢帧标志进行丢帧处理;根据预设时间内对所有所述音视频帧进行视频解码处理所需的时间,计算当前处理帧率;将所述当前处理帧率及所述当前丢帧标志分别作为所述处理帧率及所述预设丢帧标志,并返回执行所述根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志的步骤直至接收到预设结束指令为止。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述处理帧率及预设播放帧率确定当前丢帧间隔,并根据所述当前丢帧间隔及所述当前丢帧标志进行丢帧处理步骤时,具体实现如下步骤:判断所述处理帧率是否小于预设播放帧率;若所述处理帧率不小于预设播放帧率,则将所述当前丢帧间隔重置为预设不丢帧值;若所述处理帧率小于预设播放帧率,则判断所述处理帧率是否小于预设播放帧率的一半。若所述处理帧率小于所述预设播放帧率的一半,则根据第一预设丢帧间隔公式计算第一当前丢帧间隔;若所述处理帧率不小于所述预设播放帧率的一半,则根据第二预设丢帧间隔公式计算第二当前丢帧间隔;将所述第一当前丢帧间隔或所述第二当前丢帧间隔作为当前丢帧间隔,并根据所述当前丢帧标志及所述当前丢帧间隔进行丢帧处理。
在某些实施例,例如本实施例中,处理器302在实现所述将所述第一当前丢帧间隔或所述第二当前丢帧间隔作为当前丢帧间隔,并根据所述当前丢帧标志及所述当前丢帧间隔进行丢帧处理步骤时,具体实现如下步骤:若所述当前丢帧标志为预设标志值,则将所述第一当前丢帧间隔作为当前丢帧间隔;若所述当前丢帧标志不为所述预设标志值,则将所述第二当前丢帧间隔作为所述当前丢帧间隔;根据所述当前丢帧间隔进行丢帧处理。
在某些实施例,例如本实施例中,处理器302在实现所述将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据的处理帧率步骤时,具体实现如下步骤:将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据进行视频解码处理的平均处理时间;根据所述平均处理时间通过预设帧率计算公式计算处理帧率。
在某些实施例,例如本实施例中,处理器302在实现所述根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志步骤时,具体实现如下步骤:将预设丢帧标志加上预设值以得到第一当前丢帧标志;将所述第一当前丢帧标志取余预设丢帧间隔以得到第二当前丢帧标志,并将所述第二当前丢帧标志作为当前丢帧标志。
在某些实施例,例如本实施例中,处理器302在实现所述根据预设时间内对所有所述音视频帧进行视频解码处理所需的时间,计算当前处理帧率步骤时,具体实现如下步骤:计算预设时间内视频解码处理所有所述音视频帧所需的时间以得到总处理时间;将所述总处理时间除以总的执行次数以得到当前处理帧率,其中,所述总的执行次数为预设时间内视频解码处理所述音视频帧的次数。
应当理解,在本申请实施例中,处理器302可以是中央处理单元(CentralProcessing Unit,CPU),该处理器302还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机***中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被该计算机***中的至少一个处理器执行,以实现上述音视频丢帧方法的实施例的流程步骤。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种音视频丢帧方法,其特征在于,包括:
若接收到预设音视频播放指令,则判断当前时刻是否位于预设采样时间段内;
若所述当前时刻位于所述预设采样时间段内,则将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据的处理帧率;
若所述当前时刻不位于所述预设采样时间段内,则根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志;
若所述处理帧率小于预设播放帧率的一半且所述当前丢帧标志为预设标志值,则将第一预设丢帧间隔公式计算得到的第一当前丢帧间隔作为当前丢帧间隔;
若所述处理帧率小于所述预设播放帧率,所述处理帧率不小于所述预设播放帧率的一半且所述当前丢帧标志不为所述预设标志值,则将第二预设丢帧间隔公式计算得到的第二当前丢帧间隔作为所述当前丢帧间隔;
根据所述当前丢帧间隔进行丢帧处理;
根据对预设时间内所有音视频帧进行视频解码处理所需的时间,计算当前处理帧率;
将所述当前处理帧率及所述当前丢帧标志分别作为所述处理帧率及所述预设丢帧标志,并返回执行所述根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志的步骤直至接收到预设结束指令为止。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述处理帧率不小于预设播放帧率,则将所述当前丢帧间隔重置为预设不丢帧值。
3.根据权利要求1所述的方法,其特征在于,所述将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据的处理帧率,包括:
将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据进行视频解码处理的平均处理时间;
根据所述平均处理时间通过预设帧率计算公式计算处理帧率。
4.根据权利要求1所述的方法,其特征在于,所述根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志,包括:
将预设丢帧标志加上预设值以得到第一当前丢帧标志;
将所述第一当前丢帧标志取余预设丢帧间隔以得到第二当前丢帧标志,并将所述第二当前丢帧标志作为当前丢帧标志。
5.根据权利要求1所述的方法,其特征在于,所述根据对预设时间内所有音视频帧进行视频解码处理所需的时间,计算当前处理帧率,包括:
计算视频解码处理预设时间内所有音视频帧所需的时间以得到总处理时间;
将所述总处理时间除以总的执行次数以得到当前处理帧率,其中,所述总的执行次数为视频解码处理预设时间内所有音视频帧的次数。
6.一种音视频丢帧装置,其特征在于,包括:
判断单元,用于若接收到预设音视频播放指令,则判断当前时刻是否位于预设采样时间段内;
第一计算单元,用于若所述当前时刻位于所述预设采样时间段内,则将所述预设采样时间段内获取的所有音视频帧作为采样数据,并计算所述采样数据的处理帧率;
第二计算单元,用于若所述当前时刻不位于所述预设采样时间段内,则根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志;
丢弃处理单元,用于若所述处理帧率小于预设播放帧率的一半且所述当前丢帧标志为预设标志值,则将第一预设丢帧间隔公式计算得到的第一当前丢帧间隔作为当前丢帧间隔;若所述处理帧率小于所述预设播放帧率,所述处理帧率不小于所述预设播放帧率的一半且所述当前丢帧标志不为所述预设标志值,则将第二预设丢帧间隔公式计算得到的第二当前丢帧间隔作为所述当前丢帧间隔;根据所述当前丢帧间隔进行丢帧处理;
第三计算单元,用于根据对预设时间内所有音视频帧进行视频解码处理所需的时间,计算当前处理帧率;
执行单元,用于将所述当前处理帧率及所述当前丢帧标志分别作为所述处理帧率及所述预设丢帧标志,并返回执行所述根据预设丢帧标志及预设丢帧间隔计算当前丢帧标志的步骤直至接收到预设结束指令为止。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110732311.7A CN113453054B (zh) | 2021-06-30 | 2021-06-30 | 音视频丢帧方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110732311.7A CN113453054B (zh) | 2021-06-30 | 2021-06-30 | 音视频丢帧方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113453054A CN113453054A (zh) | 2021-09-28 |
CN113453054B true CN113453054B (zh) | 2022-11-29 |
Family
ID=77814234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110732311.7A Active CN113453054B (zh) | 2021-06-30 | 2021-06-30 | 音视频丢帧方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113453054B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114040247A (zh) * | 2021-11-09 | 2022-02-11 | 新智认知数据服务有限公司 | 网络视频流的处理方法、电子设备及计算机可读存储介质 |
CN114501126B (zh) * | 2021-12-25 | 2024-03-15 | 深圳市广和通无线股份有限公司 | 视频播放方法、***和存储介质 |
CN115190325B (zh) * | 2022-07-01 | 2023-09-05 | 广州市百果园信息技术有限公司 | 丢帧控制方法、装置、设备、存储介质及程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107333163A (zh) * | 2017-06-29 | 2017-11-07 | 上海鋆创信息技术有限公司 | 一种视频处理方法及装置、一种终端及存储介质 |
CN113055718A (zh) * | 2021-06-02 | 2021-06-29 | 杭州星犀科技有限公司 | 时间戳均匀化处理的方法、***、电子装置和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873952B (zh) * | 2012-12-18 | 2017-10-20 | 风网科技(北京)有限公司 | 一种高效的视频播放丢帧控制***及其方法 |
US10009628B2 (en) * | 2013-06-07 | 2018-06-26 | Apple Inc. | Tuning video compression for high frame rate and variable frame rate capture |
CN104254018B (zh) * | 2014-03-19 | 2018-04-03 | 深圳深讯和科技有限公司 | 多媒体播放中的视频帧处理方法和装置 |
CN103856812B (zh) * | 2014-03-25 | 2018-08-07 | 北京奇艺世纪科技有限公司 | 一种视频播放方法及装置 |
CN105916059A (zh) * | 2016-04-29 | 2016-08-31 | 北京奇虎科技有限公司 | 视频传输处理方法及装置 |
CN106603543B (zh) * | 2016-12-22 | 2019-08-09 | 努比亚技术有限公司 | 校正流媒体音视频同步的方法及装置 |
CN108063973A (zh) * | 2017-12-14 | 2018-05-22 | 浙江大华技术股份有限公司 | 一种视频流解码方法及设备 |
-
2021
- 2021-06-30 CN CN202110732311.7A patent/CN113453054B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107333163A (zh) * | 2017-06-29 | 2017-11-07 | 上海鋆创信息技术有限公司 | 一种视频处理方法及装置、一种终端及存储介质 |
CN113055718A (zh) * | 2021-06-02 | 2021-06-29 | 杭州星犀科技有限公司 | 时间戳均匀化处理的方法、***、电子装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113453054A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113453054B (zh) | 音视频丢帧方法、装置、计算机设备及存储介质 | |
CN112350953B (zh) | 流量限制方法及其装置、电子设备和计算机可读存储介质 | |
CN104822001B (zh) | 回声消除数据同步控制方法和装置 | |
CN108211352B (zh) | 一种调节画质的方法及终端 | |
WO2018076982A2 (zh) | 一种音视频同步播放的方法及终端 | |
EP3119070A1 (en) | Method and device for determining a crank phone number | |
CN108228358B (zh) | 修正垂直同步信号的方法、装置、移动终端以及存储介质 | |
CN109862403B (zh) | 自适应码率切换方法、装置、电子设备及存储介质 | |
US10798406B2 (en) | Systems and methods for controlling video display | |
EP3151577B1 (en) | Information processing apparatus, information processing method, and program | |
CN109450659B (zh) | 区块延时广播方法、设备和存储介质 | |
CN110875059A (zh) | 收音结束的判断方法、装置以及储存装置 | |
CN113923519A (zh) | 视频渲染方法、装置、计算机设备及存储介质 | |
CN106649645B (zh) | 一种播放列表处理方法及装置 | |
CN108549578B (zh) | 一种中断聚合装置及其方法 | |
CN109981482B (zh) | 音频处理方法及装置 | |
WO2022199370A1 (zh) | 护眼提示方法、装置、存储介质和计算机设备 | |
CN115577271A (zh) | 竞赛对手匹配方法、装置、电子设备及存储介质 | |
CN106126179B (zh) | 一种信息处理方法和电子设备 | |
CN108495177B (zh) | 一种音频变速处理方法及装置 | |
CN114302252A (zh) | 视频去除水印的方法、装置、计算机设备及存储介质 | |
CN110460874B (zh) | 视频播放参数生成方法、装置、存储介质及电子设备 | |
CN109446350B (zh) | 多媒体播放方法、装置、终端及存储介质 | |
CN110909062A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN107087210B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211119 Address after: 518000 1001, block D, building 5, software industry base, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Wanxing Software Co.,Ltd. Address before: 518000 1002, block D, building 5, software industry base, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: SHENZHEN SIBO TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |