一种实时传屏的方法和系统的制作方法

文档序号:9331032阅读:396来源:国知局
一种实时传屏的方法和系统的制作方法
【技术领域】
[0001] 本发明属于通信领域,尤其涉及一种实时传屏的方法和系统。
【背景技术】
[0002] 传屏技术是指两个终端之间(比如PC端和Android端),将一个终端上的显示内 容通过截屏编码等方式传送到另一终端,并在其上解码显示。这里有两个指标可以来评价 传屏效果的优劣:流畅性和实时性。好的流畅性是指在传屏播放过程中不出现卡顿、不出现 画面失真,同时播放的帧率至少20fps以上;好的实时性是指两个终端间的画面同步延时 至少要小于500ms。
[0003] 目前在实时传屏的技术上一般采用RTSP(RealTimeStreamingProtocol)、HTTP Stream等实时流媒体协议来传输媒体数据,这些协议主要应用于互联网环境,提供了传输 和控制的机制,对于网络视频播放应用来讲很适用。如果应用于室内无线实时投影等场合, 协议上有较多冗余,因为包含了控制部分,造成实现时客户端和服务器端的资源消耗较大; 而且接收解码显示模块也给予较大的缓冲以便视频能较为流畅的播放,但也因此造成实时 性不足。经测试和文献描述,采用标准协议所能达到的传屏同步延时基本在500ms以上,甚 至达到秒级,而且还受无线环境和硬件资源影响较大。

【发明内容】

[0004] 鉴于此,本发明提供一种实时传屏的方法和系统,以解决现有技术传屏延时较高 的技术问题。
[0005] 本发明实施例是这样实现的,一种实时传屏的方法,所述方法包括以下步骤:
[0006] 传屏客户端与传屏服务器端建立通信连接;
[0007] 传屏服务器端通过所述通信连接与所述传屏客户端确定传屏参数,所述传屏参数 包括:显示区域大小和图像播放频率;
[0008] 传屏客户端根据所述传屏参数进行图像截取和图像编码,并将经过编码的图像发 送到传屏服务器端;
[0009] 传屏服务器端对所述图像进行解码,并根据预设的缓冲规则对所述图像进行缓冲 渲染,实现传屏,所述缓冲规则为:当缓冲队列中的图像的数量大于预设的图像缓冲数量 时,才允许对图像进行缓冲渲染。
[0010] 本发明实施例还提供一种实时传屏的系统,所述系统包括:
[0011] 传屏客户端,用于与传屏服务器端建立通信连接,通过所述通信连接与所述传屏 服务器端确定传屏参数,根据所述传屏参数进行图像截取和图像编码,并将经过编码的图 像发送到传屏服务器端,所述传屏参数包括:显示区域大小和图像播放频率;
[0012] 传屏服务器端,用于与所述传屏客户端建立通信连接,通过所述通信连接与所述 传屏客户端确定传屏参数,接收传屏客户端发送的图像,对所述图像进行解码,并根据预设 的缓冲规则对所述图像进行缓冲渲染,实现传屏,所述缓冲规则为:当缓冲队列中的图像的 数量大于预设的图像缓冲数量时,才允许对图像进行缓冲渲染。
[0013] 本发明实施例中,传屏客户端与传屏服务器端确定传屏参数,传屏客户端根据所 述传屏参数进行图像截取和图像编码,传屏服务器端对所述图像进行解码,并根据预设的 缓冲规则对所述图像进行缓冲渲染,实现传屏,使得无线局域网可以实现低延时的传屏。
【附图说明】
[0014] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。
[0015] 图1是本发明实施例提供的实时传屏方法的流程图;
[0016] 图2是本发明实施例提供的确定传屏参数的流程图;
[0017] 图3是本发明实施例提供的传屏客户端截屏编码的流程图;
[0018] 图4是本发明实施例提供的传屏服务器端解码渲染的流程图;
[0019] 图5是本发明实施例提供的实时传屏系统的结构图。
【具体实施方式】
[0020] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0021] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0022] 实施例一
[0023] 如图1所述为本发明实施例提供的实时传屏方法的流程图,所述方法包括以下步 骤:
[0024] 步骤S101,传屏客户端与传屏服务器端建立通信连接。
[0025] 在本发明实施例中,进行传屏的客户端和服务器端首先建立通信连接,具体为:传 屏客户端启动用于媒体数据传输的socketjerver,同时传屏服务器端启动用于媒体数据 传输的socket,这样传屏服务器端即可与socket_server建立TCP(TransmissionControl Protocol,简称:传输控制协议)连接。
[0026] 步骤S102,传屏服务器端通过所述通信连接与所述传屏客户端确定传屏参数,所 述传屏参数包括:显示区域大小和图像播放频率。
[0027] 在本发明实施例中,在建立了通信连接之后,传屏服务器端通过该通信连接与进 行传屏的传屏客户端确定传屏参数,该传屏参数包括但不限于:显示区域大小和图像播放 频率。所述传屏服务器端通过所述通信连接与所述传屏客户端确定传屏参数的步骤,包 括:
[0028] 1、传屏服务器端预设第一传屏参数,并将所述第一传屏参数发送到传屏客户端, 所述第一传屏参数包括:第一显示区域大小和第一图像播放频率。
[0029] 在本发明实施例中,传屏服务器端获取当前能用于传屏显示的区域大小和图像播 放频率,即预设第一显示区域大小和第一图像播放频率,将第一传屏参数发送到传屏客户 端,其中,第一传屏参数使用JSON字符串格式,其格式具体为:{ "fps":fs,"size":"WS/hs" },其中fs表示图像播放频率,ws表示显示区域宽,hs表示显示区域高。
[0030] 2、传屏客户端接收所述第一传屏参数,并将所述第一传屏参数与本地的第二传屏 参数进行比较。
[0031] 在本发明实施例中,传屏客户端在接收了第一传屏参数之后,将该第一传屏参数 与传屏客户端本地的第二传屏参数进行比较。
[0032] 3、根据所述比较的结果,确定所述传屏参数。
[0033] 在本发明实施例中,主要比较的是传屏参数中的图像播放频率:如果第一图像播 放频率小于第二图像播放频率,则所述图像播放频率为第一图像播放频率;如果第一图像 播放频率大于第二图像播放频率,则所述图像播放频率为第二图像播放频率。
[0034] 4、传屏客户端将所述传屏参数发送到传屏服务器端。
[0035] 在本发明实施例中,传屏客户端在确定了传屏参数之后,初始化截屏模块和编码 模块,如果没有出现错误则ok= 1,否则ok= 0,并设置错误代码errorMsg。传屏客户端向 传屏服务器端发送响应数据包,参数确定效应的具体内容格式为:{ "ok" :d,"errorMsg" : "","fps" :f},其中d取1或0的整数,表示客户端参数设置成功或失败,errorMsg表示错 误码,f?表示客户端和服务器端最终采用的帧率值。
[0036] 如图2所示为本发明实施例提供的确定传屏参数的流程图。
[0037] 步骤S103,传屏客户端根据所述传屏参数进行图像截取和图像编码,并将经过编 码的图像发送到传屏服务器端。
[0038] 在本发明实施例中,传屏客户端在和传屏客户端确定了传屏参数之后,根据该传 屏参数进行图像截取,并将经过编码的图像发送到传屏服务器端。所述传屏客户端根据所 述传屏参数进行图像截取和图像编码的步骤,包括:
[0039] 1、将图像截取频率设置为所述图像播放频率。
[0040] 2、根据所述图像截取频率截取图像,并将所述图像存储到图像队列。
[0041] 3、将所述图像与所述显示区域大小进行比较,根据所述比较的结果,判断所述图 像是否需要进行压缩。
[0042] 在本发明实施例中,设图像的高为he、宽为wc,显示区域的高为hs、宽为ws,如果 wc<ws且he<hs,则图像不需要进行压缩。
[0043] 4、如果需要压缩,则对经过压缩的图像进行编码,如果不需要压缩,则直接对所述 图像进行编码。
[0044] 在本发明实施例中,设压缩后的图像的高为h,宽为w,如果ws/hs彡wc/hc。则h =hs、w=h*wc/hc,如果w
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1