CN104753989A - 基于Web-based OS运行环境的屏幕影像传输播放方法及装置 - Google Patents

基于Web-based OS运行环境的屏幕影像传输播放方法及装置 Download PDF

Info

Publication number
CN104753989A
CN104753989A CN201310741237.0A CN201310741237A CN104753989A CN 104753989 A CN104753989 A CN 104753989A CN 201310741237 A CN201310741237 A CN 201310741237A CN 104753989 A CN104753989 A CN 104753989A
Authority
CN
China
Prior art keywords
web
screen image
point
running environment
screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310741237.0A
Other languages
English (en)
Other versions
CN104753989B (zh
Inventor
袁志俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Banma Zhixing Network Hongkong Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201310741237.0A priority Critical patent/CN104753989B/zh
Priority to TW103110279A priority patent/TWI627858B/zh
Priority to US14/582,544 priority patent/US10498801B2/en
Priority to PCT/US2014/072360 priority patent/WO2015100417A1/en
Priority to JP2016532120A priority patent/JP6966675B2/ja
Priority to EP14873649.9A priority patent/EP3087502B1/en
Priority to KR1020167016433A priority patent/KR20160102419A/ko
Publication of CN104753989A publication Critical patent/CN104753989A/zh
Priority to HK15108317.2A priority patent/HK1207761A1/zh
Application granted granted Critical
Publication of CN104753989B publication Critical patent/CN104753989B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1093In-session procedures by adding participants; by removing participants
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio

Abstract

本申请公开了一种基于Web-based OS运行环境的屏幕影像传输播放方法以及装置。所述基于Web-based OS运行环境的屏幕影像传输播放方法包括:投射端与播放端使用Web-based OS提供的点到点连接接口建立点到点通信链路;投射端使用Web-based OS提供的屏幕访问接口访问屏幕影像,将屏幕影像实时转换为屏幕影像数据,并通过所述通信链路发送所述屏幕影像数据;所述播放端接收所述屏幕影像数据,并使用Web-based OS提供的影像播放控件将屏幕影像数据绘制在屏幕上。采用上述的基于Web-based OS运行环境的屏幕影像传输播放方法实施屏幕投射的门槛低,基于普通的Web-based OS运行环境的二设备之间即可实施屏幕投射,扩大了屏幕投射技术的使用范围,并且操作简单,实施便捷。

Description

基于Web-based OS运行环境的屏幕影像传输播放方法及装置
技术领域
本申请涉及一种屏幕投射技术,具体涉及一种基于Web-based OS运行环境的屏幕影像传输播放方法。本申请同时提供于基于Web-based OS运行环境的屏幕影像传输方法,和对应该方法的基于Web-based OS运行环境的屏幕影像播放方法;本申请同时提供对应于上述一种基于Web-based OS运行环境的屏幕影像传输播放装置。
背景技术
具有屏幕的电子设备在日常生活和商务环境中已经广泛应用。为了充分利用各种屏幕,经常需要共享屏幕内容。常见的共享屏幕内容的方式有屏幕共享技术、屏幕映射技术以及屏幕投射技术。屏幕投射技术是指一设备屏幕当前播放的影像通过某种手段或者装置在另外一个或多个设备屏幕实时播放的技术。屏幕投射技术是非常普遍的需求,常常应用在投影仪领域、智能终端设备领域。屏幕投射技术包括两个过程,过程一是将第一屏幕的屏幕影像数据向第二屏幕传输的数据传输过程,过程二是在所述第二屏幕上将接收到的屏幕影像数据在该第二屏幕上播放,上述两个过程组成一个完整的屏幕投射过程。在本申请中,为了叙述方便,将屏幕投射称为屏幕影像传输播放;其中,过程一称为屏幕影像传输,过程二称为屏幕影像播放。
过去,屏幕投射都需要使用专门的数据线连接需要共享屏幕的两个设备,通过该数据线实现屏幕影像数据的传输。随着网络应用的发展,一般电子设备均具有成为某个网络上的节点的功能,利用这些网络直接共享屏幕内容成为可能。
现有技术下利用网络实现屏幕投射技术的方法主要是移动设备通过无线将自身的屏幕影像投射到在同一局域网之内连接的特定大屏幕设备的屏幕上,例如,Apple设备(iPad、iPhone、iPod和PC)通过WIFI将自身屏幕投射到局域网范围之内的Apple TV的屏幕上;小米移动设备、iOS移动设备以及电脑将自身屏幕投射到局域网范围内连接的小米电视屏幕上,或者投射到小米盒子上,通过小米盒子将屏幕数据传输至小米电视播放。
上述现有技术的缺陷在于,设备之间的连接需要专用的软件支持,使这些连接方式缺少通用性。例如,Apple移动设备向Apple TV投射屏幕限制为Apple的专有产品,并且基于Apple专有协议,只有支持Apple协议的设备才能相互之间进行投射;小米移动设备或iOS移动设备向小米盒子或TV投射屏幕需要安装小米专有软件,只支持Android或IOS设备和小米盒子之间屏幕投射,并且基于Apple专有协议。为了实现上述屏幕投射方法,一般还需要专门下载安装这些APP软件,这些APP软件往往需要支付费用,安装完毕后,还需要进行调试。
由于上述原因,使现有技术提供的上述方式具有较高的使用门槛。
发明内容
本申请提供一种基于Web-based OS运行环境的屏幕影像传输播放方法,以解决现有的屏幕投射技术存在的问题。
本申请提供一种基于Web-based OS运行环境的屏幕影像传输播放方法,包括以下步骤:
投射端与播放端使用Web-based OS提供的点到点连接接口建立点到点通信链路;
投射端使用Web-based OS提供的屏幕访问接口访问屏幕影像,将屏幕影像实时转换为屏幕影像数据,并通过所述通信链路发送所述屏幕影像数据;
所述播放端接收所述屏幕影像数据,并使用Web-based OS提供的影像播放控件将屏幕影像数据绘制在屏幕上。
可选的,执行所述建立投射端与播放端的点到点通信链路的步骤之前,包括下述步骤:
投射端内置Web-based OS原始运行环境通过url访问一Web服务器,从该Web服务器载入投射端所需逻辑代码,并执行完成投射端注册初始化相关的代码;
播放端内置Web-based OS原始运行环境通过url访问所述Web服务器,从该Web服务器载入播放端所有逻辑代码,并执行完成播放端注册初始化相关的代码。
可选的,所述投射端与所述播放端在所述Web服务器的中介下,通过各自的注册信息建立所述的点到点通信链路。
可选的,所述Web-based OS运行环境为具有WebRTC应用的HTML5运行环境。
可选的,所述投射端与播放端使用Web-based OS提供的点到点连接接口建立点到点通信链路,是使用WebRTC的RTCPeerConnection接口建立。
可选的,所述投射端使用Web-based OS提供的屏幕访问接口访问屏幕影像,是通过WebRTC的MediaStream接口实现。
可选的,所述播放端使用的影像播放控件,是HTML5的Video控件。
可选的,所述使用Web-based OS提供的影像播放控件将屏幕影像数据绘制在屏幕上之前,还包括:
播放端内置Web-based OS运行环境选择下述分辨率之一播放所述屏幕影像数据:
播放端屏幕分辨率,或者发送端屏幕分辨率,或者自定义的屏幕分辨率。
可选的,所述投射端与播放端使用Web-based OS提供的点到点连接接口建立点到点通信链路的步骤中,所述点到点通信链路为以下形式之一:
同一局域网内的有线通信链路;或者,同一局域网内以Wifi或者蓝牙建立的无线通信链路;或者,互联网上建立的远程的点到点通信链路。
本申请另外提供一种基于Web-based OS运行环境的屏幕影像传输方法,包括:
使用Web-based OS提供的点到点连接接口建立与播放端的点到点通信链路;
使用Web-based OS提供的屏幕访问接口访问屏幕影像,将屏幕影像实时转换为屏幕影像数据,并通过所述通信链路向所述播放端发送。
可选的,执行所述建立与播放端的点到点通信链路的步骤之前,包括下述步骤:
内置Web-based OS原始运行环境通过url访问一Web服务器,从该Web服务器载入投射端所需逻辑代码,并执行完成初始化相关的代码,然后在该Web服务器上注册。
可选的,所述在该Web服务其上注册,是通过初始化完成后的Web-based OS运行环境,将获取到的设备的注册相关信息上传至所述Web服务器,完成注册。
可选的,所述使用Web-based OS提供的点到点连接接口建立与播放端的点到点通信链路步骤包括:
内置Web-based OS运行环境定义一个新的RTCPeerConnection接口,并完成所述RTCPeerConnection接口的初始化;
内置Web-based OS运行环境向播放端发出点到点的连接请求消息;
收到播放端反馈的答复消息后,执行RTCPeerConnection接口连接的相关代码,与播放端之间建立点到点通信链路。
可选的,所述屏幕影像数据的读取以及发送过程如下:
内置Web-based OS运行环境定义并初始化一个新的MediaStream接口,并通过所述MediaStream接口读取当前屏幕的屏幕影像数据;
内置Web-based OS运行环境WebRTC运行环境将上述获取到的当前屏幕影像数据添加到上述RTCPeerConnection接口中,所述RTCPeerConnection接口将该屏幕影像数据通过上述点到点的通信链路发送至播放端。
本申请还提供一种基于Web-based OS运行环境的屏幕影像播放方法,包括:
使用Web-based OS提供的点到点连接接口建立与投射端之间的点到点通信链路;
将接收到的所述屏幕影像数据使用Web-based OS提供的影像播放控件绘制在屏幕上。
可选的,执行所述建立与投射端的点到点通信链路的步骤之前,包括下述步骤:
内置Web-based OS原始运行环境通过url访问一Web服务器,从该Web服务器载入投射端所需逻辑代码,并执行完成播放端初始化相关的代码,然后在该Web服务器上注册。
可选的,所述在该Web服务器上注册,是通过初始化完成后的Web-based OS运行环境,将获取到的设备信息上传至所述Web服务器,完成注册。
可选的,所述使用Web-based OS提供的点到点连接接口建立与投射端的点到点通信链路步骤包括:
内置Web-based OS运行环境定义一个新的RTCPeerConnection接口,并完成所述RTCPeerConnection接口的初始化;
内置Web-based OS运行环境接收到来自投射端点到点的连接请求消息,向投射端返回答复消息后执行RTCPeerConnection接口连接的相关代码建立与投射端之间的点到点通信链路。
可选的,所述将接收到的所述屏幕影像数据,使用Web-based OS提供的影像播放控件将屏幕影像数据绘制在屏幕上,具体播过程如下:
内置Web-based OS运行环境定义初始化一个新的Video控件;
通过所述Video控件获取上述RTCPeerConnection接口接收的屏幕影像数据;
内置Web-based OS运行环境选择在播放端的屏幕分辨率或者投射端分辨率或者自定义分辨率中选择一个分辨率;
所述Video控件将上述屏幕影像数据根据选定的屏幕分辨率绘制到当前播放端屏幕上。
本申请还提供一种基于Web-based OS运行环境的屏幕影像传输播放装置,包括:
通信链路建立单元,用于在投射端与播放端之间使用Web-based OS提供的点到点连接接口建立点到点通信链路;
屏幕影像数据转换单元,用于在投射端使用Web-based OS提供的屏幕访问接口访问屏幕影像,将屏幕影像实时转换为屏幕影像数据,并通过所述点对点通信链路发送所述屏幕影像数据;
屏幕影像数据播放单元,用于在播放端接收所述屏幕影像数据,并使用Web-based OS提供的影像播放控件将屏幕影像数据绘制在屏幕上。
可选的,,所述基于Web-based OS运行环境的屏幕影像传输播放装置还包括注册初始化单元,该注册初始化单元包括:
连接服务器子单元,用于投射端以及播放端内置Web-based OS原始运行环境与Web服务器之间建立连接;
注册初始化子单元,用于投射端以及播放端通过各自内置Web-based OS原始运行环境通过url访问一Web服务器,从该Web服务器载入投射端以及播放端各自注册初始化所需逻辑代码,并执行该注册初始化相关的代码。
可选的,所述基于Web-based OS运行环境的屏幕影像传输播放装置还包括:
屏幕分辨率选择单元,用于播放端内置Web-based OS运行环境选择下述分辨率之一播放所述屏幕影像数据:
播放端屏幕分辨率,或者发送端屏幕分辨率,或者自定义的屏幕分辨率。
与现有技术相比,本申请的技术方案具有以下优点:
1、具有广泛的通用性。由于本申请基于普通内置Web-based OS运行环境即可实现,而无需安装专门的支持软件,使其具有广泛的通用性,可以在多种电子设备之间实现屏幕投射。
2、显著降低了应用门槛。本申请的技术方案不需要安装专门的支持软件即可实现电子设备之间的屏幕投射,显著降低了屏幕投射设备的门槛,使目前大部分的设备都可以使用该技术方案实现屏幕投射。同样由于不需要安装专门的支持软件,显著降低了一般使用者应用难度,使更多使用者有可能使用该技术。
此外,该技术方案中,进行屏幕投射的设备之间可以通过局域网内的无线连接,而且可以通过有线连接,也可以通过互联网连接,增加了屏幕投射的投射范围以及屏幕投射技术的使用范围。由于无需购置专门的投射装置或者安装特定的软件,也使其具有较低的实施成本。
附图说明
图1是根据本申请实施例一提供的基于Web-based OS运行环境的屏幕影像传输播放方法的系统架构图。
图2是根据本申请实施例一提供的基于Web-based OS运行环境的屏幕影像传输播放方法的步骤流程图。
图3是根据本申请实施例二提供的投射端传输屏幕影像数据的步骤流程图。
图4是根据本申请实施例三提供的播放端播放屏幕影像数据的步骤流程图。
图5是根据本申请实施例四提供的基于Web-based OS运行环境的屏幕影像传输播放装置的单元框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
参照图1,其示出了根据本申请实施例一提供的基于Web-based OS运行环境的屏幕影像传输播放方法的系统架构图。
本实施例提供了一种基于Web-based OS运行环境的屏幕影像传输播放方法,该方法包括:投射端与播放端使用Web-based OS提供的点到点连接接口通过Web服务器的中介建立点到点通信链路;投射端使用Web-based OS提供的屏幕访问接口访问屏幕影像数据,并通过所述通信链路将屏幕影像数据发送至播放端;所述播放端接收到屏幕影像数据后,使用Web-based OS提供的影像播放控件选择合适的屏幕分辨率将屏幕影像数据绘制在播放端当前屏幕上以实现播放。
需要说明的是,Web服务器是指驻留于因特网上某种类型计算机的程序,该程序可以向发出请求的浏览器提供文档,并且可以向Internet上的Web浏览器(客户端)提供WWW、Email和FTP等各种Internet服务。Web服务器是一种被动程序:只有当Internet上运行在其他计算机中的Web浏览器(客户端)发出请求时,Web服务器才会响应。当Web浏览器(客户端)连接到Web服务器上并请求文件时,Web服务器将处理该请求并将文件反馈到该Web浏览器(客户端)上,附带的信息会告诉Web浏览器(客户端)如何查看该文件(即文件类型)。
进一步地,投射端以及播放端要想与Web服务器之间建立连接,必须具备上述的Web浏览器(客户端)。在本实施例中,所述的Web浏览器(客户端)是指投射端和播放端内置的Web-based OS运行环境。Web-based OS运行环境是以承载和运行web代码为主的操作系统,该操作系统的实现方式有多种,目前一种比较可行的方案是基于HTML5技术进行开发,在此情况下,该Web-based OS运行环境支持HTML5的特性,尤其支持HTML5的支持网页浏览器进行实时语音对话或视频对话的技术,例如WebRTC技术。
参照图2,其示出了根据本申请实施例一提供的一种基于Web-based OS运行环境的屏幕影像传输播放方法的步骤流程图。
S101;投射端以及播放端通过内置Web-based OS原始运行环境与Web服务器建立连接后访问Web服务器获得初始化代码,并执行该初始化代码。
需要说明的是,Web服务器与Web浏览器(客户端)之间的信息交流是通过HTTP(超文本传输协议)进行交流的。Web浏览器(客户端)要想访问Web服务器获得信息,必须与Web服务器之间建立HTTP连接。本实施例中,投射端以及客户端内置Web-based OS原始运行环境与Web服务器之间建立HTTP连接的步骤如下:
1)投射端以及播放端通过拨号分别与各自的访问路由器之间建立物理连接;所述物理连接可以是有线连接,如光缆连接;也可以是无线连接,如WIFI、蓝牙等;
2)投射端以及播放端通过各自内置Web-based OS原始运行环境获取本机IP地址;
3)投射端以及播放端通过各自内置Web-based OS原始运行环境与访问路由器之间建立数据链路;
4)投射端以及播放端通过各自内置Web-based OS原始运行环境获取Web服务器的IP地址;
5)投射端以及播放端通过各自内置Web-based OS原始运行环境与Web服务器之间建立TCP连接;
6)投射端以及播放端通过各自内置Web-based OS原始运行环境与Web服务器之间建立HTTP连接。该步骤完成后,投射端以及播放端内置Web-based OS运行环境与Web服务器之间可以进行访问以及信息的交流。
完成上述投射端以及播放端与Web服务器的连接之后,投射端以及播放端就可以分别通过内置Web-based OS原始运行环境访问Web服务器获得各自的初始化代码,并执行该初始化代码,完成初始化。具体步骤如下:
投射端以及播放端向Web服务器发出访问Web服务器的访问请求消息,Web服务器收到该访问请求消息后,向投射端以及播放端反馈同意访问的消息,投射端以及播放端收到该Web服务器反馈同意访问的消息后,投射端以及播放端内置Web-based OS原始运行环境通过URL访问web服务器,载入投射端以及播放端各自初始化所需要的所有的逻辑代码,Web-based OS运行环境载入上述初始化逻辑代码完成之后,执行该初始化逻辑代码并完成投射端以及播放端各自的初始化。初始化完成后,投射端即具有了运行屏幕投射所需的完整的Web-based OS运行环境,播放端也具有了将所接收的屏幕影像数据绘制到屏幕的完整的Web-based OS运行环境。
此处需要说明的是,投射端以及播放端内置Web-based OS原始运行环境在不同设备中可能有所区别。一些投射端设备已经内置了完整的Web-based OS运行环境,可以直接进行屏幕投射的操作,或者一些播放端设备内置了完整的Web-based OS运行环境,当接收到投射端发送的屏幕影像数据时,能够直接将所述屏幕影像数据在当前设备屏幕播放,但一些设备可能仅仅具有Web-basedOS原始运行环境,该环境使其具有基本的网络连接功能,但是并不具有一些复杂的功能,这些功能应当根据需要,通过访问Web服务器获得。此处假设上述的投射端和播放端仅仅设置了Web-based OS原始运行环境。上述所说的初始化,是在Web-based OS原始运行环境的基础上,使其具备完整的Web-based OS运行环境的过程。在本实施例中,所述Web-based OS运行环境具体为HTML5运行环境。该运行环境下需要支持WebRTC架构组件,WebRTC是Web Real-TimeCommunication的缩写,中文名称可以称为网页实时通讯,该架构组件用于支持网页浏览器之间进行实时语音对话或视频对话。
S102;投射端以及播放端通过内置Web-based OS运行环境向Web服务器提交注册信息。
投射端以及播放端具有了完整的HTML5环境后,投射端以及播放端就可以实现更多的功能。注册的目的是为了通过Web服务器的中介建立投射端和播放端之间的通信链路。具体的注册过程如下:
第一步,投射端以及播放端分别获取本机的设备信息,所述的设备信息包括:本机IP地址、设备标识以及设备的屏幕分辨率;
第二步,投射端以及播放端通过各自内置Web-based OS运行环境将本机的设备信息发送至Web服务器,完成注册。
S103;投射端执行内置Web-based OS运行环境提供的RTCPeerConnection接口相关代码以及配置播放端信息的代码。
本步骤所述的RTCPeerConnection接口是WebRTC架构组件提供的一个面向第三方开发者的WebRTC标准API(应用程序编程接口),该API允许用户在两个正在运行的浏览器之间直接建立通信关系。
本步骤中投射端使用内置Web-based OS运行环境执行RTCPeerConnection接口相关代码以及投射端配置播放端信息相关代码的执行过程如下:
需要说明的是,本实施例所述的与RTCPeerConnection接口相关代码以及配置播放端信息相关代码仅仅是指目前建立投射端与播放端二者之间点到点通信链路的一种方法所对应的代码,除此之外,也可以采用与本实施例所描述的代码相类似或者之外的代码实现相同的功能(即在投射端与播放端之间建立点到点通信链路),在此不作限制。
另外,还需要说明的是,所述的一个RTCPeerConnection对象允许两个浏览器之间直接通讯,该通信是通过一个信号通道来协调;同时,这个连接还可以用于中转语音和视频的数据。在实际的应用当中,采用上述RTCPeerConnection接口建立的点到点通信链路来传输屏幕影像数据时,对网络带宽的要求比较高。一般要求保证投射端和播放端在同一局域网内,并且投射端和播放端两端都通过有线连接或者WIFI连接的方式连接到同一路由器;此外,在云OS平台实施的效果最佳,能够最大程度的保证屏幕投射的图像质量以及实时性。在保证屏幕投射的图像质量以及实时性的前提下,也可以采用其他的连接方式,在此不做限制。
S104;播放端执行内置Web-based OS提供的RTCPeerConnection接口相关代码以及配置投射端信息的代码。
与上述步骤S103中相对应的,播放端内置Web-based OS运行环境执行RTCPeerConnection接口相关代码,以及播放端配置投射端信息相关代码的执行过程如下:
需要说明的是,本实施例所述的与RTCPeerConnection接口相关代码以及配置接收端信息相关代码仅仅是指目前建立投射端与播放端二者之间点到点通信链路的一种方法所对应的代码,也可以采用与本实施例所描述的代码相类似或者之外的代码实现相同的功能(即:在投射端与播放端之间建立点到点通信链路),在此不作限制。
执行完上述步骤S103和步骤S104以后,则完成了投射端与播放端之间点到点通信链路的建立。
S105;投射端通过Web-based OS提供的MediaStream接口访问投射端屏幕,将获取到的屏幕影像数据通过上述步骤建立的点到点通信链路发送至播放端。
1)投射端通过内置Web-based OS提供的MediaStream接口调用当前投射端的屏幕影像数据;
MediaStream接口调用投射端当前屏幕影像数据的代码执行过程如下:
MediaStream接口获取到投射端当前的屏幕影像数据后,通过上述步骤S103和步骤S104建立的点到点通信链路将该屏幕影像数据发送至播放端。
需要说明的是,上述MediaStream接口用来表示一段向远端节点发送的数据流或者是从远端节点接受的数据流。此外,上述的MediaStream接口指本实施例采取的一种目前调用屏幕影像数据的方法,也可以采用其它的接口或者方法来获取屏幕影像数据,在此不做限制。
2)屏幕影像数据转换为超文本标记语言HTML5支持的音视频流,本实施例中,是将屏幕影像数据转换为内置Web-based OS运行环境支持的音视频流;
需要说明的是,超文本标记语言(英文:Hypertext Markup Language,简称:HTML)5支持的音视频流包括但不限于OGG格式、WEBM格式和MP4格式,如果屏幕影像数据是音频信号可以转换为OGG格式,如果屏幕影像数据是视频信号可以转换为WEBM格式或MP4格式,由于部分浏览器不支持WEBM格式,如IE浏览器,而MP4即支持音频信号也支持视频信号,因此MP4格式是最优选择;
进一步需要说明的是,目前主流浏览器包括火狐、网际浏览(InternetExplorer,简称:IE)、谷歌浏览器、傲游浏览器、360浏览器和腾讯浏览器等都支持HTML5标准,因此可以播放HTML5支持的音视频流;
3)所述MediaStream接口被上述步骤S104中RTCPeerConnection接口调用,即:MediaStream接口获取到屏幕影像数据转换后的音视频流通过RTCPeerConnection接口发送至播放端。
S106;播放端接收到来自投射端发送的屏幕影像数据后,播放端内置Web-based OS运行环境选择合适的屏幕分辨率。
播放端通过RTCPeerConnection接口接收到来自投射端发送的屏幕影像数据后,播放端内置Web-based OS运行环境选择在当前屏幕播放所述屏幕影像数据采用的屏幕分辨率,可选择的分辨率有:播放端屏幕分辨率,或者发送端屏幕分辨率,或者自定义的屏幕分辨率。选择好分辨率后,执行下一步操作。
S107;播放端使用Web-based OS提供的Video控件将屏幕数据绘制在播放端当前屏幕上。
播放端通过Web-based OS提供HTML5的一个Video控件将所述音视频流绘制到当前屏幕上。具体代码执行过程如下:
需要说明的是,上述的Video控件指本实施例采取的一种目前将接收到的屏幕影像数据在当前屏幕播放的方法,也可以采用其它控件或者方法来播放屏幕影像数据,在此不做限制。
本实施例中使用的具体的代码,以及具体使用环境,随着技术发展可能会有所变化,只要是通过两个浏览器之间的通讯实现屏幕影像数据的传输播放即可。
本申请第二实施例提供一种基于Web-based OS运行环境的屏幕影像传输方法。
参照图3,其示出了根据本申请实施例二提供的投射端投射屏幕的步骤流程图。
S201;投射端通过内置Web-based OS原始运行环境与Web服务器建立连接。
Web服务器是指驻留于因特网上某种类型计算机的程序,该程序可以向发出请求的浏览器提供文档,并且可以向Internet上的Web浏览器(客户端)提供WWW、Email和FTP等各种Internet服务。Web服务器是一种被动程序:只有当Internet上运行在其他计算机中的Web浏览器(客户端)发出请求时,Web服务器才会响应。当Web浏览器(客户端)连接到Web服务器上并请求文件时,Web服务器将处理该请求并将文件反馈到该Web浏览器(客户端)上,附带的信息会告诉Web浏览器(客户端)如何查看该文件(即文件类型)。
进一步地,投射端以及播放端要想与Web服务器之间建立连接,必须具备上述的Web浏览器(客户端)。在本实施例中,所述的Web浏览器(客户端)是指投射端和播放端内置Web-based OS运行环境。Web-based OS运行环境是以承载和运行web代码为主的操作系统,该操作系统的实现方式有多种,目前一种比较可行的方案是基于HTML5技术之进行开发,在此情况下,该Web-based OS运行环境支持HTML5的特性,尤其支持HTML5的支持网页浏览器进行实时语音对话或视频对话的技术,例如WebRTC技术。
更近一步地,Web服务器与Web浏览器(客户端)之间的信息交流是通过HTTP(超文本传输协议)进行交流的。Web浏览器(客户端)要想访问Web服务器获得信息,首先必须与Web服务器之间建立HTTP连接。本实施例中,投射端内置Web-based OS原始运行环境与Web服务器建立HTTP连接的步骤如下:
1)投射端通过拨号与访问路由器之间建立物理连接;所述物理连接可以是有线连接,如光缆连接;也可以是无线连接,如WIFI、蓝牙等;
2)投射端通过内置Web-based OS原始运行环境获取本机IP地址;
3)投射端通过内置Web-based OS原始运行环境与访问路由器之间建立数据链路;
4)投射端通过内置Web-based OS原始运行环境获取Web服务器的IP地址;
5)投射端通过内置Web-based OS原始运行环境与Web服务器之间建立TCP连接;
6)投射端通过内置Web-based OS原始运行环境与Web服务器之间建立HTTP连接。该步骤完成后,投射端内置Web-based OS原始运行环境与Web服务器之间可以进行访问以及信息的交流。
S202;投射端通过内置Web-based OS原始运行环境访问Web服务器获得初始化代码,并执行该初始化代码。
投射端内置Web-based OS原始运行环境在不同设备中可能有所区别。一些投射端设备已经内置了完整的Web-based OS运行环境,可以直接进行屏幕投射的操作,但一些设备可能仅仅具有Web-based OS初始环境,该环境使其具有基本的网络连接功能,但是并不具有一些复杂的功能,这些功能应当根据需要,通过访问Web服务器获得。此处假设投射端仅仅设置了Web-based OS原始运行环境。
首先,投射端向Web服务器发出访问Web服务器的访问请求消息,Web服务器收到该访问请求消息后,向投射端反馈同意访问的消息,投射端收到该Web服务器反馈的同意访问的消息后,投射端内置Web-based OS原始运行环境通过URL访问web服务器,载入投射端初始化所需要的所有的逻辑代码,Web-basedOS原始运行环境载入上述初始化逻辑代码完成之后,执行该初始化逻辑代码并完成投射端的初始化。初始化完成后,投射端即具有了运行屏幕投射所需的完整的Web-based OS运行环境。
S203;投射端通过内置Web-based OS运行环境向Web服务器提交注册信息。
投射端具有了完整的HTML5环境后,投射端就设备可以实现更多的功能。注册的目的是为了通过Web服务器的中介建立投射端和播放端之间的通信链路。具体的注册过程如下:
第一步,投射端获取本机的设备信息,所述的设备信息包括:本机IP地址、设备标识以及设备的屏幕分辨率;
第二步,投射端通过内置Web-based OS运行环境将本机的设备信息发送至Web服务器,完成注册。
S204;投射端使用Web-based OS提供的点到点连接接口连接到播放端。
本步骤所述的点到点连接接口是指RTCPeerConnection接口,RTCPeerConnection接口是WebRTC架构组件提供的一个面向第三方开发者的WebRTC标准API(应用程序编程接口),该API允许用户在两个正在运行的浏览器之间直接建立通信关系。
本步骤中投射端使用内置Web-based OS运行环境执行RTCPeerConnection接口相关代码以及投射端配置播放端信息相关代码的执行过程如下:
需要说明的是,本实施例所述的与RTCPeerConnection接口相关代码以及配置播放端信息相关代码仅仅是指目前建立投射端与播放端二者之间点到点通信链路的一种方法所对应的代码,也可以采用与本实施例所描述的代码相类似或者之外的代码实现相同的功能(即:在投射端与播放端之间建立点到点通信链路),在此不作限制。
另外,还需要说明的是,所述的一个RTCPeerConnection对象允许两个浏览器之间直接通讯,该通信是通过一个信号通道来协调;同时,这个连接还可以用于中转语音和视频的数据。在实际的应用当中,采用上述RTCPeerConnection接口建立的点到点通信链路来传输屏幕影像数据时,对网络带宽的要求比较高。一般要求保证投射端和播放端在同一局域网内,并且投射端和播放端两端都通过有线连接或者WIFI连接的方式连接到同一路由器;此外,在云OS平台实施的效果最佳,能够最大程度的保证屏幕投射的图像质量以及实时性。在保证屏幕投射的图像质量以及实时性的前提下,也可以采用其他的连接方式,在此不做限制。
S205;投射端通过Web-based OS提供的MediaStream接口获取屏幕影像数据并通过上述S204步骤建立的点到点通信链路将所述屏幕影像数据发送至播放端。
投射端通过内置Web-based OS提供的MediaStream接口调用投射端当前屏幕影像数据的代码执行过程如下:
MediaStream接口获取到投射端当前的屏幕影像数据后,通过上述步骤S204步骤建立的点到点通信链路将该屏幕影像数据发送至播放端。
上述MediaStream接口用来表示一段向远端节点发送的数据流或者是从远端节点接受的数据流。需要说明的是,上述的MediaStream接口指本实施例采取的一种目前调用屏幕影像数据的方法,也可以采用其它的接口或者方法来获取屏幕影像数据,在此不做限制。
2)屏幕影像数据转换为超文本标记语言HTML5支持的音视频流,本实施例中,是将屏幕影像数据转换为内置Web-based OS运行环境支持的音视频流;
需要说明的是,超文本标记语言(英文:Hypertext Markup Language,简称:HTML)5支持的音视频流包括但不限于OGG格式、WEBM格式和MP4格式,如果屏幕影像数据是音频信号可以转换为OGG格式,如果屏幕影像数据是视频信号可以转换为WEBM格式或MP4格式。目前,由于部分浏览器不支持WEBM格式,如IE浏览器,而MP4即支持音频信号也支持视频信号,因此MP4格式是当前最优选择;
进一步需要说明的是,目前主流浏览器包括火狐、网际浏览(InternetExplorer,简称:IE)、谷歌浏览器、傲游浏览器、360浏览器和腾讯浏览器等都支持HTML5标准,因此可以播放HTML5支持的音视频流;
3)所述MediaStream接口被上述步骤S204中RTCPeerConnection接口调用,即:MediaStream接口获取到屏幕影像数据转换后的音视频流通过RTCPeerConnection接口发送至播放端。
上述介绍的一些具体的使用环境和支持情况,只是目前的情况,随着技术的发展,情况可能发生变化,但并不影响本实施例的实质内容。
本申请实施例三提供一种基于Web-based OS运行环境的屏幕影像播放方法,该方法和上述第二实施例提供的基于Web-based OS运行环境的屏幕影像传输方法相配合,以实现屏幕影像在本地浏览器的播放。
参照图4,其示出了根据本申请实施例三提供的屏幕影像播放方法的流程图。
S301;播放端通过内置Web-based OS运行环境与Web服务器建立连接。
与上述实施例二中步骤S201当中描述的投射端通过内置Web-based OS原始运行环境与Web服务器建立连接的过程类似,本步骤所述的投射端与Web服务器建立连接HTTP的步骤如下:
1)播放端通过拨号与访问路由器之间建立物理连接;所述物理连接可以是有线连接,如光缆连接;也可以是无线连接,如WIFI、蓝牙等;
2)播放端通过内置Web-based OS原始运行环境获取本机IP地址;
3)播放端通过内置Web-based OS原始运行环境与访问路由器之间建立数据链路;
4)播放端通过内置Web-based OS原始运行环境获取Web服务器的IP地址;
5)播放端通过内置Web-based OS原始运行环境与Web服务器之间建立TCP连接;
6)播放端通过内置Web-based OS原始运行环境与Web服务器之间建立HTTP连接。该步骤完成后,播放端内置Web-based OS原始运行环境与Web服务器之间可以进行访问以及信息的交流。
S302;播放端通过内置Web-based OS原始运行环境访问Web服务器获得初始化代码,并执行该初始化代码。
播放端通过内置Web-based OS原始运行环境通过步骤S301建立的连接向Web服务器发出访问的消息请求,Web服务器收到该消息请求后,向播放端反馈同意访问的消息,播放端收到该Web服务器反馈的消息后,通过内置Web-based OS原始运行环境通过URL访问web服务器并从该服务器载入播放端初始化所需要的所有的逻辑代码,载入初始化逻辑代码完成后,执行该初始化逻辑代码并完成播放端的初始化。初始化完成后,完整的Web-based OS运行环境即完全建立。
S303;播放端通过内置Web-based OS运行环境向Web服务器提交注册信息。
注册过程就是播放端首先获取本机的设备信息,所述的本地设备信息包括:本机IP地址、设备标识以及设备的屏幕分辨率;其次播放端通过内置Web-basedOS运行环境将本机的设备信息发送至Web服务器,完成注册。
S304;播放端使用Web-based OS提供的点到点连接接口与投射端建立点到点通信链路。
与上述实施例二当中的步骤S204相对应,播放端使用Web-based OS提供的RTCPeerConnection接口连接到投射端的具体连接过程如下:
//基于ICE建立连接
需要说明的是,本实施例所述的与RTCPeerConnection接口相关代码以及配置接收端信息的代码仅仅是指目前建立投射端与播放端二者之间点到点通信链路的一种方法所对应的代码,也可以采用与本实施例所描述的代码相类似或者之外的代码实现相同的功能(即:在投射端与播放端之间建立点到点通信链路),在此不作限制。
本步骤与相对应的步骤S204都完成以后,则投射端与播放端之间的点到点通信链路建立完成。
S305;播放端通过RTCPeerConnection接口接收到来自投射端发送的屏幕影像数据后,播放端内置Web-based OS运行环境选择在当前屏幕播放所述屏幕影像数据采用的屏幕分辨率,可选择的分辨率有:播放端屏幕分辨率,或者发送端屏幕分辨率,或者自定义的屏幕分辨率。选择好分辨率后,执行下一步操作。
S306;播放端使用HTML5的Video控件将屏幕影像数据绘制在当前屏幕上。
首先由上述步骤S304中的RTCPeerConnection接口接收到对应步骤S205投射端发送的音视频流;
播放端通过Web-based OS提供HTML5的一个Video控件将所述音视频流绘制到当前屏幕上。具体代码执行过程如下:
需要说明的是,上述的Video控件指本实施例采取的一种目前将接收到的屏幕影像数据在当前屏幕播放的方法,也可以采用其它控件或者方法来播放屏幕影像数据,在此不做限制。
本申请第四实施例提供一种基于Web-based OS运行环境的屏幕影像传输播放装置。
参照图5,其示出了根据本申请实施例四提供的基于Web-based OS运行环境的屏幕影像传输播放装置的单元框图。
如图5所示,本实施例提供的基于Web-based OS运行环境的屏幕影像传输播放装置包括:注册初始化单元401、通信链路建立单元402、屏幕影像数据转换单元403、屏幕分辨率选择单元404和屏幕影像数据播放单元405。
所述注册初始化单元401包括连接服务器子单元401-1和注册初始化子单元401-2。
连接服务器子单元401-1,用于投射端以及播放端内置Web-based OS原始运行环境与Web服务器之间建立连接;
需要说明的是,Web服务器与Web浏览器(客户端)之间的信息交流是通过HTTP(超文本传输协议)进行交流的。本实施例中,投射端以及播放端内置Web-based OS原始运行环境要想访问Web服务器并从Web服务器获得数据信息,则必须与Web服务器之间建立HTTP连接。
注册初始化子单元401-2,包括两个子单元:初始化子单元和注册子单元。
初始化子单元用于投射端以及播放端向Web服务器发出访问Web服务器的访问请求消息,Web服务器收到该访问请求消息后,向投射端以及播放端反馈同意访问的消息,投射端以及播放端收到该Web服务器反馈的同意访问的消息后,投射端以及播放端内置Web-based OS原始运行环境通过URL访问web服务器,载入投射端以及播放端各自初始化所需要的所有的逻辑代码,Web-basedOS原始运行环境载入上述初始化逻辑代码完成之后,执行该初始化逻辑代码并完成投射端以及播放端各自的初始化。初始化完成后,投射端即具有了运行屏幕投射所需的完整的Web-based OS运行环境,播放端也具有了将所接收的屏幕影像数据绘制到屏幕的完整的Web-based OS运行环境。
注册子单元用于投射端以及播放端通过各自内置Web-based OS运行环境获取本机的设备信息并将该设备信息发送至Web服务器,完成注册。所述设备信息包括:本机IP地址、设备标识以及设备的屏幕分辨率。
所述通信链路建立单元402,用于在投射端执行内置Web-based OS运行环境提供的RTCPeerConnection接口相关代码以及配置播放端信息的代码;以及在播放端执行内置Web-based OS提供的RTCPeer Connection接口相关代码以及配置投射端信息的代码。所述投射端和播放端的代码执行完毕后,建立投射端与播放端之间的点到点通信链路。
所述屏幕影像数据转换单元403用于投射端通过Web-based OS提供的MediaStream接口访问投射端屏幕并获取到屏幕影像数据;并将获取到屏幕影像数据转换为超文本标记语言HTML5支持的音视频流,本实施例中,是将屏幕影像数据转换为内置Web-based OS运行环境支持的音视频流;并通过上述的RTCPeer Connection接口将所述音视频流发送至播放端。
所述屏幕分辨率选择单元404,用于播放端通过RTCPeerConnection接口接收到来自投射端发送的屏幕影像数据后,播放端内置Web-based OS运行环境选择在当前屏幕播放所述屏幕影像数据采用的屏幕分辨率。本实施例中,可选择的屏幕分辨率包括:播放端通过RTCPeerConnection接口接收到来自投射端发送的屏幕影像数据后,播放端内置Web-based OS运行环境选择在当前屏幕播放所述屏幕影像数据采用的屏幕分辨率。
所述屏幕影像数据播放单元405用于使用Web-based OS提供的Video控件将播放端接收到来自投射端发送的屏幕数据绘制在播放端当前屏幕上。此处,在播放端屏幕播放屏幕影像数据采用的屏幕分辨率是上述屏幕分辨率选择单元404选定的屏幕分辨率。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (22)

1.一种基于Web-based OS运行环境的屏幕影像传输播放方法,其特征在于,包括以下步骤:
投射端与播放端使用Web-based OS提供的点到点连接接口建立点到点通信链路;
投射端使用Web-based OS提供的屏幕访问接口访问屏幕影像,将屏幕影像实时转换为屏幕影像数据,并通过所述通信链路发送所述屏幕影像数据;
所述播放端接收所述屏幕影像数据,并使用Web-based OS提供的影像播放控件将屏幕影像数据绘制在屏幕上。
2.根据权利要求1所述的基于Web-based OS运行环境的屏幕影像传输播放方法,其特征在于,执行所述建立投射端与播放端的点到点通信链路的步骤之前,包括下述步骤:
投射端内置Web-based OS原始运行环境通过url访问一Web服务器,从该Web服务器载入投射端所需逻辑代码,并执行完成投射端注册初始化相关的代码;
播放端内置Web-based OS原始运行环境通过url访问所述Web服务器,从该Web服务器载入播放端所有逻辑代码,并执行完成播放端注册初始化相关的代码。
3.根据权利要求2所述的基于Web-based OS运行环境的屏幕影像传输播放方法,其特征在于,所述投射端与所述播放端在所述Web服务器的中介下,通过各自的注册信息建立所述的点到点通信链路。
4.根据权利要求1所述的基于Web-based OS运行环境的屏幕影像传输播放方法,其特征在于,所述Web-based OS运行环境为具有WebRTC应用的HTML5运行环境。
5.根据权利要求4所述的基于Web-based OS运行环境的屏幕影像传输播放方法,其特征在于,所述投射端与播放端使用Web-based OS提供的点到点连接接口建立点到点通信链路,是使用WebRTC的RTCPeerConnection接口建立。
6.根据权利要求4所述的基于Web-based OS运行环境的屏幕影像传输播放方法,其特征在于,所述投射端使用Web-based OS提供的屏幕访问接口访问屏幕影像,是通过WebRTC的MediaStream接口实现。
7.根据权利要求4所述的基于Web-based OS运行环境的屏幕影像传输播放方法,其特征在于,所述播放端使用的影像播放控件,是HTML5的Video控件。
8.根据权利要求1所述的基于Web-based OS运行环境的屏幕影像传输播放方法,其特征在于,所述使用Web-based OS提供的影像播放控件将屏幕影像数据绘制在屏幕上之前,还包括:
播放端内置Web-based OS运行环境选择下述分辨率之一播放所述屏幕影像数据:
播放端屏幕分辨率,或者发送端屏幕分辨率,或者自定义的屏幕分辨率。
9.根据权利要求1所述的基于Web-based OS运行环境的屏幕影像传输播放方法,其特征在于,所述投射端与播放端使用Web-based OS提供的点到点连接接口建立点到点通信链路的步骤中,所述点到点通信链路为以下形式之一:
同一局域网内的有线通信链路;或者,同一局域网内以Wifi或者蓝牙建立的无线通信链路;或者,互联网上建立的远程的点到点通信链路。
10.一种基于Web-based OS运行环境的屏幕影像传输方法,其特征在于,包括:
使用Web-based OS提供的点到点连接接口建立与播放端的点到点通信链路;
使用Web-based OS提供的屏幕访问接口访问屏幕影像,将屏幕影像实时转换为屏幕影像数据,并通过所述通信链路向所述播放端发送。
11.根据权利要求10所述的基于Web-based OS运行环境的屏幕影像传输方法,其特征在于,执行所述建立与播放端的点到点通信链路的步骤之前,包括下述步骤:
内置Web-based OS原始运行环境通过url访问一Web服务器,从该Web服务器载入投射端所需逻辑代码,并执行完成初始化相关的代码,然后在该Web服务器上注册。
12.根据权利要求11所述的基于Web-based OS运行环境的屏幕影像传输方法,其特征在于,所述在该Web服务其上注册,是通过初始化完成后的Web-basedOS运行环境,将获取到的设备的注册相关信息上传至所述Web服务器,完成注册。
13.根据权利要求10所述的基于Web-based OS运行环境的屏幕影像传输方法,其特征在于,所述使用Web-based OS提供的点到点连接接口建立与播放端的点到点通信链路步骤包括:
内置Web-based OS运行环境定义一个新的RTCPeerConnection接口,并完成所述RTCPeerConnection接口的初始化;
内置Web-based OS运行环境向播放端发出点到点的连接请求消息;
收到播放端反馈的答复消息后,执行RTCPeerConnection接口连接的相关代码,与播放端之间建立点到点通信链路。
14.根据权利要求13所述的基于Web-based OS运行环境的屏幕影像传输方法,其特征在于,所述屏幕影像数据的读取以及发送过程如下:
内置Web-based OS运行环境定义并初始化一个新的MediaStream接口,并通过所述MediaStream接口读取当前屏幕的屏幕影像数据;
内置Web-based OS运行环境WebRTC运行环境将上述获取到的当前屏幕影像数据添加到上述RTCPeerConnection接口中,所述RTCPeerConnection接口将该屏幕影像数据通过上述点到点的通信链路发送至播放端。
15.一种基于Web-based OS运行环境的屏幕影像播放方法,其特征在于,包括:
使用Web-based OS提供的点到点连接接口建立与投射端之间的点到点通信链路;
将接收到的所述屏幕影像数据使用Web-based OS提供的影像播放控件绘制在屏幕上。
16.根据权利要求15所述的基于Web-based OS运行环境的屏幕影像播放方法,其特征在于,执行所述建立与投射端的点到点通信链路的步骤之前,包括下述步骤:
内置Web-based OS原始运行环境通过url访问一Web服务器,从该Web服务器载入投射端所需逻辑代码,并执行完成播放端初始化相关的代码,然后在该Web服务器上注册。
17.根据权利要求16所述的基于Web-based OS运行环境的屏幕影像播放方法,其特征在于,所述在该Web服务器上注册,是通过初始化完成后的Web-basedOS运行环境,将获取到的设备信息上传至所述Web服务器,完成注册。
18.根据权利要求15所述的基于Web-based OS运行环境的屏幕影像播放方法,其特征在于,所述使用Web-based OS提供的点到点连接接口建立与投射端的点到点通信链路步骤包括:
内置Web-based OS运行环境定义一个新的RTCPeerConnection接口,并完成所述RTCPeerConnection接口的初始化;
内置Web-based OS运行环境接收到来自投射端点到点的连接请求消息,向投射端返回答复消息后执行RTCPeerConnection接口连接的相关代码建立与投射端之间的点到点通信链路。
19.根据权利要求15所述的基于Web-based OS运行环境的屏幕影像播放方法,其特征在于,所述将接收到的所述屏幕影像数据,使用Web-based OS提供的影像播放控件将屏幕影像数据绘制在屏幕上,具体播过程如下:
内置Web-based OS运行环境定义初始化一个新的Video控件;
通过所述Video控件获取上述RTCPeerConnection接口接收的屏幕影像数据;
内置Web-based OS运行环境选择在播放端的屏幕分辨率或者投射端分辨率或者自定义分辨率中选择一个分辨率;
所述Video控件将上述屏幕影像数据根据选定的屏幕分辨率绘制到当前播放端屏幕上。
20.一种基于Web-based OS运行环境的屏幕影像传输播放装置,其特征在于,包括:
通信链路建立单元,用于在投射端与播放端之间使用Web-based OS提供的点到点连接接口建立点到点通信链路;
屏幕影像数据转换单元,用于在投射端使用Web-based OS提供的屏幕访问接口访问屏幕影像,将屏幕影像实时转换为屏幕影像数据,并通过所述点对点通信链路发送所述屏幕影像数据;
屏幕影像数据播放单元,用于在播放端接收所述屏幕影像数据,并使用Web-based OS提供的影像播放控件将屏幕影像数据绘制在屏幕上。
21.根据权利要求20所述的基于Web-based OS运行环境的屏幕影像传输播放装置,其特征在于,所述基于Web-based OS运行环境的屏幕影像传输播放装置还包括注册初始化单元,该注册初始化单元包括:
连接服务器子单元,用于投射端以及播放端内置Web-based OS原始运行环境与Web服务器之间建立连接;
注册初始化子单元,用于投射端以及播放端通过各自内置Web-based OS原始运行环境通过url访问一Web服务器,从该Web服务器载入投射端以及播放端各自注册初始化所需逻辑代码,并执行该注册初始化相关的代码。
22.根据权利要求20所述的基于Web-based OS运行环境的屏幕影像传输播放装置,其特征在于,还包括:
屏幕分辨率选择单元,用于播放端内置Web-based OS运行环境选择下述分辨率之一播放所述屏幕影像数据:
播放端屏幕分辨率,或者发送端屏幕分辨率,或者自定义的屏幕分辨率。
CN201310741237.0A 2013-12-27 2013-12-27 基于Web-based OS运行环境的屏幕影像传输播放方法及装置 Active CN104753989B (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201310741237.0A CN104753989B (zh) 2013-12-27 2013-12-27 基于Web-based OS运行环境的屏幕影像传输播放方法及装置
TW103110279A TWI627858B (zh) 2013-12-27 2014-03-19 Screen image transmission and playing method and device based on network-based operating system operating environment
PCT/US2014/072360 WO2015100417A1 (en) 2013-12-27 2014-12-24 Transmitting and displaying screen content
JP2016532120A JP6966675B2 (ja) 2013-12-27 2014-12-24 スクリーンコンテンツの伝送及びディスプレイ
US14/582,544 US10498801B2 (en) 2013-12-27 2014-12-24 Transmitting and displaying screen content
EP14873649.9A EP3087502B1 (en) 2013-12-27 2014-12-24 Transmitting and displaying screen content
KR1020167016433A KR20160102419A (ko) 2013-12-27 2014-12-24 화면 콘텐츠 전송 및 디스플레이
HK15108317.2A HK1207761A1 (zh) 2013-12-27 2015-08-27 基於 運行環境的屏幕影像傳輸播放方法及裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310741237.0A CN104753989B (zh) 2013-12-27 2013-12-27 基于Web-based OS运行环境的屏幕影像传输播放方法及装置

Publications (2)

Publication Number Publication Date
CN104753989A true CN104753989A (zh) 2015-07-01
CN104753989B CN104753989B (zh) 2018-09-14

Family

ID=53479703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310741237.0A Active CN104753989B (zh) 2013-12-27 2013-12-27 基于Web-based OS运行环境的屏幕影像传输播放方法及装置

Country Status (8)

Country Link
US (1) US10498801B2 (zh)
EP (1) EP3087502B1 (zh)
JP (1) JP6966675B2 (zh)
KR (1) KR20160102419A (zh)
CN (1) CN104753989B (zh)
HK (1) HK1207761A1 (zh)
TW (1) TWI627858B (zh)
WO (1) WO2015100417A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107016289A (zh) * 2017-02-15 2017-08-04 中国科学院信息工程研究所 基于Web操作系统的移动瘦终端安全模型建立方法及装置
CN112328941A (zh) * 2020-11-19 2021-02-05 Oppo广东移动通信有限公司 基于浏览器的应用投屏方法及相关装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106131145B (zh) * 2016-06-29 2019-04-19 成都中科创达软件有限公司 一种移动终端的投影方法
US10642474B2 (en) * 2016-09-28 2020-05-05 Salesforce.Com, Inc. Processing keyboard input to cause movement of items in a user interface of a web browser-based application
US10572031B2 (en) * 2016-09-28 2020-02-25 Salesforce.Com, Inc. Processing keyboard input to cause re-sizing of items in a user interface of a web browser-based application
KR20180076720A (ko) 2016-12-28 2018-07-06 주식회사 케이티 동영상 전송 장치 및 동영상 재생 장치
WO2021213097A1 (zh) 2020-04-24 2021-10-28 海信视像科技股份有限公司 一种显示设备及投屏方法
CN113556590B (zh) * 2020-04-24 2022-11-11 海信视像科技股份有限公司 一种投屏视频流有效分辨率检测方法及显示设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325144A (zh) * 2011-09-29 2012-01-18 Tcl集团股份有限公司 一种媒体设备间互联互通的方法、系统及多媒体设备
US8364130B2 (en) * 2010-05-12 2013-01-29 Sony Mobile Communications Ab Establishing sessions between devices in a network
US20130229424A1 (en) * 2001-06-07 2013-09-05 Seiko Epson Corporation Method and apparatus for wireless image transmission to a projector
US20130328997A1 (en) * 2012-06-08 2013-12-12 Samsung Electronics Co., Ltd Multiple channel communication using multiple cameras

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020023265A1 (en) * 2000-08-08 2002-02-21 Metcalf Darrell J. Wireless controller with publicly-accessible communications link for controlling the content seen on large-screen systems
AU2001284799A1 (en) 2000-08-10 2002-02-25 Mike Fullerton Method for screen image sharing
US7599989B2 (en) * 2005-01-24 2009-10-06 Microsoft Corporation System and method for gathering and reporting screen resolutions of attendees of a collaboration session
US7933955B2 (en) * 2006-07-11 2011-04-26 Igor Khalatian One-click universal screen sharing
JP2009116630A (ja) 2007-11-07 2009-05-28 Sony Corp ウェブ画面の共有システム、その共有用端末機およびその共有プログラム
US8175639B2 (en) 2007-11-26 2012-05-08 Nasrin Chaparian Amirmokri NanoPC mobile personal computing and communication device
JP5262359B2 (ja) 2008-07-02 2013-08-14 パナソニック株式会社 自動販売機の内扉ロック装置
JP5305894B2 (ja) 2008-12-26 2013-10-02 株式会社東芝 画面共有システム、設定変更方法、クライアント装置、およびプログラム
JP5197351B2 (ja) * 2008-12-26 2013-05-15 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
US9733886B2 (en) 2009-11-24 2017-08-15 Clearslide, Inc. Method and system for browser-based screen sharing
US8527549B2 (en) * 2010-02-22 2013-09-03 Sookasa Inc. Cloud based operating and virtual file system
US8342696B2 (en) * 2010-03-26 2013-01-01 Seiko Epson Corporation System and method for displaying remote content through multiple projectors
US9143570B2 (en) 2010-05-04 2015-09-22 Microsoft Technology Licensing, Llc Desktop screen sharing over HTTP
US8941673B2 (en) 2011-11-08 2015-01-27 Red Hat, Inc. Rendering images in a remote web browser
US9268517B2 (en) 2011-12-07 2016-02-23 Adobe Systems Incorporated Methods and systems for establishing, hosting and managing a screen sharing session involving a virtual environment
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
US8881170B2 (en) 2012-04-30 2014-11-04 Genesys Telecommunications Laboratories, Inc Method for simulating screen sharing for multiple applications running concurrently on a mobile platform
US9705729B2 (en) * 2012-06-01 2017-07-11 Dell Products L.P. General client engine with load balancing for client-server communication
US20130332857A1 (en) * 2012-06-08 2013-12-12 Samsung Electronics Co., Ltd. Photo edit history shared across users in cloud system
US20140053182A1 (en) * 2012-08-20 2014-02-20 Veiko Jääger Method and system for evaluating and sharing media
US9113033B2 (en) * 2012-08-28 2015-08-18 Microsoft Technology Licensing, Llc Mobile video conferencing with digital annotation
KR101422808B1 (ko) * 2012-09-21 2014-08-14 주식회사 팬택 드로잉 화면 공유 서비스의 제공 장치 및 방법과 이를 위한 휴대 단말
KR102220267B1 (ko) * 2013-07-11 2021-02-25 삼성전자주식회사 전자문서를 공유하는 방법 및 이를 위한 장치들
US9369491B2 (en) * 2014-11-10 2016-06-14 Cisco Technology, Inc. Inspection of data channels and recording of media streams

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130229424A1 (en) * 2001-06-07 2013-09-05 Seiko Epson Corporation Method and apparatus for wireless image transmission to a projector
US8364130B2 (en) * 2010-05-12 2013-01-29 Sony Mobile Communications Ab Establishing sessions between devices in a network
CN102325144A (zh) * 2011-09-29 2012-01-18 Tcl集团股份有限公司 一种媒体设备间互联互通的方法、系统及多媒体设备
US20130328997A1 (en) * 2012-06-08 2013-12-12 Samsung Electronics Co., Ltd Multiple channel communication using multiple cameras

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107016289A (zh) * 2017-02-15 2017-08-04 中国科学院信息工程研究所 基于Web操作系统的移动瘦终端安全模型建立方法及装置
CN112328941A (zh) * 2020-11-19 2021-02-05 Oppo广东移动通信有限公司 基于浏览器的应用投屏方法及相关装置

Also Published As

Publication number Publication date
JP2017511511A (ja) 2017-04-20
US10498801B2 (en) 2019-12-03
CN104753989B (zh) 2018-09-14
EP3087502A1 (en) 2016-11-02
HK1207761A1 (zh) 2016-02-05
TW201526620A (zh) 2015-07-01
JP6966675B2 (ja) 2021-11-17
KR20160102419A (ko) 2016-08-30
EP3087502B1 (en) 2018-12-19
US20150188998A1 (en) 2015-07-02
WO2015100417A1 (en) 2015-07-02
TWI627858B (zh) 2018-06-21
EP3087502A4 (en) 2017-09-06

Similar Documents

Publication Publication Date Title
CN104753989A (zh) 基于Web-based OS运行环境的屏幕影像传输播放方法及装置
JP6700344B2 (ja) 情報交換方法、装置、オーディオ端末、コンピュータ可読記憶媒体及びプログラム
US10116505B2 (en) Device control method for registering device information of peripheral device, and device and system thereof
CN104298591B (zh) 一种WebApp远程调试方法及系统
JP6093482B2 (ja) 携帯端末で検索結果を表示する方法及び装置
CN104918105B (zh) 媒体文件的多屏播放方法、设备及系统
CN104602098A (zh) 一种视频弹幕显示方法及其设备
CN103702238A (zh) 一种多屏视频共享方法及终端、服务器
JP2008543240A (ja) モバイル端末を制御するためのソフトウェアモジュールを送信するためのネットワーク機器
CN111309279A (zh) 多屏互动显示方法及装置
US20170171496A1 (en) Method and Electronic Device for Screen Projection
CN104581785A (zh) 无线网络测试方法、测试装置和移动终端
WO2015176648A1 (zh) 将智能终端上的数据传输至电视终端的方法、装置
CN109379742A (zh) 一种无线局域网的接入方法、装置和存储介质
CN105323628A (zh) 基于dlna跨屏播放的方法及系统、浏览器端装置和播放装置
KR101385582B1 (ko) 홈 네트워크의 단말에 대한 원격 접속 제공 장치 및 방법
CN112788384A (zh) 无线数字电视投屏方法、装置、计算机设备及存储介质
CN110752999B (zh) 屏幕广播方法、装置、系统、电子设备以及存储介质
US10097375B2 (en) Electronic device and transmission method thereof
CN102761780A (zh) 智能遥控器获取媒体元数据的方法
CN115883572A (zh) 外设共享方法及装置
CN104065992A (zh) 一种基于html的多屏机顶盒遥控器系统和工作方法
CN104869133A (zh) 一种数据记录的方法、系统以及接入服务器
CN114786047B (zh) 多屏互动的实现方法及装置、存储介质及电子设备
KR20120064882A (ko) 미디어 렌더러를 위한 범용 플러그 앤 플레이 네트워크 기반의 컴퓨팅 공유 시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1207761

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201113

Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China

Patentee after: Zebra smart travel network (Hong Kong) Limited

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right