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

一种多屏帧同步的方法和装置与流程

2021-11-24 23:59:00 来源:中国专利 TAG:


1.本发明涉及视频通信技术,尤其涉及了基于同一局域网内的多屏帧同步的方法和装置。


背景技术:

2.随着技术的发展,视频显示的应用场景日新月异。由原来的电视屏幕,到移动终端,到户外大屏,再到万物互联的多屏融合。家庭影院、座舱娱乐等新兴应用场景随着网络通信技术的进步有了实现的技术基础。这种独立空间内的多屏融合对视频播放领域有着多屏同播的天然需求,比如车载智能座舱,不同位置的多块屏幕可以共享电影、综艺等视频内容,可以增强乘车体验。要实现视频的多屏共享必须依赖多屏同步技术,视频多屏同步技术是实现视频多屏共享的基础。
3.例如现有技术中专利申请号为:cn201310628115.0;专利申请日为:2013

11

28;专利申请名称为:一种用于多路实时视频的帧同步方法;专利申请记载了基于多路实时视频的帧同步方法,其首先各个屏会自己去服务器请求同一个视频内容,然后都以同一个时钟服务器时间为基准参考时间,各个屏播放时参考时钟服务器时间来进行同步。
4.现有技术的同步方法虽然能够实现播放同步,但是对于多屏之间因网络抖动而收到数据有快有慢,各屏间网络延时相差比较大等情况下的播放流畅度无法保证,且各屏表现不一致;从而影响用户体验。
5.另一方面视频内容服务平台提供内容都是按照流量收费或者按照会员账号收费,多个设备都从视频内容服务平台拉同一份流也会白白浪费流量,增加费用开销。常用的屏幕共享即投屏,是小屏与大屏间的两屏共享,比如移动终端共享视频内容到智能电视,该方法无法实现多屏间共享。


技术实现要素:

6.本发明针对现有技术中多屏之间数据传输有时快有时慢,各屏之间网络延时差大,视频播放不流畅而且每个屏之间表现不一致和流量消耗多的问题,提供了一种多屏帧同步的方法和装置。
7.为了解决上述技术问题,本发明通过下述技术方案得以解决:
8.一种多屏帧同步的装置,包括主屏端和至少1个副屏端,主屏端和副屏端处于同一局域网内;主屏端对最新播放的视频数据进行缓存和更新;
9.还包括中间传输端;
10.主屏端接收的视频数据通过中间传输端传送至副屏端;副屏端与主屏端同时对视频数据进行播放。
11.通过在局域网内进行视频数据的共享,只需主屏端获取视频数据,然后将视频数据共享至其它副屏端,大大节省了流量消耗,同时多屏间网络稳定,数据传输速率快,同步效果好;同时还能有效节省平台费用;
12.通过中间传输端对于视频数据从主屏端传送至副屏端,同时在主屏端端对于最新播放的视频数据进行缓存,从而能够保证副屏端能够快速播放。
13.作为优选,中间传输端包括视频数据转发服务模块和信令发送服务模块;
14.视频数据转发服务模块,用于主屏端转发视频数据至副屏端;
15.信令发送服务模块用于主屏端发送信令信息至副屏端。
16.通过设有视频数据转发服务模块,能够进一步保证副屏端播放的快速进行播放。
17.作为优选,视频数据转发服务模块和信令发送服务模块采用socket协议进行通信。
18.作为优选,主屏端包括第一视频获取解析模块、第一播放控制模块和第一信令收发模块;
19.第一视频获取解析模块,用于获取视频数据,然后对获取的视频数据进行格式解析,并分离出音视频及对应的音视频信息;
20.第一播放控制模块用于对主屏端视频数据的解码与渲染,并将解码和渲染后的视频数据进行播放;并发送视频数据至视频数据转发服务模块;
21.第一信令收发模块用于发送主屏端的信令信息至信令发送服务模块。
22.作为优选,副屏端包括视频共享数据接收模块、第二视频获取解析模块、第二播放控制模块、第二信令收发模块和同步控制模块;
23.视频共享数据接收模块用于接收视频数据转发服务模块发送的视频数据信息;
24.第二视频获取解析模块,用于对获取的视频信息进行格式解析,并分离出音视频及对应的音视频信息;
25.第二播放控制模块,用于对副屏端视频数据的解码与渲染,并将解码和渲染后的视频数据进行播放;
26.同步控制模块用于副屏端视频播放的同步计算,并发送同步计算信息至第二播放控制模块。
27.作为优选,信令信息包括设备信息、播放暂停信息、播放跳转信息、播放恢复信息、播放时间戳信息。信令信息通过播放时间戳信息进行数据同步的判断,其不需要使用任何第三方时间系统,从而保证了主屏端和副屏端的时间系统的统一。
28.作为优选,主屏端缓存的视频数据容量大于播放控制模块的数据缓存容量。
29.为解决上述技术问题,本技术还提供一种多屏帧同步的方法,包括主屏端和至少1个副屏端,主屏端和副屏端处于同一局域网内;其方法包括;
30.主屏端:
31.视频数据缓存,主屏端对最新播放的视频数据进行缓存和更新;
32.设备注册信息检测,主屏端启动播放视频文件,并在播放过程中检测视频转发服务是否存在副屏端的设备注册信息,存在则将播放的视频文件拷贝至视频数据转发服务;
33.副屏端:
34.监听等待,副屏端启动后,向视频数据转发服务和信令服务进行注册,注册成功则进入监听等待状态,监听等待主屏端的视频数据和信令信息;
35.初始化计时,副屏端接第一次接收到信令信息后,通过参考时间和网络传输延时进行初始化计时;
36.视频数据解码,副屏端接收到视频数据后,将视频数据传送至加码器进行解码;
37.同步处理,解码后的视频数据进行同步处理;
38.视频数据渲染,同步处理后的数据进行视频数据渲染并视频数据输出。
39.作为优选,还包括主屏端进行暂停操作,通过信令信息将暂停操作消息发送至所有副屏端,副屏端收到暂停消息后,停止视频帧的渲染,暂停计时;
40.主屏端从暂停状态恢复播放,通过信令信息将恢复播放消息发送至从所有播放端,副屏端收到恢复播放消息后,恢复视频帧的渲染,恢复计时;
41.主屏端进入缓冲状态,通过信令信息将缓冲开始消息发送至所有副屏端,副屏端收到缓冲开始消息后,停止视频帧的渲染,同时暂停计时;
42.主屏端缓冲结束时,通过信令信息将缓冲结束消息发送至所有副屏端,副屏端收到缓冲结束消息后,恢复视频帧的渲染,同时恢复计时;
43.主屏端进行跳播操作,通过信令信息将跳播消息发送至所有副屏端,副屏端收到跳播消息后,停止计时器,停止视频帧渲染,并重置解码器,然后进入等待状态,等待新的同步时间戳和新的视频数据;当主屏端跳播操作成功完成后,会立即发送新的同步参考时间戳和跳播后的视频数据,副屏端收到新的同步时间戳后更新计数器并恢复计时,副屏端收到新的视频数据,送入解码器解码,解码后的视频帧图像进行同步处理并显示。
44.作为优选,任一副屏端关闭,则该副屏端取消在视频转发服务和信令发送服务中的注册,信令信息和视频数据不会再向该副屏端进行发送,主屏端不受任何影响;主屏端关闭,则所有副屏端也会自动关闭,播放结束。
45.作为优选,视频数据缓存依据视频流的先后顺序进行视频数据缓存。
46.本发明由于采用了以上技术方案,具有显著的技术效果:本发明通过在局域网内进行视频数据的共享,只需主屏端从内容服务平台拉取数据,然后将数据共享给其它副屏端,大大节省了流量消耗,同时多屏间网络稳定,数据传输速率快,同步效果好;同时还能有效的节省平台费用;
47.本发明通过中间传输端对于视频数据从主屏端传送至副屏端,同时在主屏端端对于视频数据进行缓存,从而能够保证副屏端能够快速播放。
48.本发明的信令信息通过播放时间戳信息进行数据同步的判断,其不需要使用任何第三方时间系统,从而保证了主屏端和副屏端的时间系统的统一。
附图说明
49.图1是本发明的系统图。
50.图2是本发明的视频数据多屏共享示意图。
51.图3是本发明的信令信息多屏共享示意图。
52.图4是本发明的同步逻辑示意图。
具体实施方式
53.下面结合附图1至附图4与实施例对本发明作进一步详细描述。
54.实施例1
55.一种多屏帧同步的装置,包括主屏端和至少1个副屏端,主屏端和副屏端处于同一
局域网内;主屏端对最新播放的视频数据进行缓存和更新,并进行缓存;视频数据是播放器根据播放地址主动去拉取的,播放地址是指向服务器就去服务器拉流,播放地址指向本地文件那么就直接读取本地文件;
56.还包括中间传输端;
57.主屏端接收的视频数据通过中间传输端传送至副屏端;副屏端与主屏端同时对视频数据进行播放。
58.通过在局域网内进行视频数据的共享,只需主屏端从内容服务平台拉取数据,然后将数据共享给其它副屏端,大大节省了流量消耗,同时多屏间网络稳定,数据传输速率快,同步效果好;同时还能有效的节省平台费用;
59.通过中间传输端对于视频数据从主屏端传送至副屏端,同时在主屏端端对于视频数据进行缓存,从而能够保证副屏端能够快速播放。
60.中间传输端包括视频数据转发服务模块和信令发送服务模块;
61.视频数据转发服务模块,用于主屏端转发视频数据至副屏端;
62.信令发送服务模块用于主屏端发送信令信息至副屏端。
63.通过设有视频数据转发服务模块,能够进一步保证副屏端播放的快速进行播放。
64.视频数据转发服务模块和信令发送服务模块采用socket协议进行通信。
65.主屏端包括视频内容平台模块、第一视频获取解析模块、第一播放控制模块和第一信令收发模块;
66.视频内容平台模块,用于接收输入端的视频信息;
67.第一视频获取解析模块,用于对获取的视频信息进行格式解析,并分离出音视频及对应的音视频信息;
68.第一播放控制模块用于对主屏端视频数据的解码与渲染,并将解码和渲染后的视频数据进行播放;并发送视频数据至视频数据转发服务模块;
69.第一信令收发模块用于发送主屏端的信令信息至信令发送服务模块。
70.副屏端包括视频共享数据接收模块、第二视频获取解析模块、第二播放控制模块、第二信令收发模块和同步控制模块;
71.视频共享数据接收模块用于接收视频数据转发服务模块发送的视频数据信息;
72.第二视频获取解析模块,用于对获取的视频信息进行格式解析,并分离出音视频及对应的音视频信息;
73.第二播放控制模块,用于对副屏端视频数据的解码与渲染,并将解码和渲染后的视频数据进行播放;
74.同步控制模块用于副屏端视频播放的同步计算,并发送同步计算信息至第二播放控制模块。
75.信令信息包括设备信息、播放暂停信息、播放跳转信息、播放恢复信息、播放时间戳信息。信令信息通过播放时间戳信息进行数据同步的判断,其不需要使用任何第三方时间系统,从而保证了主屏端和副屏端的时间系统的统一。
76.主屏端缓存的视频数据容量大于播放控制模块的数据缓存容量。
77.实施例2
78.在实施例1基础上,实现多屏帧同步装置的方法,包括主屏端和至少1个副屏端,主
屏端和副屏端处于同一局域网内;其方法包括;
79.主屏端:
80.视频数据缓存,主屏端对最新播放的视频数据进行缓存和更新,并进行缓存;
81.设备注册信息检测,主屏端启动播放发送的视频文件,并在播放过程中检测视频转发服务是否存在副屏端的设备注册信息,存在则将播放的视频文件拷贝纸视频数据转发服务;
82.副屏端:
83.监听等待,副屏端启动后,向视频数据转发服务和信令服务进行注册,注册成功则进入监听等待状态,监听等待主屏端的视频数据和信令信息;
84.初始化计时,副屏端接第一次接收到信令信息后,通过参考时间和网络传输延时进行初始化计时;
85.视频数据解码,副屏端接收到视频数据后,将视频数据传送至加码器进行解码;
86.同步处理,解码后的视频数据进行同步处理;
87.视频数据渲染,同步处理后的数据进行视频数据渲染并视频数据输出。
88.还包括主屏端进行暂停操作,通过信令信息将暂停操作消息发送至所有副屏端,副屏端收到暂停消息后,停止视频帧的渲染,暂停计时;主屏端从暂停状态恢复播放,通过信令信息将恢复播放消息发送至从所有播放端,副屏端收到恢复播放消息后,恢复视频帧的渲染,恢复计时;主屏端进入缓冲状态,通过信令信息将缓冲开始消息发送至所有副屏端,副屏端收到缓冲开始消息后,停止视频帧的渲染,同时暂停计时;主屏端缓冲结束时,通过信令信息将缓冲结束消息发送至所有副屏端,副屏端收到缓冲结束消息后,恢复视频帧的渲染,同时恢复计时。
89.主屏端进行跳播操作,通过信令信息将跳播消息发送至所有副屏端,副屏端收到跳播消息后,停止计时器,停止视频帧渲染,并重置解码器,然后进入等待状态,等待新的同步时间戳和新的视频数据;当主屏端跳播操作成功完成后,会立即发送新的同步参考时间戳和跳播后的视频数据,副屏端收到新的同步时间戳后更新计数器并恢复计时,副屏端收到新的视频数据,送入解码器解码,解码后的视频帧图像进行同步处理并显示。
90.任一副屏端关闭,则该副屏端取消在视频转发服务和信令发送服务中的注册,信令信息和视频数据不会再向该副屏端进行发送,主屏端不受任何影响;主屏端关闭,则所有副屏端也会自动关闭,播放结束。
91.视频数据缓存依据视频流的先后顺序进行视频数据缓存。
92.实施例3
93.在上述实施例基础上,本实施例主屏端起播后,首先缓存一定数据量的视频帧数据,缓存顺序按照视频流的先后顺序进行。
94.因为每个设备的解码器都需要初始缓存一定数量的视频帧数据后才会输出第一帧解码图像,且不同的设备解码器缓存的帧数不一样,所以主屏端需要缓存一定量的数据保证副屏端播放控制模块的解码器有足够的数据满足初始缓存需求从而快速的输出第一帧解码图像,从而保证副屏端能够快起播;主屏端缓存的数据量大小可根据实际需求进行调整,这里设置的缓存容量为30帧视频帧。
95.副屏端启动后,首先将副屏端的信息注册到视频数据转发服务和信令发送服务
中。
96.主屏端在缓存视频帧数据量达到设定的数量之后,即30帧视频帧数据,如果没有接收到副屏端设备加入的信号,进行缓存视频数据的清空,重新缓存;
97.每一次主屏端的视频数据重新缓存都必须从关键帧开始;如果已经有副屏端设备加入,则快速循环将初始缓存的视频帧数据发送到视频数据转发服务,初始缓存发送之后,控制视频帧数据向视频数据转发服务发送的频率接近视频播放帧率,控制视频数据均匀传输,降低网络峰值压力。
98.视频数据转发服务会将每一帧数据同时发送给已注册的多个副屏端,保证每一次发送给各副屏端的数据都是一致的,视频数据发送流程参见图2。
99.主屏端起播后,按照一定的频率,1秒1次的频率,向副屏端发送同步参考时间戳。同步参考时间戳不是主屏端的系统时间,也不是时间服务器的服务器时间,而是视频数据中的视频显示时间戳pts(presentation time stamp)。
100.主屏端将最新正在显示的视频帧的显示时间戳发送至信令发送服务,信令发送服务将收到的时间戳同时发给已注册的所有副屏端,保证每一次发送各副屏端收到的时间戳都是一致的,信令发送流程参见图3。
101.副屏端接收到视频数据后送给解码器进行解码,副屏端第一次接收到同步时间戳后,启动计时器用于播放同步控制。
102.视频帧显示时间戳为frame_time,计时器时间为clock_time,可接受的同步误差范围为tolerance_time;tolerance_time根据实际需求设定,网络传输时延为network_latency,参考时间戳为ref_time。视频帧率是25,那么每一帧显示时间为40毫秒,则可接受同步误差tolerance_time=40*2=80毫秒。本实施例可控制同步误差在2个视频帧之内,也即80毫秒之内。
103.同步逻辑示意图参见图4,整个同步逻辑过程包括:
104.启动计时器,副屏端拿到第一帧解码数据后,如果计时器还未启动,则等待同步时间戳的到达和计时器启动;
105.计时器启动时,使用参考时间ref_time和网络传输延时network_latency来初始化计时器;
106.计时器的起始时间start_time=ref_time network_latency;播放过程中,主屏端会按照一定的频率将最新的参考时间发送至副屏端;当副屏端收到新的参考时间后,立即进行计时器的时钟更新update_time=ref_time network_latency;保证所有副屏端的时间戳与主屏端的时间戳一致,从而达到主副屏端都是按照同一时间系统进行播放,在参考时间没有更新的时间段内,计时器会按自然时间自动运行。
107.当frame_time>clock_time tolerance_time,当前视频帧比主屏端正在播放的视频帧超前,此时需要等待一定时间进行同步,等待时间为wait_time,wait_time=clock_time tolerance_time

frame_time;
108.当frame_time<clock_time

tolerance_time,当前视频帧比主屏端正在播放的视频帧落后,此时需要追赶至同步;追赶的方式包括:快速播放和跳帧播放;
109.当frame_time>clock_time

tolerance_time;同时frame_time<clock_time tolerance_time,当前视频帧与主屏端正在播放的视频帧处于允许的同步误差范围内;此
时视频帧按照正常的播放帧率进行播放。
110.主屏端和副屏端进行操作同步,需要通过信令发送服务将操作发送到副屏端,副屏端在收到操作信令后立即响应,只要网络延时足够低,就能达到主屏端和副屏端在操作上的同步。
111.主屏端暂停(pause)操作,当用户暂停(pause)时,主屏端将暂停(pause)消息发送至所有副屏端,副屏端收到暂停(pause)消息后,立即停止视频帧的渲染,同时停止计时器,进入暂停状态;
112.当用户恢复播放时,主屏端将恢复播放消息发送至所有副屏端,副屏端收到恢复播放消息后,立即恢复视频帧渲染,同时使用计时器当前时间和网络传输时延恢复计时器,计时器恢复时间为resume_time=ref_time network_latency;
113.主屏端进入缓冲状态,将缓冲开始消息发送至所有副屏端,副屏端收到缓冲开始消息后,立即停止视频渲染,同时暂停计时器,进入缓冲状态;当主屏端缓冲完成时,将缓冲完成消息发送至所有副屏端,同时附带发送参考时间戳,副屏端收到缓冲完成消息和参考时间戳后,使用参考时间戳和网络传输时延更新计时器,然后恢复播放及同步逻辑,计时器的时钟更新时间为update_time=ref_time network_latency;
114.主屏端进行跳播(seek)操作,当用户seek时,主屏端将seek消息发送至所有副屏端,副屏端收到seek消息后,立即暂停计时器,同时暂停视频帧渲染并重置解码器;主屏端seek成功后,同时将seek后的新的参考时间和频帧数据发送至副屏端,副屏端收到新的参考时间戳,使用新的参考时间戳和网络延时更新并恢复计时器,副屏端收到视频数据后送给解码器解码,解码后的视频数据按照上述中的同步方法进入同步逻辑。
再多了解一些

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

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

相关文献