本发明涉及滚动字幕显示,具体涉及一种分布式多设备滚动字幕的同步显示方法。
背景技术:
1、在某些场合,如大型会议、演出、体育赛事中,可能需要多个屏幕或设备同时显示相同的字幕内容,传统的单屏幕显示方法,不适用于此类场景,分布式多设备滚动字幕的同步显示方法,由多个显示屏组成,通过同步显示的方法,确保多个设备上的滚动字幕内容保持一致,从而实现统一的展示效果,同时,通过统一控制,提高了系统的稳定性和可靠性,避免因某个设备出现的故障,而导致的整体性效果的错乱。
2、现有技术采用主从设备的方式,从设备需要实时监听并接收主设备发送的移动信号,在空间层次监听主设备字幕的每一次移动,设备之间的信息交互极多,方法比较累赘,且对主设备字幕的每一次移动进行计算,计算量较大。
技术实现思路
1、为此,本发明提供一种分布式多设备滚动字幕的同步显示方法,以解决现有技术中的上述问题。为了实现上述目的,本发明提供如下技术方案:根据本发明的第一方面,一种分布式多设备滚动字幕的同步显示方法,包括:
2、步骤一、确定ntp服务器设备,收集字幕信息,包括:字幕内容、字幕颜色、字幕大小、字幕位置y、用户指定的移动速度、用户指定循环播放字幕的间隔时间tw;
3、步骤二、确定ntp客户端一设备与ntp客户端二设备,此处以两个客户端设备为例,可根据实际需求使用多个ntp客户端设备;
4、步骤三、服务器设备根据字幕信息,由屏幕右端开始移动自身bmp位图;
5、步骤四、客户端设备根据字幕内容、字幕颜色、字幕大小,通过freetype字库,生成bmp位图;
6、步骤五、同步服务器时间,获取字幕初始播放时间:
7、步骤六、服务器设备通过计算bmp位图播放时间并添加用户设定时间作为等待间隔,实现字幕的循环播放,并通知客户端同步播放。
8、进一步,所述步骤一、确定ntp服务器设备,收集字幕信息还需要根据字幕内容、字幕颜色、字幕大小,通过freetype字库,生成自身bmp位图,通过用户指定的移动速度,进行bmp播放速度的控制。
9、进一步,所述步骤二、确定ntp客户端一设备与ntp客户端二设备还包括:客户端设备会定期向服务器设备发送时间查询请求,获取服务器设备准确的时间信息。
10、进一步,所述步骤三、服务器设备根据字幕信息,由屏幕右端开始移动自身bmp位图还包括:获取初始播放时间,将字幕信息、自身初始播放时间ts、屏幕设备宽度xs通知ntp客户端一设备、ntp客户端二设备,此处以两个客户端设备为例,可根据实际需求使用多个ntp客户端设备。
11、进一步,所述步骤四、客户端设备根据字幕内容、字幕颜色、字幕大小,通过freetype字库,生成bmp位图,具体为:客户端设备根据字幕内容、字幕颜色、字幕大小,通过freetype字库,生成bmp位图,由用户指定移动速度、屏幕设备宽度xs,计算自身播放字幕之前字幕的移动次数n,公式为:
12、若为ntp客户端一设备,则:n1=xs/f/v;f为移动频率,v为用户指定移动速度所生成的移动像素,n1只可取整数值,若计算结果有余数则加1,其中xs为屏幕设备宽度;
13、计算字幕移动n1次的距离xn1,公式为:
14、xn1=n1*f*v
15、ntp客户端一设备的播放初始坐标为:xn1-xs;同时,ntp客户端一设备计算自身播放时间tc1,公式为:
16、tc1=ts+f*n1
17、其中ts为服务器初始播放时间;
18、即,在tc1时刻,ntp客户端一设备在坐标xn1-xs处开始播放自身bmp位图。
19、进一步,所述步骤四、客户端设备根据字幕内容、字幕颜色、字幕大小,通过freetype字库,生成bmp位图,还包括:
20、若为ntp客户端二设备,则:n2=2xs/f/v;f为移动频率,v为用户指定移动速度所生成的移动像素,n只可取整数值,若计算结果有余数则加1,其中xs为屏幕设备宽度;
21、计算字幕移动n2次的距离xn2,公式为:
22、xn2=n2*f*v
23、ntp客户端二设备的播放初始坐标为:xn2-2xs;同时,ntp客户端二设备计算自身播放时间tc2,公式为:
24、tc2=ts+f*2n其中ts为服务器初始播放时间;
25、即,在tc2时刻,ntp客户端二设备在坐标xn2-2xs处开始播放自身bmp位图。
26、进一步,所述步骤五、同步服务器时间,获取字幕初始播放时间具体为:若ntp客户端一设备重启,则ntp客户端一设备会首先向服务器设备发送时间查询请求,获取服务器的准确时间信息,使用此信息对本地时钟进行校准,保证本地时钟与服务器设备时钟同步,并向服务器设备请求字幕初始播放时间,在已知当前同步时间的情况下,客户端经由服务器设备的字幕初始播放时间,经上述步骤四计算得出自身播放时间tc1,将tc1与当前时间行对比。
27、进一步,步骤六、服务器设备通过计算bmp位图播放时间并添加用户设定时间作为等待间隔,实现字幕的循环播放,并通知客户端同步播放,具体为:针对用户重复播放字幕的使用需求,服务器设备设置若干秒后循环播放字幕功能,该功能通过计算‘播放一个bmp位图自身宽度所需时间’tb,加上用户所设置的时间,作为一个等待间隔tw,每一个等待间隔过后,由服务器设备重复播放该bmp位图,并通知客户端设备该重复bmp位图的初始播放时间,客户端设备将重复上述步骤四操作,进行同步播放。
28、一种分布式多设备滚动字幕的同步显示系统,包括ntp服务器设备与多个ntp客户端设备,所述ntp服务器设备,包括:
29、字幕信息采集模块:对字幕内容、字幕颜色、字幕大小、字幕位置、用户指定的移动速度、用户指定循环播放字幕的间隔时间进行采集;
30、ntp服务器模块:提供准确的时间信息给客户端设备;持续检测本地时钟的偏移量和精度,通过参考时间源进行比较和调整,维护时钟的准确性和稳定性;响应客户端设备的时间查询请求,为系统提供稳定唯一的时间标准;
31、通知模块:将收集到的字幕信息与自身播放时间通知给客户端模块;
32、字幕播放模块:通过freetype字库,生成自身bmp位图,通过用户指定的移动速度,进行bmp播放速度的控制;
33、计算模块;通过用户设置的等待间隔,在计算时间后进行下一次的字幕播放。
34、进一步,所述ntp客户端设备,包括:
35、ntp客户端模块:定期向ntp服务器设备发送时间查询请求,并获取服务器返回的时间信息,通过与服务器同步时间,确保系统稳定唯一的时间标准;
36、接收模块;接收服务器设备发送的字幕信息与初始播放时间;
37、计算模块;计算本机的初始播放时间与初始播放位置,并在重启后计算自身是否需要播放字幕,以及若需要时在何处坐标位置播放字幕,确保分布式多设备字幕的连贯性与流畅性;
38、字幕播放模块;通过freetype字库,生成自身bmp位图,通过用户指定的移动速度,进行bmp播放速度的控制。
39、本发明具有如下优点:
40、1、分布式设备实现滚动字幕的关键在于多个设备之间如何同步,本发明采用ntp服务器与ntp客户端的方式,从时间的层面进行多设备之间时间的精准同步,通过各个ntp客户端设备对自身初始播放时间与初始播放坐标的计算,保证了分布式多设备之间字幕播放的连贯性与流畅性,并减少了多设备之间的大量信息交互与对字幕位置的大量计算。
41、2、针对用户重复播放字幕的使用需求,设计了等待间隔数据,用户通过设置等待间隔,可进行循环的播放字幕bmp位图。
1.一种分布式多设备滚动字幕的同步显示方法,其特征在于,包括:
2.根据权利要求1所述的一种分布式多设备滚动字幕的同步显示方法,其特征在于,所述步骤一、确定ntp服务器设备,收集字幕信息还需要根据字幕内容、字幕颜色、字幕大小,通过freetype字库,生成自身bmp位图,通过用户指定的移动速度,进行bmp播放速度的控制。
3.根据权利要求1所述的一种分布式多设备滚动字幕的同步显示方法,其特征在于,所述步骤二、确定ntp客户端一设备与ntp客户端二设备还包括:客户端设备会定期向服务器设备发送时间查询请求,获取服务器设备准确的时间信息。
4.根据权利要求1所述的一种分布式多设备滚动字幕的同步显示方法,其特征在于,所述步骤三、服务器设备根据字幕信息,由屏幕右端开始移动自身bmp位图还包括:获取初始播放时间,将字幕信息、自身初始播放时间ts、屏幕设备宽度xs通知ntp客户端一设备、ntp客户端二设备,此处以两个客户端设备为例,可根据实际需求使用多个ntp客户端设备。
5.根据权利要求1所述的一种分布式多设备滚动字幕的同步显示方法,其特征在于,所述步骤四、客户端设备根据字幕内容、字幕颜色、字幕大小,通过freetype字库,生成bmp位图,具体为:客户端设备根据字幕内容、字幕颜色、字幕大小,通过freetype字库,生成bmp位图,由用户指定移动速度、屏幕设备宽度xs,计算自身播放字幕之前字幕的移动次数n,公式为:
6.根据权利要求1所述的一种分布式多设备滚动字幕的同步显示方法,其特征在于,所述步骤四、客户端设备根据字幕内容、字幕颜色、字幕大小,通过freetype字库,生成bmp位图,还包括:
7.根据权利要求1所述的一种分布式多设备滚动字幕的同步显示方法,其特征在于,所述步骤五、同步服务器时间,获取字幕初始播放时间具体为:若ntp客户端一设备重启,则ntp客户端一设备会首先向服务器设备发送时间查询请求,获取服务器的准确时间信息,使用此信息对本地时钟进行校准,保证本地时钟与服务器设备时钟同步,并向服务器设备请求字幕初始播放时间,在已知当前同步时间的情况下,客户端经由服务器设备的字幕初始播放时间,经上述步骤四计算得出自身播放时间tc1,将tc1与当前时间行对比。
8.根据权利要求1所述的一种分布式多设备滚动字幕的同步显示方法,其特征在于,步骤六、服务器设备通过计算bmp位图播放时间并添加用户设定时间作为等待间隔,实现字幕的循环播放,并通知客户端同步播放,具体为:针对用户重复播放字幕的使用需求,服务器设备设置若干秒后循环播放字幕功能,该功能通过计算‘播放一个bmp位图自身宽度所需时间’tb,加上用户所设置的时间,作为一个等待间隔tw,每一个等待间隔过后,由服务器设备重复播放该bmp位图,并通知客户端设备该重复bmp位图的初始播放时间,客户端设备将重复上述步骤四操作,进行同步播放。
9.一种分布式多设备滚动字幕的同步显示系统,包括ntp服务器设备与多个ntp客户端设备,其特征在于,所述ntp服务器设备,包括:
10.根据权利要求9所述的一种分布式多设备滚动字幕的同步显示系统,其特征在于,所述ntp客户端设备,包括:
