一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多设备间视频同步播放的方法及装置与流程

2022-03-09 01:39:03 来源:中国专利 TAG:


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.一些实施例中,所述第二预设阈值为10-20ms。
27.本发明的实施例还提供了一种多设备间视频同步播放的装置,应用于多个同步播放设备中的主设备,所述多个同步播放设备还包括至少一个从设备,所述主设备与所述从设备用于播放同一视频文件,所述装置包括:
28.获取模块,用于获取所述视频文件待播放的关键帧在所述视频文件中的第一起始播放时间点;
29.发送模块,用于在第一时刻向至少一个所述从设备发送同步指令,所述同步指令包括指示所述第一起始播放时间点为目标同步时间点,所述第一时刻对应所述视频文件中的第一播放进度时间点,所述第一播放进度时间点位于所述第一起始播放时间点之前。
30.本发明的实施例还提供了一种多设备间视频同步播放的装置,应用于多个同步播放设备中的从设备,所述多个同步播放设备还包括主设备,所述主设备与所述从设备用于播放同一视频文件,所述装置包括:
31.接收模块,用于接收所述主设备的同步指令,所述同步指令指示第一起始播放时间点为目标同步时间点,所述第一起始播放时间点为所述视频文件待播放的关键帧在所述视频文件中的起始播放时间点;
32.播放模块,用于根据所述关键帧的第一起始播放时间点播放所述视频文件。
33.本发明的实施例还提供了一种多设备间视频同步播放的装置,包括:
34.处理器;
35.存储器,其上存储有指令,被配置为当所述指令被所述处理器执行时,可实现如上所述的方法。
36.本发明的实施例还提供了一种存储介质,所述存储介质上存储有指令,当所述指令被处理器执行时,可实现如上所述的方法。
37.本发明的实施例具有以下有益效果:
38.上述方案中,主设备在播放关键帧之前,获取关键帧在视频文件中的第一起始播放时间点,并在接近关键帧播放的第一时刻将该关键帧的第一起始播放时间点同步给从设备,从设备在接收到关键帧的第一起始播放时间点后,可以根据关键帧的第一起始播放时间点播放视频文件,调整自身的播放进度,从而实现与主设备之间的播放同步。本实施例不依赖特殊硬件和设备间的连接方式,实现成本低,并且同步更加精准,播放效果流畅,能够提高用户体验;另外,本实施例不涉及对播放设备的解码底层代码进行修改,通用性更好。
附图说明
39.图1为本发明实施例主设备和从设备连接的示意图;
40.图2为本发明实施例主设备的多设备间视频同步播放的方法的流程示意图;
41.图3为本发明实施例从设备的多设备间视频同步播放的方法的流程示意图;
42.图4为本发明实施例多设备间视频同步播放的方法的流程示意图;
43.图5为本发明实施例在第一时刻向从设备发送同步指令的流程示意图;
44.图6为本发明实施例主设备的多设备间视频同步播放的装置的结构示意图;
45.图7为本发明实施例从设备的多设备间视频同步播放的装置的结构示意图;
46.图8为本发明实施例多设备间视频同步播放的装置的组成示意图。
具体实施方式
47.为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
48.相关技术中,在多设备间进行视频同步播放时,会提供一具体的定位时间点,播放设备会在该具体的定位时间点附近找到一个最近的关键帧,从该最近的关键帧进行播放,但是当关键帧之间的间隔比较大的时候,会出现视频跳帧的现象;为了满足精确同步的要求,相关技术大多采用硬件的方式,通过串行总线进行时钟的同步,进而保证多设备间的同步效果,但是随着设备数量的增加,部署难度会增加,并且硬件成本也会提高;另外还可以通过修改播放设备底层代码实现任意播放时间点的定位功能,但该方案对软件系统有特定性要求,通用性差。
49.本发明的实施例提供一种多设备间视频同步播放的方法及装置,能够实现多设备间的视频同步播放,实现成本低,同步精度高。
50.本发明的实施例中,多个播放设备之间无需通过硬件连接,可以通过无线通信连接,包括但不限于局域网、以太网、蓝牙等,当然,多个播放设备之间也可以通过串口线实现设备间的数据传递。如图1所示,多个进行视频同步的播放设备包括一主设备和至少一个从设备,主设备和从设备是具有通信功能、视频文件播放功能和一定逻辑处理能力的终端,主
设备和从设备可以是性能相同的设备,也可以是性能不同的设备,从设备以主设备的播放进度为基准进行视频同步,主设备与至少一个从设备之间进行通信,从设备之间可以不进行通信,也可以进行通信。可以由服务器指定多个播放设备中的一个播放设备作为主设备;也可以预先配置多个播放设备中的一个播放设备作为主设备,比如根据多个播放设备的播放进度或者硬件信息,选择其中一个播放设备作为主设备,一具体示例中,可以选择播放进度最靠前的播放设备作为主设备,其余播放设备作为从设备,另一具体示例中,可以选择硬件资源最多的播放设备作为主设备,其余播放设备作为从设备;还可以预先设置分配规则,由多个播放设备之间依据分配规则自动形成主设备和从设备,分配规则的依据不做限定。
51.在主设备和从设备之间通过无线网络进行通信时,可以通过无线网络来中转主设备发送给从设备的同步指令;或者可以由服务器将待播放的视频文件以及同步指令下发到各个播放设备。在主设备和从设备之间通过局域网进行通信时,数据的发送时延通常小于1ms,可以满足视频同步的需求,为了提高通信效率,主设备和从设备之间的通信可以采用udp(user datagram protocol,用户数据报协议)组播的方式,当然,主设备和从设备之间的通信还可以采用广播或者tcp(transmission control protocol,传输控制协议)的方式。
52.本发明的实施例提供一种多设备间视频同步播放的方法,应用于多个同步播放设备中的主设备,所述多个同步播放设备还包括至少一个从设备,所述主设备与所述从设备用于播放同一视频文件,如图2所示,所述方法包括:
53.步骤101:获取所述视频文件待播放的关键帧在所述视频文件中的第一起始播放时间点;
54.步骤102:在第一时刻向至少一个所述从设备发送同步指令,所述同步指令包括指示所述第一起始播放时间点为目标同步时间点,所述第一时刻对应所述视频文件中的第一播放进度时间点,所述第一播放进度时间点位于所述第一起始播放时间点之前。
55.其中,同步指令指示从设备以第一起始播放时间点为目标同步时间点,定位到目标同步时间点进行播放。
56.本技术实施例中,主设备在播放关键帧之前,获取关键帧在视频文件中的第一起始播放时间点,并在接近关键帧播放的第一时刻将该关键帧的第一起始播放时间点同步给从设备,从设备在接收到关键帧的第一起始播放时间点后,可以根据关键帧的第一起始播放时间点播放视频文件,调整自身的播放进度,从而实现与主设备之间的播放同步。本实施例不依赖特殊硬件和设备间的连接方式,实现成本低,并且同步更加精准,播放效果流畅,能够提高用户体验;另外,本实施例不涉及对播放设备的解码底层代码进行修改,通用性更好。
57.如果在同步播放视频文件时,主设备和从设备间在每一帧渲染之前都进行通信确认,然后进行渲染以达到视频显示同步的话,若一个主设备对应很多个从设备,在通信响应时延上就很难保证,会导致出现整体播放不流畅的问题,另外还会耗费较多的同步处理资源。因此,本实施例不需要在每一帧渲染之前都进行同步,而是仅在重要的关键帧之前进行同步,这样一方面可以节省同步处理的资源,另外可以保证播放设备的播放流畅。
58.视频文件一般包含i帧、p帧和b帧,为了兼顾视频的清晰流畅和视频文件大小,一般视频都是采用编码技术,i帧是一幅完整的图像,p和b帧都是记录的图像差别部分内容,
这样可以减少视频文件的数据量。本实施例中,可以将i帧作为关键帧,仅在播放i帧之前进行视频文件同步,一方面不影响同步效果,另一方面可以使得播放效果流畅,能够提高用户体验。
59.本实施例中,还可以根据播放的内容,从视频帧中选择关键帧,比如根据视频帧的内容重要程度来选择关键帧,对于内容不太重要的视频帧,进行高精度的同步的意义不大,因此,可以选择内容比较重要的视频帧作为关键帧,在内容比较重要的视频帧播放之前进行同步,而在其他视频帧播放之前不需要进行同步。
60.另外,本实施例还可以根据画面内容的变化程度来选择关键帧,如果一视频帧相对前一视频帧的画面变化程度不大,则对该视频帧进行同步的意义不大,无需在该视频帧播放之前进行同步;如果一视频帧相对前一视频帧的画面变化程度很大,如果不对该视频帧进行同步可能会影响用户的观看体验,因此,可以选择该视频帧作为关键帧,在该视频帧播放之前进行同步。
61.再者,有些播放器使用seek方法进行播放位置定位时,如果目标定位时间点不是关键帧所在时间点,播放器会自动定位到关键帧时间点,导致本次定位播放的位置与预期位置产生偏差,无法同步,而将目标定位时间点设为关键帧所在时间点,可以避免这一问题。
62.本发明实施例中,在播放每一关键帧之前,都需要获取关键帧在视频文件中的第一起始播放时间点,并在接近关键帧播放的第一时刻将该关键帧的第一起始播放时间点同步给从设备,其中,第一时刻对应所述视频文件中的第一播放进度时间点,第一播放进度时间点与第一起始播放时间点的间隔时长小于等于一帧画面的显示时长,这样从设备在接收到同步指令后即可立即进行同步。如果过早将关键帧在视频文件中的第一起始播放时间点发送给从设备,比如提前一分钟或者更长时间将关键帧在视频文件中的第一起始播放时间点发送给从设备,在这一分钟内主设备的播放可能出现问题比如出现卡顿,这样同步指令将失去意义,从设备即使按照同步指令进行同步也不能保证与主设备之间的视频播放同步;而第一时刻与关键帧的第一起始播放时间点之间的间隔小于等于一帧画面的显示时长,在第一时刻与关键帧的第一起始播放时间点之间,主设备的播放出现问题的概率极小,可以忽略。
63.一些实施例中,所述第一播放进度时间点与所述第一起始播放时间点的间隔时长小于等于一帧画面的显示时长,这样可以使得主设备与从设备之间的播放进度差小于一帧画面的显示时长,保证用户体验。
64.本实施例中,除了在每一关键帧播放之前进行视频同步,还可以在初始播放的时候进行视频同步,一些实施例中,所述获取所述视频文件待播放的关键帧在所述视频文件中的第一起始播放时间点之前,所述方法还包括:
65.获取针对所述视频文件的播放指令;
66.从所述视频文件的第二起始播放时间点开始播放所述视频文件,并向至少一个所述从设备发送初次同步指令,所述初次同步指令指示所述视频文件的第二起始播放时间点作为起始播放的时间点作为起始播放的时间点。
67.这样在主设备开始播放视频文件时,可以将视频文件的第二起始播放时间点“0”发送给从设备,从设备在接收到初次同步指令后,从头开始播放所述视频文件。本实施例
中,主设备和从设备播放的视频文件可以是服务器下发给主设备和从设备的,也可以是预先存储在主设备和从设备中的。对于显示同步的场景,主设备和从设备播放的画面相同;对于显示拼接的场景,主设备和从设备播放的画面不同,主设备和从设备播放的可以是同一视频文件,也可以是按照显示的部位对原始视频文件进行再次编码后得到的视频文件,但是主设备和从设备都是用于播放同一视频文件,主设备和从设备播放的时间刻度都是统一的。
68.一些实施例中,所述获取针对所述视频文件的播放指令包括以下任一项:
69.接收视频服务器下发的所述播放指令;
70.获取被预设定时器触发的所述播放指令。
71.本实施例中,可以是从服务器实时获取播放指令,也可以将播放指令预先存储在播放设备中,设定预设定时器,在预设定时器超时后会触发播放指令,则主设备开始播放视频文件。
72.在主设备开始播放视频文件之后,通过对视频文件进行解析,可以获取下一待播放的关键帧,比如通过多媒体视频处理工具或者系统提供的api(application programming interface,应用程序接口)可以十分容易地获取下一待播放的关键帧,进而可以确定关键帧在视频文件中的第一起始播放时间点,比如下一关键帧在视频文件中的第一起始播放时间点为0分35秒第40毫秒。
73.在获取下一关键帧在视频文件中的第一起始播放时间点后,主设备并不会马上将携带第一起始播放时间点的同步指令发送给从设备,而是获取先获取当前时刻对应的所述视频文件中的第二播放进度时间点,计算第二播放进度时间点与该第一起始播放时间点之间的差值,如果差值过大,则不会将携带第一起始播放时间点的同步指令发送给从设备,而是会进行小步伐地迭代,直至逼近该第一起始播放时间点的第一时刻,才将携带第一起始播放时间点的同步指令发送给从设备。因为如果过早将关键帧在视频文件中的第一起始播放时间点发送给从设备,比如提前一分钟或者更长时间将关键帧在视频文件中的第一起始播放时间点发送给从设备,如果主设备的实际播放速度并不精确或者从设备的定时器并不准确,这样同步指令将失去意义,从设备即使按照同步指令进行同步也不能保证与主设备之间的视频播放同步,因此,需要通过多次小步伐调整发送同步指令的时间,在逼近该第一起始播放时间点的第一时刻再发送同步指令。
74.一些实施例中,所述在第一时刻向至少一个所述从设备发送同步指令包括:
75.判断当前时刻对应的所述视频文件中的第一播放进度时间点与所述第一起始播放时间点之间的间隔时长是否大于第一预设阈值,如果否,将当前时刻作为所述第一时刻,向至少一个所述从设备发送所述同步指令,所述预设时间小于所述间隔时长。
76.一些实施例中,所述在第一时刻向至少一个所述从设备发送同步指令还包括:判断当前时刻对应的所述视频文件中的第一播放进度时间点与所述第一起始播放时间点之间的间隔时长是否大于第一预设阈值,如果是,设置第一定时器,所述第一定时器时长小于所述间隔时长,在所述定时器结束后,重新判断当前时刻对应的对数视频文件中的第一播放进度时间点与所述第一起始播放时间点之间的间隔时长。
77.其中,第一预设阈值小于一帧画面的显示时间,一些实施例中,所述第一预设阈值为10-20ms。
78.可以根据主设备和从设备间通信所需要的时间来调整第一预设阈值的值,比如在主设备和从设备之间通过udp局域网进行无线通信时,通信所需时间一般为10ms,则第一预设阈值可以设为10ms,在第二播放进度时间点与所述第一起始播放时间点之间的间隔时长小于第一预设阈值时,主设备直接向从设备发送同步指令。
79.第一定时器的时长即调整发送同步指令的步伐,第一定时器的时长一般小于第一预设阈值,一些实施例中,所述第一定时器的时长不大于10ms。
80.本发明的实施例还提供了一种多设备间视频同步播放的方法,应用于多个同步播放设备中的从设备,所述多个同步播放设备还包括主设备,所述主设备与所述从设备用于播放同一视频文件,如图3所示,所述方法包括:
81.步骤201:接收所述主设备的同步指令,所述同步指令指示第一起始播放时间点为目标同步时间点,所述第一起始播放时间点为所述视频文件待播放的关键帧在所述视频文件中的起始播放时间点;
82.步骤202:根据所述关键帧的第一起始播放时间点播放所述视频文件。
83.其中,同步指令指示从设备以第一起始播放时间点为目标同步时间点,定位到目标同步时间点进行播放。
84.本技术实施例中,主设备在播放关键帧之前,获取关键帧在视频文件中的第一起始播放时间点,并在接近关键帧播放的第一时刻将该关键帧的第一起始播放时间点同步给从设备,从设备在接收到关键帧的第一起始播放时间点后,可以根据关键帧的第一起始播放时间点播放视频文件,调整自身的播放进度,从而实现与主设备之间的播放同步。本实施例不依赖特殊硬件和设备间的连接方式,实现成本低,并且同步更加精准,播放效果流畅,能够提高用户体验;另外,本实施例不涉及对播放设备的解码底层代码进行修改,通用性更好。
85.一些实施例中,所述接收所述主设备的同步指令之前,所述方法还包括:
86.接收所述主设备的初次同步指令,所述初次同步指令指示所述视频文件的第二起始播放时间点作为起始播放的时间点;
87.从所述视频文件的第二起始播放时间点开始播放所述视频文件。
88.主设备开始播放视频文件时,可以将视频文件的起始播放时间点“0”发送给从设备,从设备在接收到初次同步指令后,从头开始播放所述视频文件。本实施例中,主设备和从设备播放的视频文件可以是服务器下发给主设备和从设备的,也可以是预先存储在主设备和从设备中的。对于显示同步的场景,主设备和从设备播放的画面相同;对于显示拼接的场景,主设备和从设备播放的画面不同,主设备和从设备播放的可以是同一视频文件,也可以是按照显示的部位对原始视频文件进行再次编码后得到的视频文件,但是主设备和从设备都是用于播放同一视频文件,主设备和从设备播放的时间刻度都是统一的。
89.从设备在接收到同步指令后,会根据当前自身播放进度与关键帧的第一起始播放时间点之间的间隔时长调整播放进度,由于在进行视频同步时,肉眼一般无法察觉一帧画面的差异,因此如果该间隔时长小于一帧画面的显示时间,从设备可以不调整播放进度,继续按照当前的播放进度进行调整;如果当前自身播放进度与关键帧的第一起始播放时间点之间的间隔时长过长,则需要定位到关键帧的第一起始播放时间点进行播放。
90.一些实施例中,所述根据所述关键帧的第一起始播放时间点播放所述视频文件包
括:
91.判断当前时刻对应的所述视频文件中的第三播放进度时间点与所述关键帧的第一起始播放时间点之间的间隔时长是否大于第二预设阈值,如果是,从所述关键帧的第一起始播放时间点开始播放所述视频文件,如果否,继续从所述第三播放进度时间点播放所述视频文件。
92.其中,所述第二预设阈值不大于一帧画面的显示时长,具体可以为10-20ms。
93.一具体实施例中,如图4所示,本技术实施例的多设备间视频同步播放的方法包括以下步骤:
94.步骤301:主设备获取针对视频文件的播放指令;
95.本实施例中,可以是从服务器实时获取播放指令,也可以将播放指令预先存储在播放设备中,设定预设定时器,在预设定时器超时后会触发播放指令,则主设备开始播放视频文件。
96.步骤302:主设备从视频文件的起始播放时间点开始播放,并向至少一个从设备发送初次同步指令,指示视频文件的第二起始播放时间点;
97.这样在主设备开始播放视频文件时,可以将视频文件的起始播放时间点“0”发送给从设备,从设备在接收到初次同步指令后,从头开始播放所述视频文件。本实施例中,主设备和从设备播放的视频文件可以是服务器下发给主设备和从设备的,也可以是预先存储在主设备和从设备中的。对于显示同步的场景,主设备和从设备播放的画面相同;对于显示拼接的场景,主设备和从设备播放的画面不同,主设备和从设备播放的可以是同一视频文件,也可以是按照显示的部位对原始视频文件进行再次编码后得到的视频文件,但是主设备和从设备都是用于播放同一视频文件,主设备和从设备播放的时间刻度都是统一的。
98.步骤303:主设备获取下一待播放的关键帧在视频文件中的第一起始播放时间点;
99.在主设备开始播放视频文件之后,通过对视频文件进行解析,可以获取下一待播放的关键帧,比如通过多媒体视频处理工具或者系统提供的api可以十分容易地获取下一待播放的关键帧,进而可以确定关键帧在视频文件中的第一起始播放时间点,比如下一关键帧在视频文件中的第一起始播放时间点为0分35秒第40毫秒。
100.步骤304:在接近关键帧的第一起始播放时间点的第一时刻向至少一个所述从设备发送同步指令,所述同步指令包括指示所述第一起始播放时间点为目标同步时间点;
101.在获取下一关键帧在视频文件中的第一起始播放时间点后,主设备并不会马上将携带第一起始播放时间点的同步指令发送给从设备,而是获取先获取当前时刻对应的所述视频文件中的第二播放进度时间点,计算第二播放进度时间点与该第一起始播放时间点之间的差值,如果差值过大,则不会将携带第一起始播放时间点的同步指令发送给从设备,而是会进行小步伐地迭代,直至逼近该第一起始播放时间点的第一时刻,才将携带第一起始播放时间点的同步指令发送给从设备。因为如果过早将关键帧在视频文件中的第一起始播放时间点发送给从设备,比如提前一分钟或者更长时间将关键帧在视频文件中的第一起始播放时间点发送给从设备,如果主设备的实际播放速度并不精确或者从设备的定时器并不准确,这样同步指令将失去意义,从设备即使按照同步指令进行同步也不能保证与主设备之间的视频播放同步,因此,需要通过多次小步伐调整发送同步指令的时间,在逼近该第一起始播放时间点的第一时刻再发送同步指令。
102.如图5所示,所述在第一时刻向至少一个所述从设备发送同步指令包括:
103.步骤401:判断当前时刻对应的所述视频文件中的第二播放进度时间点与所述第一起始播放时间点之间的间隔时长是否大于第一预设阈值,如果是,转向步骤402,如果否,转向步骤403;
104.步骤402:设置第一定时器,所述第一定时器的时长小于所述间隔时长,在第一定时器超时后,转向步骤401;
105.步骤403:将当前时刻作为所述第一时刻,向至少一个所述从设备发送所述同步指令。
106.步骤305:从设备接收主设备的同步指令,根据关键帧的第一起始播放时间点播放所述视频文件。
107.从设备在接收到同步指令后,会根据当前自身播放进度与关键帧的第一起始播放时间点之间的间隔时长调整播放进度,由于在进行视频同步时,肉眼一般无法察觉一帧画面的差异,因此如果该间隔时长小于一帧画面的显示时间,从设备可以不调整播放进度,继续按照当前的播放进度进行调整;如果当前自身播放进度与关键帧的第一起始播放时间点之间的间隔时长过长,则需要定位到关键帧的第一起始播放时间点进行播放,比如定位到视频文件的0分35秒第40毫秒开始播放。
108.在执行上述步骤305后,转向步骤303,继续下一关键帧的同步,直至完成所有关键帧的同步。
109.本实施例中,主设备可以向一个从设备发送同步指令,也可以同时向多个从设备发送同步指令,从设备在接收到同步指令后,即按照同步指令调整自身的播放进度,为了节约通信资源,从设备可以不向主设备反馈信息;在主设备向多个从设备发送同步指令时,多个从设备独立完成自身播放进度的调整,互不影响。
110.需要说明的是,本技术实施例提供的多设备间视频同步播放的方法,执行主体可以为多设备间视频同步播放的装置,或者该多设备间视频同步播放的装置中的用于执行加载多设备间视频同步播放的方法的模块。本技术实施例中以多设备间视频同步播放的装置执行加载多设备间视频同步播放的方法为例,说明本技术实施例提供的多设备间视频同步播放的方法。
111.本发明的实施例还提供了一种多设备间视频同步播放的装置,应用于多个同步播放设备中的主设备,所述多个同步播放设备还包括至少一个从设备,所述主设备与所述从设备用于播放同一视频文件,如图6所示,所述装置包括:
112.获取模块11,用于获取所述视频文件待播放的关键帧在所述视频文件中的第一起始播放时间点;
113.发送模块12,用于在第一时刻向至少一个所述从设备发送同步指令,所述同步指令包括指示所述第一起始播放时间点为目标同步时间点,所述第一时刻对应所述视频文件中的第一播放进度时间点,所述第一播放进度时间点位于所述第一起始播放时间点之前。
114.本技术实施例中,主设备在播放关键帧之前,获取关键帧在视频文件中的第一起始播放时间点,并在接近关键帧播放的第一时刻将该关键帧的第一起始播放时间点同步给从设备,从设备在接收到关键帧的第一起始播放时间点后,可以根据关键帧的第一起始播放时间点播放视频文件,调整自身的播放进度,从而实现与主设备之间的播放同步。本实施
例不依赖特殊硬件和设备间的连接方式,实现成本低,并且同步更加精准,播放效果流畅,能够提高用户体验;另外,本实施例不涉及对播放设备的解码底层代码进行修改,通用性更好。
115.一些实施例中,所述获取模块11还用于获取针对所述视频文件的播放指令;
116.所述装置还包括:
117.播放模块,用于从所述视频文件的第二起始播放时间点开始播放所述视频文件,并向至少一个所述从设备发送初次同步指令,所述初次同步指令指示所述视频文件的第二起始播放时间点作为起始播放的时间点。
118.一些实施例中,所述获取模块11具体用于执行以下任一项:
119.接收视频服务器下发的所述播放指令;
120.获取被预设定时器触发的所述播放指令。
121.一些实施例中,发送模块12具体用于判断当前时刻对应的所述视频文件中的第一播放进度时间点与所述第一起始播放时间点之间的间隔时长是否大于第一预设阈值,如果否,将当前时刻作为所述第一时刻,向至少一个所述从设备发送所述同步指令,所述预设时间小于所述间隔时长。
122.一些实施例中,发送模块12具体用于判断当前时刻对应的所述视频文件中的第一播放进度时间点与所述第一起始播放时间点之间的间隔时长是否大于第一预设阈值,如果是,设置第一定时器,所述第一定时器时长小于所述间隔时长,在所述定时器结束后,重新判断当前时刻对应的对数视频文件中的第一播放进度时间点与所述第一起始播放时间点之间的间隔时长。
123.其中,第一预设阈值小于一帧画面的显示时间,一些实施例中,所述第一预设阈值为10-20ms。
124.本技术实施例中的多设备间视频同步播放的装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
125.本发明的实施例还提供了一种多设备间视频同步播放的装置,应用于多个同步播放设备中的从设备,所述多个同步播放设备还包括主设备,所述主设备与所述从设备用于播放同一视频文件,如图7所示,所述装置包括:
126.接收模块21,用于接收所述主设备的同步指令,所述同步指令指示第一起始播放时间点为目标同步时间点,所述第一起始播放时间点为所述视频文件待播放的关键帧在所述视频文件中的起始播放时间点;
127.播放模块22,用于根据所述关键帧的第一起始播放时间点播放所述视频文件。
128.本技术实施例中,主设备在播放关键帧之前,获取关键帧在视频文件中的第一起始播放时间点,并在接近关键帧播放的第一时刻将该关键帧的第一起始播放时间点同步给从设备,从设备在接收到关键帧的第一起始播放时间点后,可以根据关键帧的第一起始播放时间点播放视频文件,调整自身的播放进度,从而实现与主设备之间的播放同步。本实施例不依赖特殊硬件和设备间的连接方式,实现成本低,并且同步更加精准,播放效果流畅,能够提高用户体验;另外,本实施例不涉及对播放设备的解码底层代码进行修改,通用性更好。
129.一些实施例中,接收模块21还用于接收所述主设备的初次同步指令,所述初次同步指令指示所述视频文件的第二起始播放时间点作为起始播放的时间点;
130.播放模块22还用于从所述视频文件的第二起始播放时间点开始播放所述视频文件。
131.一些实施例中,播放模块22具体用于判断当前时刻对应的所述视频文件中的第三播放进度时间点与所述关键帧的第一起始播放时间点之间的间隔时长是否大于第二预设阈值,如果是,从所述关键帧的第一起始播放时间点开始播放所述视频文件,如果否,继续从所述第三播放进度时间点播放所述视频文件。
132.一些实施例中,所述第二预设阈值为10-20ms。
133.本技术实施例中的多设备间视频同步播放的装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
134.本发明的实施例还提供了一种多设备间视频同步播放的装置,如图8所示,包括:
135.处理器31;
136.存储器32,其上存储有指令,被配置为当所述指令被所述处理器执行时,可实现如上所述的多设备间视频同步播放的方法。
137.其中,处理器31可以是一个处理器,也可以是多个处理元件的统称,例如,该处理器可以是cpu,也可以是asic,或者是被配置成实施以上所述方法的一个或多个集成电路,例如:一个或多个微处理器dsp,或,一个或者多个现场可编程门阵列fpga等。存储元件可以是一个存储器,也可以是多个存储元件的统称。
138.存储器32可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。本技术描述的存储器32旨在包括但不限于这些和任意其它适合类型的存储器。
139.本发明的实施例还提供了一种存储介质,所述存储介质上存储有指令,当所述指令被处理器执行时,可实现如上所述的多设备间视频同步播放的方法,在此不再赘述。
140.其中,存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
141.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要
素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
142.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
143.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献