数据同步方法、装置、设备及存储介质与流程
本技术涉及多媒体,尤其涉及数据同步方法、装置、设备及存储介质。
背景技术:
1、随着智能设备功能的不断完善,人们利用目标终端与智能设备的交互也愈加频繁,在协同的无线串流场景下,目标终端负责音视频编解码与渲染,通过无线网络将数据实时传输至智能设备显示,在此阶段,离不开数据的同步,目前,用于数据同步的常用方式依赖固定时间戳对齐、单一主时钟同步,但是,设备间的系统时钟不同步时,固定锚点会导致累积误差,且视频渲染受硬件刷新率限制,音频若被动追赶会导致卡顿或断裂。因此,上述方式进行数据同步的精准度较低。
2、上述内容仅用于辅助理解本技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本技术的主要目的在于提供一种数据同步方法、装置、设备及存储介质,旨在解决现有技术进行数据同步的精准度较低的技术问题。
2、为实现上述目的,本技术提出一种数据同步方法,所述方法包括:
3、在检测到智能设备与目标终端处于无线串流场景时,确定当前音频流数据块推送至应用的预期播放时间;
4、根据所述预期播放时间和当前系统时间确定音频流数据播放时间间隔;
5、在检测到从视频流缓冲区读取视频流数据块时,根据当前视频流数据块的媒体时间计算目标视频流送显时间;
6、在所述目标视频流送显时间满足预设时间要求时,根据所述目标视频流送显时间确定视频流数据播放时间间隔,并根据所述视频流数据播放时间间隔和所述音频流数据播放时间间隔进行数据同步。
7、在一实施例中,所述在检测到智能设备与目标终端处于无线串流场景时,确定当前音频流数据块推送至应用的预期播放时间的步骤,包括:
8、在检测到智能设备与目标终端处于无线串流场景时,从音频流缓冲区读取当前音频流数据块,并获取所述当前音频流数据块携带的时间戳;
9、获取上一音频数据流数据块计算的音频流基准时间;
10、对所述当前音频流数据块携带的时间戳和所述音频流基准时间进行差值计算,得到当前音频流数据块推送至应用的预期播放时间。
11、在一实施例中,所述根据所述预期播放时间和当前系统时间确定音频流数据播放时间间隔的步骤,包括:
12、获取上一音频数据流数据块推送至应用的当前系统时间;
13、对所述预期播放时间与所述当前系统时间进行相加,得到第一时间和;
14、获取执行目标数据同步算法的设备的目标系统时间;
15、对所述第一时间和与所述目标系统时间进行差值计算,得到音频流数据播放时间间隔。
16、在一实施例中,所述在检测到从视频流缓冲区读取视频流数据块时,根据当前视频流数据块的媒体时间计算目标视频流送显时间的步骤,包括:
17、在检测到从视频流缓冲区读取视频流数据块时,获取当前视频流数据块携带的时间戳;
18、获取上一视频流数据块计算的视频流基准时间;
19、对所述当前视频流数据块携带的时间戳与所述视频流基准时间进行差值计算,得到当前视频流数据块的媒体时间;
20、获取垂直同步信号,并确定所述垂直同步信号的周期的数量;
21、根据所述数量、所述垂直同步信号的周期以及所述当前视频流数据块的媒体时间计算目标视频流送显时间。
22、在一实施例中,所述在所述目标视频流送显时间满足预设时间要求时,根据所述目标视频流送显时间确定视频流数据播放时间间隔的步骤,包括:
23、调用从音频流缓冲区读取音频流数据块时所更新的媒体锚点时间;
24、根据所述媒体锚点时间和目标视频送显时间确定目标预设时间;
25、在根据所述目标预设时间确定所述目标视频流送显时间满足预设时间要求时,对所述目标视频流送显时间与当前系统时间进行相加,得到第二时间和;
26、对所述第二时间和与目标系统时间进行差值计算,得到视频流数据播放时间间隔。
27、在一实施例中,所述根据所述视频流数据播放时间间隔和所述音频流数据播放时间间隔进行数据同步的步骤,包括:
28、在所述视频流数据播放时间间隔小于或等于预设数值时,立即推送当前视频流数据块;
29、在所述视频流数据播放时间间隔大于预设数值时,等待所述视频流数据播放时间间隔后推送所述当前视频流数据块;
30、等待所述音频流数据播放时间间隔后推送当前音频流数据块,实现音视频数据块的同步。
31、在一实施例中,所述在检测到智能设备与目标终端处于无线串流场景时,确定当前音频流数据块推送至应用的预期播放时间的步骤之前,还包括:
32、在检测到音频断流或音频流缓冲区存在数据不足时,获取所述音频流缓冲区的数据块存储参数;
33、根据所述数据块存储参数创建空白音频流数据块,并将所述空白音频流数据块插入至所述音频流缓冲区,根据插入后的音频流缓冲区执行检测智能设备与目标终端是否处于无线串流场景的步骤;
34、在检测到视频流缓冲区存在数据堆积时,获取所述视频流缓冲区的数据块入列时间戳;
35、根据所述数据块入列时间戳从所述视频流缓冲区提取未超时视频流数据块,将所述未超时视频流数据块丢弃,并根据丢弃后的视频流缓冲区执行检测智能设备与目标终端是否处于无线串流场景的步骤。
36、此外,为实现上述目的,本技术还提出一种数据同步装置,所述数据同步装置包括:
37、确定模块,用于在检测到智能设备与目标终端处于无线串流场景时,确定当前音频流数据块推送至应用的预期播放时间;
38、所述确定模块,还用于根据所述预期播放时间和当前系统时间确定音频流数据播放时间间隔;
39、计算模块,用于在检测到从视频流缓冲区读取视频流数据块时,根据当前视频流数据块的媒体时间计算目标视频流送显时间;
40、同步模块,用于在所述目标视频流送显时间满足预设时间要求时,根据所述目标视频流送显时间确定视频流数据播放时间间隔,并根据所述视频流数据播放时间间隔和所述音频流数据播放时间间隔进行数据同步。
41、此外,为实现上述目的,本技术还提出一种数据同步设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的数据同步方法的步骤。
42、此外,为实现上述目的,本技术还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的数据同步方法的步骤。
43、本技术提出的一个或多个技术方案,至少具有以下技术效果:通过在检测到智能设备与目标终端处于无线串流场景时,确定当前音频流数据块推送至应用的预期播放时间;根据所述预期播放时间和当前系统时间确定音频流数据播放时间间隔;在检测到从视频流缓冲区读取视频流数据块时,根据当前视频流数据块的媒体时间计算目标视频流送显时间;在所述目标视频流送显时间满足预设时间要求时,根据所述目标视频流送显时间确定视频流数据播放时间间隔,并根据所述视频流数据播放时间间隔和所述音频流数据播放时间间隔进行数据同步。通过上述方式,以音频为同步核心,结合动态更新的媒体锚点时间,有效消除智能设备与目标终端之间的时钟漂移及网络传输抖动带来的累积误差,然后根据视频流数据播放时间间隔和音频流数据播放时间间隔进行数据同步,从而能够有效提高数据同步的精准度,确保音频流的连续播放,显著提升用户视听体验的流畅性与沉浸感。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com