一种互动桌面同步方法与流程

文档序号:12494666阅读:173来源:国知局

本发明涉及通信领域,尤其涉及一种互动桌面同步方法。



背景技术:

目前基于Miracast等协议的桌面同步,只能在同一网段的局域网内使用,由于采用基于UDP的RTP协议(Real-time Transport Protocol 实时传输协议)传输,在WiFi环境下,丢包会造成画面缺失不完整,且造成主投端和被投终端(接收端)媒体数据播放不同步。即在接收端收到媒体包后,进行解码、放入缓冲等待被播放,理想情况下,收到包后立刻解码播放,即缓冲区应该始终为空,所以,缓冲区里的缓冲媒体数据有多少就是延时多少,要降低延时, 就要控制这个缓冲的大小,延时可以接受的范围为300ms-500ms,即缓冲区要控制在这个范围内。



技术实现要素:

针对现有技术中存在的缺陷或不足,本发明所要解决的技术问题是:提供一种互动桌面同步方法,解决现有技术播放延时的技术问题。

为了达上述目的,本发明采取的技术方案为提供一种互动桌面同步方法,包括如下步骤:

A)通过服务器获取同步系统终端的信息,并在所述同步系统终端中选出主投端或被投终端;通过多网段自动发现技术获取同一网络下所有终端的信息,以便于新加入的终端获取整个网络下终端的信息;

B)主投端与被投终端之间建立连接;

C)主投端采集桌面数据放入缓冲区中,并对所述数据进行编码和封装,将封装成的媒体包发送到被投终端;

D)被投终端的解码播放端将接收到的媒体包存入缓冲区进行解码播放,若缓冲区的长度超过设定的阈值,则进入追赶模式加速媒体数据播放速度;及时降低了延时,使主投端与被投终端之间的画面更加同步,保证了互动的及时性和流畅性。

作为本发明的进一步改进,步骤A包括:

A1:服务器向所述同步系统终端所在网段发送广播包,所述同步系统终端收到所述广播包将自身的信息回报给服务器,服务器对所述信息进行存储;

A2:服务器向其它网段的所有终端的主机地址发送UDP消息;

A3:所述同步系统终端设有TCP监听服务监听所述同步系统终端上的端口,当所述端口收到广播包时给服务器返回响应消息。

A4:设定的时间,返回执行步骤A1-A3,服务器根据同步系统终端的响应消息判断是否有异常下线的同步系统终端。

作为本发明的进一步改进,所述主投端通过TCP协议或RTP协议将媒体包传输到被投终端,当不注重画质以及丢包的情况下,选择RTP传输,注重画质的质量时,选择稳定的TCP协议。

作为本发明的进一步改进,步骤B)中所述连接为媒体连接。

作为本发明的进一步改进,所述主投端为每个媒体连接建立帧缓冲,发送媒体包时,若存入帧缓冲的媒体包数量超过2M字节,便主动清理不发送。

作为本发明的进一步改进,步骤C)中所述封装为TLV封装,TLV是指由数据的类型Tag,数据的长度Length,数据的值Value组成的结构体,几乎可以描任意数据类型,TLV的Value也可以是一个TLV结构,正因为这种嵌套的特性,可用于包装协议的实现。

作为本发明的进一步改进,步骤C)还包括:

C1:采集桌面数据时,控制输入到缓冲区中桌面数据的长度;

C2:判断所述桌面数据的长度是否超过阈值;

C3:若超过阈值,则抛弃先接收的帧;提高了媒体传输的及时性,降低了时间延迟。

作为本发明的进一步改进,所述媒体数据包括视频数据与音频数据,通过调高输出采样率加速音频数据的播放,步骤D)中所述阈值在300ms-500ms之内。

本发明的有益效果是:本发明降低了传输延迟,保证了不同情形下主投端与被投终端之间信息的实时性。

附图说明

图1是本发明提供的互动桌面同步方法流程图。

具体实施方式

下面结合附图说明及具体实施方式对本发明进一步说明。

如图1所示,本发明为互动桌面同步方法的流程图,包括以下步骤:

步骤A)通过服务器获取同步系统终端的信息,并在所述同步系统终端中选出主投端或被投终端;通过多网段自动发现技术获取同一网络下所有终端的信息,以便于新加入的终端获取整个网络下终端的信息。

服务器向整个同一网段的主机发送广播包,端口号为5550,所述广播包可以被路由,可以经由路由器到达本网段内所有的主机,所述主机可以是同步客户端也可以是其他服务器终端,所述终端设有TCP监听服务,用于监听所述5550端口,当5550端口接收到广播包后及时给服务器返回响应消息,并将自身的地址信息、身份信息以及分组等信息回报给所述服务器,服务器将这些信息存储起来;服务器还向其他网段的终端发送UDP消息,端口5550,这样新加入本网络中的终端就可以获取到整个网络下的同步客户端或者服务器等终端,且这种发现扫描会定期执行,其周期是1至3分钟,用于防止应用崩溃而没有正常退出等异常情况。

步骤B) 主投端与被投终端之间建立连接,所述主投端为每一个连接建立帧缓冲;这样的设置使得CPU过高时自动降低采集频率,而不至于缓冲过多而导致延迟。

步骤C)主投端采集桌面数据放入缓冲区中,并对所述数据进行编码和封装,将封装成的媒体包发送到被投终端;采集桌面数据时,控制输入到缓冲区中桌面数据的长度,判断所述桌面数据的长度是否超过阈值,若超过阈值,则抛弃较老的帧;即在CUP使用较高时,自动降低采集频率,并抛弃先采集的帧,而不至于缓冲过多而导致延时,提高了媒体传输的及时性,降低了时间延迟。所述桌面数据包括桌面画面、声音,即正在运行的可视可听的媒体数据以及打开视频播放软件正在播放的视频和声音等,并对所述桌面数据进行编码和封装,启动主投端与被投终端之间的连接,所述连接包括信令连接、IO连接以及媒体连接,所述主投端为每个媒体连接建立帧缓冲,将封装成的媒体包发送到被投终端,所述封装方法为TLV;TLV是指由数据的类型Tag,数据的长度Length,数据的值Value组成的结构体,几乎可以描任意数据类型,TLV的Value也可以是一个TLV结构,正因为这种嵌套的特性,可以让我们用来包装协议的实现,TLV是由数据的类型Tag,数据的长度Length以及数据的值Value组成的结构体,length是value域的长度,Value是数据本身,Length域的编码比较简单,最多有四个字节,所以使用TLV方式封装采集到的数据,使得编码和解码机制简单易实现,且数据编解速度快,占用空间小;封装完成后发送到被投终端,所述主投端通过TCP协议或RTP协议将桌面数据传输到被投终端,当不注重画质以及丢包的情况下,选择RTP传输,注重画质的质量时,选择稳定的TCP协议,两个传输协议之间可自动切换;RTP,用于实时传输数据,RTP传输协议是一种基于UDP的传输协议,RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务;这样,对于那些丢失的数据包,不存在由于超时检测而带来的延时,同时,对于那些丢弃的包,也可以由上层根据其重要性来选择性的重传,比如,对于I帧、P帧、B帧数据,由于其重要性依次降低,故在网络状况不好的情况下,可以考虑在B帧丢失甚至P帧丢失的情况下不进行重传,这样,在被投终端,虽然可能会有短暂的不清晰画面,但却保证了实时性的体验和要求;而TCP传输协议为了实现网络通信的可靠性,使用了复杂的拥塞控制算法,建立了繁琐的握手过程以及重传策略,是以在网络允许的情况下使用TCP传输协议,在网络较差的情况下使用传输效果稍次但是传输速度强于TCP协议的RTP传输协议,这样可以在不同的场景下满足不同的用户的需求;但在发送过程中,所述帧缓冲中的媒体包的大小超过2M字节时,则主动将这此包丢弃不发送,以保证主投端与被投终端之间的信息的同步性。

步骤D) 被投终端的解码播放端将接收到的媒体包存入缓冲区进行解码播放,若缓冲区的长度超过设定的阈值,则进入追赶模式加速媒体数据播放速度;解码播放端将通过TLV封装成的媒体包存储到被投终端上的缓冲区内,并解码为播放器可播放的格式,即媒体数据,然后对其进行播放,在理想情况下,被投终端接收到媒体包后应立刻对其进行解码并播放,即被投终端缓冲区里的媒体数据始终是空的,所以, 缓冲区内的媒体数据的大小是多少就是延时多少,若要降低延时,就要控制所述缓冲区长度;即当缓冲区长度超过阈值则进入追赶模式,加速媒体数据播放,而对媒体数据中的音频数据进行加速播放时,具体方法是调高输出采样率加速播放,即对缓冲区内的音频数据进行重采样,常用的重采样方法有最邻近内插法、双线性内插法和三次卷积法内插,其中,最邻近内插法最为简单,计算速度快,但是视觉效应差;双线性插值会使图像轮廓模糊;三次卷积法产生的图像较平滑,有好的视觉效果,但计算量大,较费时;若缓冲区长度超过阈值,则将音频采样率变换成新的采样率以适应不同采样率的要求,并加快音频数据的播放速度,直到缓冲区内缓冲区长度在阈值之内,才恢复正常播放速度,所述阈值的范围在300ms-500ms之间。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1