CN115866309A - 一种支持多路视频同步的音视频缓存方法和装置 - Google Patents
一种支持多路视频同步的音视频缓存方法和装置 Download PDFInfo
- Publication number
- CN115866309A CN115866309A CN202211513433.8A CN202211513433A CN115866309A CN 115866309 A CN115866309 A CN 115866309A CN 202211513433 A CN202211513433 A CN 202211513433A CN 115866309 A CN115866309 A CN 115866309A
- Authority
- CN
- China
- Prior art keywords
- channel video
- main channel
- cache
- sub
- 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.)
- Granted
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及音视频处理技术领域,更具体地,涉及一种支持多路视频同步的音视频缓存方法和装置。所述方法包括:获取主通道视频数据的主通道视频帧率和子通道视频数据的子通道视频帧率并进行缓存得到主通道视频缓存、子通道视频缓存;对主通道视频缓存进行取帧播放,根据主通道视频帧率统计主通道视频缓存已播放时长;根据子通道视频帧率计算子通道视频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断子通道视频缓存是否达到取帧播放条件。本发明通过更精细化的分级速度控制,并以主通道视频缓存的播放帧率控制为核心,对子通道视频缓存、音频缓存的播放帧率同步控制,支持多通道视频、音频的同步,更好的适配多摄产品。
Description
技术领域
本发明涉及音视频处理技术领域,更具体地,涉及一种支持多路视频同步的音视频缓存方法和装置。
背景技术
当前,伴随着网络技术的大力推广及普及,具有视频监控、远程看护、实时报警等功能的网络摄像机已经成为很多家庭的普遍选择。而随着网络摄像机清晰度的提升,4G摄像机以及双摄甚至三摄等产品市场份额的逐步扩大,流畅的视频观看体验、多摄视频的同步播放就显得尤为重要。
由于不同地区宽带、4G信号强度的差异,网络摄像机的网络状态并不能很好地处于一个稳定的状态,加上网络抖动的影响,这就可能会导致视频观看卡顿、画面不动等问题,影响观看体验。而对于双摄、三摄等产品,可能会造成不同通道视频的不同步问题,这就需要设计一个合理的音视频缓存方法来解决这些问题。
例如,申请号为CN201710818019.0的专利提出通过客户端播放器在播放过程中动态调整音视频播放速率,来平衡网络波动导致的卡顿和延时。但是此种设计方式的缓存,对视频帧率会动态改变的场景并不能很好地自适应,且播放速度控制精度较为粗糙,不实际,且不支持多通道视频同步播放控制。
发明内容
本发明的目的在于至少解决背景技术中所提出的问题之一,为实现本发明的目的,采用以下技术方案:
本发明一实施例提出一种支持多路视频同步的音视频缓存方法,包括:
获取主通道视频数据的主通道视频帧率和子通道视频数据的子通道视频帧率并进行缓存得到主通道视频缓存、子通道视频缓存;
对主通道视频缓存进行取帧播放,根据主通道视频帧率统计主通道视频缓存已播放时长;
根据子通道视频帧率计算子通道视频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断子通道视频缓存是否达到取帧播放条件。
进一步的改进在于,对主通道视频缓存进行取帧播放,根据主通道视频帧率统计主通道视频缓存已播放时长的具体方法包括:
根据主通道视频帧率和主通道视频缓存当前帧数得到主通道视频缓存实时时长;
把主通道视频缓存实时时长与预设缓存时长进行比较,根据比较结果对主通道视频缓存的播放帧率进行动态调整。
进一步的改进在于,把主通道视频缓存实时时长与预设缓存时长进行比较,根据比较结果对主通道视频缓存的播放帧率进行动态调整的具体方法包括:
当主通道视频缓存实时时长小于预设缓存时长时,则降低主通道视频缓存的播放帧率;
当主通道视频缓存实时时长大于预设缓存时长时,则提高主通道视频缓存的播放帧率。
进一步的改进在于,对主通道视频缓存进行取帧播放,根据主通道视频帧率统计主通道视频缓存已播放时长的具体方法包括:
根据播放帧率计算下一帧主通道视频待播放的时间间隔;
获取当前时间和主通道视频缓存最近一次的取帧播放时间的时间差值;
判断时间差值是否大于时间间隔;
若是则对主通道视频缓存进行取帧播放并更新最近一次的取帧播放时间和主通道视频缓存已播放时长。
进一步的改进在于,获取主通道视频数据的主通道视频帧率、子通道视频数据的子通道视频帧率的具体方法包括:
根据主通道视频采样率和主通道视频帧的时间戳计算得到多个主通道视频连续帧的实时帧率形成主通道视频帧率队列,对主通道视频帧率队列中的多个实时帧率求平均值得到主通道视频帧率;
根据子通道视频采样率和子通道视频帧的时间戳计算得到多个子通道视频连续帧的实时帧率形成子通道视频帧率队列,对子通道视频帧率队列中的多个实时帧率求平均值得到子通道视频帧率。
进一步的改进在于,根据子通道视频帧率计算子通道视频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断子通道视频缓存是否达到取帧播放条件的具体方法包括:
根据子通道视频帧率计算得到子通道视频缓存中一帧的播放时长和子通道视频缓存已播放时长;
判断子通道视频缓存下一次要取帧播放的时间点是否小于主通道视频缓存已播放时长,其中,子通道视频缓存下一次要取帧播放的时间点为子通道视频缓存已播放时长加一帧的播放时长后的值;
若是则代表达到取帧播放条件,取帧播放并更新子通道视频缓存已播放时长。
进一步的改进在于,还包括:
获取音频数据的音频帧率并进行缓存得到音频缓存;
根据音频帧率计算音频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断音频缓存是否达到取帧播放条件。
本发明另一实施例对应提出一种支持多路视频同步的音视频缓存装置,包括:
帧率获取模块,用于获取主通道视频数据的主通道视频帧率和子通道视频数据的子通道视频帧率;
缓存模块,用于对主通道视频数据、子通道视频数据进行缓存得到主通道视频缓存、子通道视频缓存;
取帧播放模块,用于对主通道视频缓存进行取帧播放;
第一计算模块,用于根据主通道视频帧率统计主通道视频缓存已播放时长;
第二计算模块,用于根据子通道视频帧率计算子通道视频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断子通道视频缓存是否达到取帧播放条件。
本发明另一实施例提出一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中任意一项所述的一种支持多路视频同步的音视频缓存方法。
本发明另一实施例提出一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述实施例中任意一项所述的一种支持多路视频同步的音视频缓存方法。
本发明的有益效果:
本发明通过实时统计主通道视频帧率,可以自适应帧率的动态变化,为后续的主通道视频缓存的播放帧率控制提供依据,可以适应可变帧率的摄像机或场景。
本发明通过更精细化的分级速度控制,使主通道视频缓存在网络无数据、网络数据堆积涌来的情况下,播放更平滑,并尽量减小延迟。
本发明以主通道视频缓存的播放帧率控制为核心,对子通道视频缓存、音频缓存的播放帧率同步控制,支持多通道视频、音频的同步,更好的适配多摄产品。
附图说明
图1为本发明中双摄视频观看应用场景的系统结构示意图;
图2为本发明中一种支持多路视频同步的音视频缓存方法的流程示意图;
图3为本发明中获取主通道视频数据的主通道视频帧率的方法流程图;
图4为本发明中获取音频数据的音频帧率的方法流程图;
图5为本发明中帧数据入缓存流程图;
图6为本发明中帧数据出缓存流程图;
图7为本发明中主通道视频缓存实时时长和播放帧率的对应关系示意图;
图8为本发明中主通道视频缓存的播放帧率的具体控制流程图;
图9为本发明中对主通道视频缓存进行取帧播放的流程图;
图10为本发明中根据子通道视频帧率计算子通道视频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断子通道视频缓存是否达到取帧播放条件的流程图;
图11为本发明中根据音频帧率计算音频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断音频缓存是否达到取帧播放条件的流程图;
图12为本发明中一种支持多路视频同步的音视频缓存装置的结构示意图;
图13为本发明中一种电子设备的示意图。
具体实施方式
以为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参考附图1-附图13,本发明实施例第一方面提出一种支持多路视频同步的音视频缓存方法,该方法主要应用在网络监控摄像机,本实施例中以双摄监控摄像机为例进行说明,其中,双摄是指具有两个镜头的摄像机,监控视角覆盖更广,且可以实现更多智能化应用,实时视频观看采用两条网络通道(可以分为主通道视频和子通道视频)进行传输。
本实施例采用实时流媒体协议(RTSP/RTP),RTP协议头标准长度为12字节,其中有4个字节为时间戳Timestamp,可以用于计算帧率和播放同步处理等。如图1所示为双摄视频观看应用场景的系统结构示意图。
如图2所示,本实施例一种支持多路视频同步的音视频缓存方法具体包括:
步骤S1、获取主通道视频数据的主通道视频帧率和子通道视频数据的子通道视频帧率;
步骤S2、对主通道视频数据和子通道视频数据进行缓存得到主通道视频缓存、子通道视频缓存;
步骤S3、对主通道视频缓存进行取帧播放,根据主通道视频帧率统计主通道视频缓存已播放时长;
步骤S4、根据子通道视频帧率计算子通道视频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较,根据比较结果判断子通道视频缓存是否达到取帧播放条件,若达到则对子通道视频缓存进行取帧播放,若未达到则继续比较和判断。
在本实施例中,所述步骤S1中还包括获取音频数据的音频帧率;所述步骤S2还包括对音频数据进行缓存得到音频缓存。
所述步骤S4中还包括根据音频帧率计算音频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断音频缓存是否达到取帧播放条件。
在实际的摄像机产品中,视频帧率会跟随场景变化而发生变化,而音频帧率不变。系统需要准确计算得到真实的视频帧率,以便后面播放帧率的调整有据可依。本实施例中具体采用实时统计、均值计算的方式计算帧率。
具体地,在本实施例中,所述步骤S1中获取主通道视频数据的主通道视频帧率、子通道视频数据的子通道视频帧率、音频数据的音频帧率的具体方法包括:
根据主通道视频采样率和主通道视频帧的时间戳计算得到多个主通道视频连续帧的实时帧率形成主通道视频帧率队列,对主通道视频帧率队列中的多个实时帧率求平均值得到主通道视频帧率。
根据子通道视频采样率和子通道视频帧的时间戳计算得到多个子通道视频连续帧的实时帧率形成子通道视频帧率队列,对子通道视频帧率队列中的多个实时帧率求平均值得到子通道视频帧率。
根据音频采样率和音频帧的时间戳计算得到多个音频连续帧的实时帧率形成音频帧率队列,对音频帧率队列中的多个实时帧率求平均值得到音频帧率。
本实施例中以主通道视频数据和音频数据为例进行说明:
在主通道视频中,H264/H265的视频采样率为90000,假设视频帧率为vRate,则主通道视频帧的RTP中的时间戳timestamp每次累加的值为:90000/vRate,从而得到视频帧率vRate的计算方式为:
vRate=90000/(tsVCurr-tsVLast)
其中,tsVCurr为当前主通道视频帧的时间戳,tsVLast为上一帧主通道视频帧的时间戳。
如图3所示为获取主通道视频数据的主通道视频帧率的方法流程图,首先保存当前主通道视频帧的时间戳tsVCurr,然后判断上一帧的时间戳tsVLast是否有效,如果有效则按照上述视频帧率vRate的计算方式进行计算,把计算结果保存到主通道视频帧率队列中并更新tsVLast为tsVCurr,然后判断主通道视频帧率队列个数是否大于或等于7,如果是则去掉主通道视频帧率队列中的最大值和最小值,然后求和取平均值得到主通道视频帧率vFrameRate,如果否则直接求和取平均值得到主通道视频帧率vFrameRate。
在音频中,安防监控摄像机常用的音频格式为G711A、G726等,采样率一般为8000,假设每秒的采样次数(帧率)为aRate,则音频帧的RTP中的时间戳timestamp每次累加的值为:8000/aRate,从而得到实时音频帧率aRate的计算方式:
aRate=8000/(tsACurr-tsALast)
其中,tsACurr为当前音频帧的时间戳,tsALast为上一帧音频帧的时间戳。
如图4所示为获取音频数据的音频帧率的方法流程图,首先保存当前音频帧的时间戳tsACurr,然后判断上一帧的时间戳tsALast是否有效,如果有效则按照上述实时音频帧率aRate的计算方式进行计算,把计算结果保存到音频帧率队列中并更新tsALast为tsACurr,然后判断音频帧率队列个数是否大于或等于7,如果是则去掉音频帧率队列中的最大值和最小值,然后求和取平均值得到音频帧率aFrameRate,如果否则直接求和取平均值得到音频帧率aFrameRate。
子通道视频帧率的计算与主通道视频帧率的计算方法类似,本实施例不再详述。计算得到的vFrameRate和aFrameRate为最终统计的主通道视频帧率和音频帧率,通过上述的方法可以自适应帧率的动态变化。
本实施例通过实时统计主通道视频帧率,为后续的主通道视频缓存的播放帧率控制提供依据,可以适应可变帧率的摄像机或场景。
在本实施例中,所述步骤S2中对主通道视频数据和子通道视频数据进行缓存得到主通道视频缓存、子通道视频缓存,以及对音频数据进行缓存得到音频缓存采用的是环形缓存方式,保证合理的最大缓存空间。
下面以主通道视频缓存为例进行说明,其中用到的3个比较重要的参数为:加入缓存的索引(addIndex)、取帧播放的索引(getIndex)、当前缓存帧数(frameCount),还有缓存最大计数(maxCount),可以预设保存30秒到60秒的数据即可,由此可得主通道视频缓存的时长值计算方法为frameCount/vFrameRate。
其中,缓存输入的具体流程如图5所示,缓存输出的具体流程如图6所示。
在本实施例中,步骤S3中对主通道视频缓存进行取帧播放,根据主通道视频帧率统计主通道视频缓存已播放时长的具体方法包括:
根据主通道视频帧率和主通道视频缓存当前帧数得到主通道视频缓存实时时长;
把主通道视频缓存实时时长与预设缓存时长进行比较,根据比较结果对主通道视频缓存的播放帧率进行动态调整。
在本实施例中,所述把主通道视频缓存实时时长与预设缓存时长进行比较,根据比较结果对主通道视频缓存的播放帧率进行动态调整的具体方法包括:
当主通道视频缓存实时时长小于预设缓存时长时,则降低主通道视频缓存的播放帧率;
当主通道视频缓存实时时长大于预设缓存时长时,则提高主通道视频缓存的播放帧率。
在附图7和附图8中,cache_sec为主通道视频缓存实时时长,单位为秒;1.0x中的x表示系数,x的值为预设缓存时长,例如x为3,则1.0乘以3等于3,表示预设缓存时长为3秒。本领域技术人员可以根据实际需要通过x系数大小设置预设缓存时长的大小。
play_speed表示播放帧率,例如,1.0表示按照1倍的主通道视频帧率的速度进行播放,1.5表示按照1.5倍的主通道视频帧率的速度进行播放。
通过主通道视频缓存实时时长与预设缓存时长进行比较,根据比较结果对主通道视频缓存的播放帧率进行动态调整。每一个特定的主通道视频缓存实时时长区间分别对应一个特定的播放帧率。
播放帧率控制的总体思路为:当主通道视频缓存中的帧数据较小时(网络延迟、波动),则按照较低的播放帧率进行播放,避免播放卡顿、画面不动等问题;当主通道视频缓存中的帧数据较多时(网络拥堵后的数据在短时间内一涌而来),则按照较快的播放帧率进行播放,避免播放画面延迟大的问题。
如图8所示,首先计算主通道视频缓存实时时长,然后判断主通道视频缓存实时时长是否大于2.0x,是则播放帧率playFrameRate=1.5倍的vFrameRate,否则继续判断主通道视频缓存实时时长是否大于1.7x,是则播放帧率playFrameRate=1.3倍的vFrameRate,否则继续判断主通道视频缓存实时时长是否大于1.2x,是则播放帧率playFrameRate=1.15倍的vFrameRate,否则继续判断主通道视频缓存实时时长是否大于0.8x,是则播放帧率playFrameRate=1倍的vFrameRate,否则继续判断主通道视频缓存实时时长是否大于0.5x,是则播放帧率playFrameRate=0.85倍的vFrameRate,否则继续判断主通道视频缓存实时时长是否大于0.2x,是则播放帧率playFrameRate=0.7倍的vFrameRate,否则播放帧率playFrameRate=0.5倍的vFrameRate,在得到了播放帧率playFrameRate后,就可以计算下一帧主通道视频待播放的时间间隔playInterval=1000/playFrameRate,单位为毫秒。
本实施例通过更精细化的分级速度控制,使主通道视频缓存在网络无数据、网络数据堆积涌来的情况下,播放更平滑,并尽量减小延迟。
在本实施例中,如图9所示,所述步骤S3中对主通道视频缓存进行取帧播放,根据主通道视频帧率统计主通道视频缓存已播放时长的具体方法包括:
根据播放帧率playFrameRate计算下一帧主通道视频待播放的时间间隔playInterval;
获取当前时间currTime和主通道视频缓存最近一次的取帧播放时间的时间差值subTime;
判断时间差值subTime是否大于时间间隔playInterval;
若是则对主通道视频缓存进行取帧播放并更新最近一次的取帧播放时间和主通道视频缓存已播放时长totalPlayMs。
在本实施例中,如图10所示,所述步骤S4中根据子通道视频帧率计算子通道视频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断子通道视频缓存是否达到取帧播放条件的具体方法包括:
根据子通道视频帧率v2FrameRate计算得到子通道视频缓存中一帧的播放时长(1000/v2FrameRate)和子通道视频缓存已播放时长videoTotalMs;
判断子通道视频缓存下一次要取帧播放的时间点vNextPlayTime是否小于主通道视频缓存已播放时长totalPlayMs,其中,子通道视频缓存下一次要取帧播放的时间点为子通道视频缓存已播放时长加一帧的播放时长后的值;
若是则代表子通道视频缓存达到取帧播放条件,取帧播放并更新子通道视频缓存已播放时长videoTotalMs,以便进行下一次判断比较。
在本实施例中,如图11所示,所述步骤S4中根据音频帧率计算音频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断音频缓存是否达到取帧播放条件的具体方法包括:
根据音频帧率aFrameRate计算得到音频缓存中一帧的播放时长(1000/aFrameRate)和音频缓存已播放时长audioTotalMs;
判断音频缓存下一次要取帧播放的时间点aNextPlayTime是否小于主通道视频缓存已播放时长totalPlayMs,其中,音频缓存下一次要取帧播放的时间点为音频缓存已播放时长加一帧的播放时长后的值;
若是则代表音频缓存达到取帧播放条件,取帧播放并更新音频缓存已播放时长audioTotalMs,以便进行下一次判断比较。
本发明以主通道视频缓存的播放帧率控制为核心,对子通道视频缓存、音频缓存的播放帧率同步控制,支持多通道视频、音频的同步,更好的适配多摄产品。
参见图12,是本发明一实施例对应提供的一种支持多路视频同步的音视频缓存装置的结构示意图,与上述本发明实施例提供的一种支持多路视频同步的音视频缓存方法相对应,由于本发明实施例提供的一种支持多路视频同步的音视频缓存装置与上述本发明实施例提供的一种支持多路视频同步的音视频缓存方法相对应,因此在前述一种支持多路视频同步的音视频缓存方法的实施方式也适用于本实施例提供的一种支持多路视频同步的音视频缓存装置。
具体地,本发明一实施例对应提供的一种支持多路视频同步的音视频缓存装置包括:
帧率获取模块10,用于获取主通道视频数据的主通道视频帧率和子通道视频数据的子通道视频帧率;
缓存模块20,用于对主通道视频数据、子通道视频数据进行缓存得到主通道视频缓存、子通道视频缓存;
取帧播放模块30,用于对主通道视频缓存进行取帧播放;
第一计算模块40,用于根据主通道视频帧率统计主通道视频缓存已播放时长;
第二计算模块50,用于根据子通道视频帧率计算子通道视频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断子通道视频缓存是否达到取帧播放条件。
参见图13,本发明实施例还对应提供一种电子设备以及一种计算机可读存储介质。
如图13所示是本发明一实施例提供的一种电子设备的示意图。该实施例的电子设备包括:处理器11、存储器12以及存储在所述存储器中并可在所述处理器11上运行的计算机程序。所述处理器11执行所述计算机程序时实现上述一种支持多路视频同步的音视频缓存方法实施例中的步骤。或者,所述处理器11执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器11执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备中的执行过程。
所述电子设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器11可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分。
所述存储器12可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述电子设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统121、至少一个功能所需的应用程序122(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种支持多路视频同步的音视频缓存方法,其特征在于,包括:
获取主通道视频数据的主通道视频帧率和子通道视频数据的子通道视频帧率并进行缓存得到主通道视频缓存、子通道视频缓存;
对主通道视频缓存进行取帧播放,根据主通道视频帧率统计主通道视频缓存已播放时长;
根据子通道视频帧率计算子通道视频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断子通道视频缓存是否达到取帧播放条件。
2.根据权利要求1所述的一种支持多路视频同步的音视频缓存方法,其特征在于,对主通道视频缓存进行取帧播放,根据主通道视频帧率统计主通道视频缓存已播放时长的具体方法包括:
根据主通道视频帧率和主通道视频缓存当前帧数得到主通道视频缓存实时时长;
把主通道视频缓存实时时长与预设缓存时长进行比较,根据比较结果对主通道视频缓存的播放帧率进行动态调整。
3.根据权利要求2所述的一种支持多路视频同步的音视频缓存方法,其特征在于,把主通道视频缓存实时时长与预设缓存时长进行比较,根据比较结果对主通道视频缓存的播放帧率进行动态调整的具体方法包括:
当主通道视频缓存实时时长小于预设缓存时长时,则降低主通道视频缓存的播放帧率;
当主通道视频缓存实时时长大于预设缓存时长时,则提高主通道视频缓存的播放帧率。
4.根据权利要求2所述的一种支持多路视频同步的音视频缓存方法,其特征在于,对主通道视频缓存进行取帧播放,根据主通道视频帧率统计主通道视频缓存已播放时长的具体方法包括:
根据播放帧率计算下一帧主通道视频待播放的时间间隔;
获取当前时间和主通道视频缓存最近一次的取帧播放时间的时间差值;
判断时间差值是否大于时间间隔;
若是则对主通道视频缓存进行取帧播放并更新最近一次的取帧播放时间和主通道视频缓存已播放时长。
5.根据权利要求1所述的一种支持多路视频同步的音视频缓存方法,其特征在于,获取主通道视频数据的主通道视频帧率、子通道视频数据的子通道视频帧率的具体方法包括:
根据主通道视频采样率和主通道视频帧的时间戳计算得到多个主通道视频连续帧的实时帧率形成主通道视频帧率队列,对主通道视频帧率队列中的多个实时帧率求平均值得到主通道视频帧率;
根据子通道视频采样率和子通道视频帧的时间戳计算得到多个子通道视频连续帧的实时帧率形成子通道视频帧率队列,对子通道视频帧率队列中的多个实时帧率求平均值得到子通道视频帧率。
6.根据权利要求1所述的一种支持多路视频同步的音视频缓存方法,其特征在于,根据子通道视频帧率计算子通道视频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断子通道视频缓存是否达到取帧播放条件的具体方法包括:
根据子通道视频帧率计算得到子通道视频缓存中一帧的播放时长和子通道视频缓存已播放时长;
判断子通道视频缓存下一次要取帧播放的时间点是否小于主通道视频缓存已播放时长,其中,子通道视频缓存下一次要取帧播放的时间点为子通道视频缓存已播放时长加一帧的播放时长后的值;
若是则代表达到取帧播放条件,取帧播放并更新子通道视频缓存已播放时长。
7.根据权利要求1-6中任意一项所述的一种支持多路视频同步的音视频缓存方法,其特征在于,还包括:
获取音频数据的音频帧率并进行缓存得到音频缓存;
根据音频帧率计算音频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断音频缓存是否达到取帧播放条件。
8.一种支持多路视频同步的音视频缓存装置,其特征在于,包括:
帧率获取模块,用于获取主通道视频数据的主通道视频帧率和子通道视频数据的子通道视频帧率;
缓存模块,用于对主通道视频数据、子通道视频数据进行缓存得到主通道视频缓存、子通道视频缓存;
取帧播放模块,用于对主通道视频缓存进行取帧播放;
第一计算模块,用于根据主通道视频帧率统计主通道视频缓存已播放时长;
第二计算模块,用于根据子通道视频帧率计算子通道视频缓存下一次要取帧播放的时间点并与主通道视频缓存已播放时长进行比较判断子通道视频缓存是否达到取帧播放条件。
9.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的一种支持多路视频同步的音视频缓存方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述的一种支持多路视频同步的音视频缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211513433.8A CN115866309B (zh) | 2022-11-29 | 2022-11-29 | 一种支持多路视频同步的音视频缓存方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211513433.8A CN115866309B (zh) | 2022-11-29 | 2022-11-29 | 一种支持多路视频同步的音视频缓存方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115866309A true CN115866309A (zh) | 2023-03-28 |
CN115866309B CN115866309B (zh) | 2023-09-22 |
Family
ID=85667882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211513433.8A Active CN115866309B (zh) | 2022-11-29 | 2022-11-29 | 一种支持多路视频同步的音视频缓存方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115866309B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090135918A1 (en) * | 2007-11-23 | 2009-05-28 | Research In Motion Limited | System and method for providing a variable frame rate and adaptive frame skipping on a mobile device |
KR20110029979A (ko) * | 2009-09-17 | 2011-03-23 | 주식회사 디지털존 | 동기화된 영상을 디스플레이하는 디스플레이 시스템 및 디스플레이 방법 |
CN202759552U (zh) * | 2012-06-18 | 2013-02-27 | 李洋 | 一种基于ip网络的多终端视频同步播放的系统 |
CN104378675A (zh) * | 2014-12-08 | 2015-02-25 | 厦门雅迅网络股份有限公司 | 一种多通道音视频同步播放处理方法 |
CN104683866A (zh) * | 2013-11-29 | 2015-06-03 | 成都鼎桥通信技术有限公司 | 一种接收视频流的播放处理方法 |
KR101600891B1 (ko) * | 2014-10-17 | 2016-03-09 | 쿨사인 주식회사 | 복수의 단말기에 출력되는 비디오 및 오디오를 동기화시키는 동기화시스템 및 방법 |
CN107371061A (zh) * | 2017-08-25 | 2017-11-21 | 普联技术有限公司 | 一种视频流播放方法、装置及设备 |
WO2018000624A1 (zh) * | 2016-06-29 | 2018-01-04 | 乐视控股(北京)有限公司 | 视频播放控制方法及装置 |
CN107801080A (zh) * | 2017-11-10 | 2018-03-13 | 普联技术有限公司 | 一种音视频同步方法、装置及设备 |
CN109327662A (zh) * | 2017-07-31 | 2019-02-12 | 合网络技术(北京)有限公司 | 视频拼接方法及装置 |
CN110944225A (zh) * | 2019-11-20 | 2020-03-31 | 武汉长江通信产业集团股份有限公司 | 一种基于html5的不同帧率音视频的同步方法及装置 |
CN111586461A (zh) * | 2020-04-08 | 2020-08-25 | 微梦创科网络科技(中国)有限公司 | 一种多路流同步播放的直播方法及系统 |
CN111669539A (zh) * | 2019-03-05 | 2020-09-15 | 杭州海康威视数字技术股份有限公司 | 一种视频播放方法、装置及电子设备 |
CN111918093A (zh) * | 2020-08-13 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 直播数据处理方法、装置、计算机设备和存储介质 |
US20210044778A1 (en) * | 2018-04-27 | 2021-02-11 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for video splicing and displaying |
CN114974321A (zh) * | 2021-02-27 | 2022-08-30 | 华为技术有限公司 | 一种音频播放方法、设备及系统 |
-
2022
- 2022-11-29 CN CN202211513433.8A patent/CN115866309B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090135918A1 (en) * | 2007-11-23 | 2009-05-28 | Research In Motion Limited | System and method for providing a variable frame rate and adaptive frame skipping on a mobile device |
KR20110029979A (ko) * | 2009-09-17 | 2011-03-23 | 주식회사 디지털존 | 동기화된 영상을 디스플레이하는 디스플레이 시스템 및 디스플레이 방법 |
CN202759552U (zh) * | 2012-06-18 | 2013-02-27 | 李洋 | 一种基于ip网络的多终端视频同步播放的系统 |
CN104683866A (zh) * | 2013-11-29 | 2015-06-03 | 成都鼎桥通信技术有限公司 | 一种接收视频流的播放处理方法 |
KR101600891B1 (ko) * | 2014-10-17 | 2016-03-09 | 쿨사인 주식회사 | 복수의 단말기에 출력되는 비디오 및 오디오를 동기화시키는 동기화시스템 및 방법 |
CN104378675A (zh) * | 2014-12-08 | 2015-02-25 | 厦门雅迅网络股份有限公司 | 一种多通道音视频同步播放处理方法 |
WO2018000624A1 (zh) * | 2016-06-29 | 2018-01-04 | 乐视控股(北京)有限公司 | 视频播放控制方法及装置 |
CN109327662A (zh) * | 2017-07-31 | 2019-02-12 | 合网络技术(北京)有限公司 | 视频拼接方法及装置 |
CN107371061A (zh) * | 2017-08-25 | 2017-11-21 | 普联技术有限公司 | 一种视频流播放方法、装置及设备 |
CN107801080A (zh) * | 2017-11-10 | 2018-03-13 | 普联技术有限公司 | 一种音视频同步方法、装置及设备 |
US20210044778A1 (en) * | 2018-04-27 | 2021-02-11 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for video splicing and displaying |
CN111669539A (zh) * | 2019-03-05 | 2020-09-15 | 杭州海康威视数字技术股份有限公司 | 一种视频播放方法、装置及电子设备 |
CN110944225A (zh) * | 2019-11-20 | 2020-03-31 | 武汉长江通信产业集团股份有限公司 | 一种基于html5的不同帧率音视频的同步方法及装置 |
CN111586461A (zh) * | 2020-04-08 | 2020-08-25 | 微梦创科网络科技(中国)有限公司 | 一种多路流同步播放的直播方法及系统 |
CN111918093A (zh) * | 2020-08-13 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 直播数据处理方法、装置、计算机设备和存储介质 |
CN114974321A (zh) * | 2021-02-27 | 2022-08-30 | 华为技术有限公司 | 一种音频播放方法、设备及系统 |
Non-Patent Citations (1)
Title |
---|
许延, 常义林, 刘增基: "网络环境下视频连续播放控制算法", 电子学报, no. 07 * |
Also Published As
Publication number | Publication date |
---|---|
CN115866309B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714634B (zh) | 一种直播数据流的解码同步方法、装置及设备 | |
CN113225598B (zh) | 移动端音视频同步的方法、装置、设备及存储介质 | |
US20230232059A1 (en) | Methods and systems for content control | |
EP2779666B1 (en) | Delivery of content | |
CN113286184B (zh) | 一种在不同设备上分别播放音频与视频的唇音同步方法 | |
CN111225209B (zh) | 视频数据推流方法、装置、终端及存储介质 | |
US20130070839A1 (en) | Statistical multiplexing of streaming media | |
EP1389874A3 (en) | Fast digital channel changing | |
CN112822502A (zh) | 直播去抖动的智能缓存与直播方法、设备及存储介质 | |
WO2022052566A1 (zh) | 视频码率调整方法、装置、电子设备和机器可读存储介质 | |
CN103002354A (zh) | 一种消除视频数据传输网络抖动的方法及系统 | |
CN112333526B (zh) | 一种视频缓冲调节方法、装置、存储介质及电子装置 | |
CN113905257A (zh) | 视频码率切换方法、装置、电子设备及存储介质 | |
CN110225385B (zh) | 一种音视频同步调整方法和装置 | |
CN113364767B (zh) | 一种流媒体数据显示方法、装置、电子设备及存储介质 | |
CN115866309B (zh) | 一种支持多路视频同步的音视频缓存方法和装置 | |
CN111918142B (zh) | 国标视频码流转rtp流的平顺方法、装置、设备及介质 | |
CN115866317B (zh) | 一种适用于网络摄像机的音视频缓存方法和装置 | |
CN114979783B (zh) | 一种音视频播放方法、装置和电子设备 | |
EP3828671A1 (en) | Method and system for selective content processing based on a panoramic camera and a virtual-reality headset | |
CN111726669B (zh) | 一种分布式解码设备及其音视频同步的方法 | |
CN115914756A (zh) | 基于网络分级的视频码率控制方法和设备 | |
JP5591953B2 (ja) | ホワイトスペースデバイス中の送信機の静穏化のための方法および装置 | |
CN101141368A (zh) | 用于控制流媒体数据回放处理速率的方法和装置 | |
CN118055277A (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 |