一种视频播放的同步方法和系统与流程

文档序号:32754527发布日期:2022-12-31 02:46阅读:84来源:国知局
一种视频播放的同步方法和系统与流程

1.本发明涉及视频播放技术,尤其涉及了一种视频播放的同步方法和系统。


背景技术:

2.在一些视频播放应用场景中,需要多个显示设备播放相同的视频播放列表,一个显示设备需要连接一个设备,如普通电脑主机。不同的主机设备中的播放器在根据本地播放列表播放视频时,由于设备性能不同,系统的资源消耗不同等原因,导致设备中播放列表无法同步播放,画面显示不一致,存在较大的时间差,并且这个时间差会随着播放时间的增加而增加。一方面影响观看体验,另一方面无法满足高同步要求的使用场景,从而无法满足业务需。
3.如现有技术cn202111665411.9,本公司申请的时间戳同步服务实现方法和系统。服务端根据上报的时间戳去下发新的同步时间戳,终端在根据这个新的同步时间戳进行调整;该视频同步其场景比较单一,只对一个视频可以对于多个视频列表就需要额外的技术。


技术实现要素:

4.本发明针对现有技术中视频同步其场景比较单一,只对一个视频可以,多个视频列表就需要额外的技术的问题,提出了一种视频播放的同步方法和系统。
5.为了解决上述技术问题,本发明通过下述技术方案得以解决:
6.一种视频播放的同步方法,包括服务端和至少1组视频播放端,其方法包括:
7.同步数据的生成,通过服务端生成视频播放的同步数据;
8.同步数据内数据结构的形成,服务端通过生成的同步数据进行排列从而形成同步数据内的数据结构;
9.播放数据信息的发送,服务端通过网络传输将播放数据信息发送至视频播放端;播放数据信息包括播放视频同步数据、播放视频文件和播放列表;
10.视频的同步播放,视频播放端对接收的同步数据信息进行判断处理,并产生播放信号,从而视频播放端进行视频的同步播放。
11.作为优选,通过服务端生成同步数据的方法包括:
12.步骤1,视频播放列表信息的获取,通过服务端获取视频播放列表信息;视频播放列表信息包括视频播放的起始时间、视频播放的结束时间、视频播放的文件列表、视频播放文件的全路径、播放视频文件的文件唯一标识符;
13.步骤2,同步时间的初始化,初始的同步时间等于视频播放列表信息中的开始时间;
14.步骤3,视频播放文件的获取,通过视频播放列表信息的文件列表,顺序依次获取
15.步骤4,视频同步数据的保存,通过提取视频播放文件中关键帧的pts,计算视频同步时间,保存视频同步数据
16.步骤5,视频同步数据生成的结束,当视频同步时间大于等于视频播放列表信息中
的结束时间,则视频同步数据生成结束;
17.步骤6,生成下一个视频文件的同步数据,当视频同步时间小于视频播放列表信息中的结束时间,则返回步骤3。
18.作为优选,步骤4中视频同步数据的保存包括:服务端生成同步数据;视频同步数据组内包含1个视频帧;每个视频关键帧对应一个视频同步数据组;
19.视频同步数据组内的同步时间的计算,将上一组同步数据组内的pts和当前同步数据组内的pts转为毫秒,并求得差值;当前同步数据组内的同步时间等于上一组同步数据组内的同步时间加差值。
20.作为优选,视频播放端对接收的同步数据信息进行判断处理方法包括:
21.s1、启动播放端,并获取播放端的系统时间;
22.s2、视频同步数据组的获取,通过二分法对同步数据进行查找,获取视频同步时间小于播放端的系统时间中,且视频同步时间最大的一组视频同步数据组;
23.s3、播放的视频文件获取,通过s2视频同步数据组内的视频同步数据组的文件标识符获取播放的视频文件;
24.s4、播放视频文件起始帧的确定,通过s2视频同步数据组内的视频同步数据组的pts,确定播放的视频文件的起始播放视频帧;
25.s5、开始播放的确定,通过对比s2视频同步数据组内的视频同步时间与系统时间,当视频同步时间大于等于播放端的系统时间,则开始播放s4中的起始帧;否则继续比对;
26.s6、播放视频文件下一个视频帧,对下一个视频帧进行判断,当下一个视频帧为关键帧;则需要进行播放时长调整,否则进行播放。
27.作为优选,播放时长的调整,通过获取s6中关键帧的pts,从视频同步数据中找到与pts相等的视频同步数据组,计算视频同步数据组内的同步时间与播放端的系统时间的差值;
28.通过视频同步数据组内的同步时间与播放端的系统时间的差值,对下一个视频帧进行播放时长的调整,调整后的视频帧的播放时长为原视频帧的播放时长加上差值。
29.为了解决上述技术问题,本技术还提供了一种视频播放的同步系统,包括服务端和至少1组视频播放端,其包括:
30.同步数据的生成模块,通过服务端生成视频播放的同步数据;
31.同步数据内数据结构的形成模块,服务端通过生成的同步数据进行排列从而形成同步数据内的数据结构;
32.播放数据信息的发送模块,服务端通过网络传输将播放数据信息发送至视频播放端;播放数据信息包括播放视频同步数据、播放视频文件和播放列表;
33.视频的同步播放模块,视频播放端对接收的同步数据信息进行判断处理,并产生播放信号,从而视频播放端进行视频的同步播放。
34.为了解决上述技术问题,本技术还提供了一种计算机可读存储介质,其所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现一种视频播放的同步方法的步骤。
35.为了解决上述技术问题,本技术还提供了一种电子设备,其包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现所述的一种视频播放的同步方法
的步骤。
36.本发明由于采用了以上技术方案,具有显著的技术效果:
37.本发明能够针对多个播放端不同的视频进行同步播放。
38.本发明设计的视频同步播放方对于不同设备中的播放器在播放本地播放列表时,能够同步播放,视频播放的时间差始终控制在1-3帧视频帧内。
附图说明
39.图1是本发明的流程图;
40.图2是本发明的服务端生成同步数据的方法流程图;
41.图3是本发明的视频播放端对接收的同步数据信息进行判断处理流程图。
具体实施方式
42.下面结合附图与实施例对本发明作进一步详细描述。
43.实施例1
44.一种视频播放的同步方法,包括服务端和至少1组视频播放端,如图1中的流程图中其方法包括:
45.同步数据的生成,通过服务端生成视频播放的同步数据;
46.同步数据内数据结构的形成,服务端通过生成的同步数据进行排列从而形成同步数据内的数据结构;同步数据内数据结构以二级制数据记录,同步时间为8个字节,pts为8个字节,文件唯一标识为8个字节,三个数据共24个字节为条记录。依次紧密排列在同步数据内数据结构中。
47.播放数据信息的发送,服务端通过网络传输将播放数据信息发送至视频播放端;播放数据信息包括播放视频同步数据、播放视频文件和播放列表;
48.视频播放端接收并保存到本地,视频播放端读取播放列表中的开始时间,设置定时器,到点开始进行视频的播放;
49.视频的同步播放,视频播放端对接收的同步数据信息进行判断处理,并产生播放信号,从而视频播放端进行视频的同步播放。
50.通过服务端生成同步数据的方法的流图如图2所示,其包括:
51.步骤1,视频播放列表信息的获取,通过服务端获取视频播放列表信息;视频播放列表信息包括视频播放的起始时间、视频播放的结束时间、视频播放的文件列表、视频播放文件的全路径、播放视频文件的文件唯一标识符;
52.步骤2,同步时间的初始化,初始的同步时间等于视频播放列表信息中的开始时间;
53.步骤3,视频播放文件的获取,通过视频播放列表信息的文件列表,顺序依次获取
54.步骤4,视频同步数据的保存,通过提取视频播放文件中关键帧的pts,计算视频同步时间,保存视频同步数据
55.步骤5,视频同步数据生成的结束,当视频同步时间大于等于视频播放列表信息中的结束时间,则视频同步数据生成结束;
56.步骤6,生成下一个视频文件的同步数据,当视频同步时间小于视频播放列表信息
中的结束时间,则返回步骤3。
57.步骤4中视频同步数据的保存包括:服务端生成同步数据;视频同步数据组内包含1个视频帧;每个视频关键帧对应一个视频同步数据组;
58.视频同步数据组内的同步时间的计算,将上一组同步数据组内的pts和当前同步数据组内的pts转为毫秒,并求得差值;当前同步数据组内的同步时间等于上一组同步数据组内的同步时间加差值。
59.视频播放端对接收的同步数据信息进行判断处理方法包括如图3:
60.s1、启动播放端,并获取播放端的系统时间;
61.s2、视频同步数据组的获取,通过二分法对同步数据进行查找,获取视频同步时间小于播放端的系统时间中,且视频同步时间最大的一组视频同步数据组;
62.s3、播放的视频文件获取,通过s2视频同步数据组内的视频同步数据组的文件标识符获取播放的视频文件;
63.s4、播放视频文件起始帧的确定,通过s2视频同步数据组内的视频同步数据组的pts,确定播放的视频文件的起始播放视频帧;
64.s5、开始播放的确定,通过对比s2视频同步数据组内的视频同步时间与系统时间,当视频同步时间大于等于播放端的系统时间,则开始播放s4中的起始帧;否则继续比对;
65.s6、播放视频文件下一个视频帧,对下一个视频帧进行判断,当下一个视频帧为关键帧;则需要进行播放时长调整,否则进行播放。
66.播放时长的调整,通过获取s6中关键帧的pts,从视频同步数据中找到与pts相等的视频同步数据组,计算视频同步数据组内的同步时间与播放端的系统时间的差值;
67.通过视频同步数据组内的同步时间与播放端的系统时间的差值,对下一个视频帧进行播放时长的调整,调整后的视频帧的播放时长为原视频帧的播放时长加上差值。
68.播放端在播放过程中,判断当前要播放的帧是否是关键帧,如果是,从同步数据中找到该关键帧的pts所对应的同步时间,并获取当前系统本地时间,计算同步时间与本地时间差值,如果差值的绝对值小于一个设定值,如20毫秒,则不做处理,继续播放。如果大于这个设定值,需要对接下了的n帧进行播放时长的调整。每帧的调整时长可以是差值除以n求得平均值。
69.实施例2
70.在实施例1基础上,本实施例为一种视频播放的同步系统,包括服务端和至少1组视频播放端,其包括:
71.同步数据的生成模块,通过服务端生成视频播放的同步数据;
72.同步数据内数据结构的形成模块,服务端通过生成的同步数据进行排列从而形成同步数据内的数据结构;
73.播放数据信息的发送模块,服务端通过网络传输将播放数据信息发送至视频播放端;播放数据信息包括播放视频同步数据、播放视频文件和播放列表;
74.视频的同步播放模块,视频播放端对接收的同步数据信息进行判断处理,并产生播放信号,从而视频播放端进行视频的同步播放。
75.实施例3
76.在实施例1基础上,本实施例为一种计算机可读存储介质,其所述计算机可读存储
介质上存储有计算机程序,所述计算机程序被处理器执行时实现一种视频播放的同步方法的步骤。
77.实施例4
78.在实施例1基础上,本实施例为一种电子设备,其包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现所述的一种视频播放的同步方法的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1