CN103414751B - A kind of PC screen content sharing/interaction control method - Google Patents
A kind of PC screen content sharing/interaction control method Download PDFInfo
- Publication number
- CN103414751B CN103414751B CN201310297489.9A CN201310297489A CN103414751B CN 103414751 B CN103414751 B CN 103414751B CN 201310297489 A CN201310297489 A CN 201310297489A CN 103414751 B CN103414751 B CN 103414751B
- Authority
- CN
- China
- Prior art keywords
- screen
- screen content
- remote
- content sharing
- user
- 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.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种PC屏幕内容分享互动控制方法技术领域,更具体地,涉及现有PC屏幕内容分享的方法的改进。一种PC屏幕内容分享互动控制方法,包括以下步骤,S1.远程PC主机指定需要进行内容分享的窗口,S2.获取共享内存数据缓冲区中的屏幕RGB数据,S3.利用软件编码器将YUV420格式数据编码压缩成为H.264视频流;S4.将编码压缩好的屏幕内容视频流通过RTMP协议上传到流媒体服务器S5.用户通过浏览器登录到发布远程PC主机媒体流的网页客户端地址S6.通过TCP协议向远程PC主机传输控制信息;S7.远程PC主机解析接收到的用户端的控制信息呈现在PC屏幕上;S8.将屏幕响应的效果呈现在用户登录的网页客户端。使得用户可以直接通过网页浏览器浏览主机的屏幕内容。自定远程交互控制协议,实现一个轻量级的用于PC屏幕内容分享互动。
The present invention relates to the technical field of a PC screen content sharing interactive control method, and more particularly, relates to the improvement of the existing PC screen content sharing method. A PC screen content sharing interactive control method, comprising the following steps, S1. The remote PC host designates a window for content sharing, S2. obtains the screen RGB data in the shared memory data buffer, and S3. utilizes a software encoder to convert the YUV420 format The data is coded and compressed to become an H.264 video stream; S4. Upload the encoded and compressed screen content video stream to the streaming media server S5 through the RTMP protocol. The user logs in to the webpage client address S6 that publishes the media stream of the remote PC host through the browser. The control information is transmitted to the remote PC host through the TCP protocol; S7. The remote PC host analyzes the received control information of the client and presents it on the PC screen; S8. Presents the effect of the screen response on the webpage client logged in by the user. This enables the user to directly browse the screen content of the host through the web browser. Customize the remote interactive control protocol to realize a lightweight PC screen content sharing interaction.
Description
技术领域technical field
本发明涉及一种PC屏幕内容分享互动控制方法技术领域,更具体地,涉及现有PC屏幕内容分享的方法的改进。The present invention relates to the technical field of a PC screen content sharing interactive control method, and more particularly, relates to the improvement of the existing PC screen content sharing method.
背景技术Background technique
互联网技术已经日益成熟,为了满足当前互联网多用户之间的屏幕内容分享、内容展示、互动交流的需求,轻型的屏幕内容分享系统将会很好地在普通用户之间普及多媒体互动应用。Internet technology has become increasingly mature. In order to meet the current needs of screen content sharing, content display, and interactive communication among multiple Internet users, a lightweight screen content sharing system will well popularize multimedia interactive applications among ordinary users.
多媒体教学系统通常采用特定的服务端和客户端构建,在实施多媒体教学的时候需要首先在所有的客户PC机上安装对应的客户端软件,操作性和适用性较差。而且大多数多媒体教学系统缺乏互动,有时候仅仅是在屏幕上单向接受老师的授课,对于某些需要操作性的课程教学没有起到很好的作用。因此,从快速部署教学系统,低成本实现简单的教学互动,设计一种轻型的基于PC屏幕分享互动的教学平台是具有实用意义的。The multimedia teaching system is usually built with a specific server and client. When implementing multimedia teaching, it is necessary to install the corresponding client software on all client PCs first, which has poor operability and applicability. Moreover, most multimedia teaching systems lack interaction, and sometimes they only accept the teacher's lectures one-way on the screen, which does not play a very good role in the teaching of some courses that require operability. Therefore, it is of practical significance to design a light-weight teaching platform based on PC screen sharing and interaction from the perspective of rapid deployment of the teaching system and low-cost realization of simple teaching interaction.
当前视频会议系统通常采用SIP协议负责会话管理,媒体流使用RTP协议进行传输,系统需要安装独立的系统和客户端,与直接在浏览器上操作相比,操作复杂,适用性比较差。另外SIP协议比较复杂,简单的应用并不需要复杂的协议,而且不方便针对特定业务的扩展。此外,针对轻量化应用的需求,自定简单的互动控制协议更具有实用性。The current video conferencing system usually uses the SIP protocol for session management, and the media stream is transmitted using the RTP protocol. The system needs to install an independent system and client. Compared with operating directly on the browser, the operation is complicated and the applicability is relatively poor. In addition, the SIP protocol is relatively complex, and simple applications do not require complex protocols, and it is inconvenient to expand for specific services. In addition, for the needs of lightweight applications, it is more practical to customize a simple interactive control protocol.
发明内容Contents of the invention
本发明为克服上述现有技术所述的至少一种缺陷,提供一种PC屏幕内容分享互动控制方法,其使用视频编码压缩技术将屏幕内容(RGB图片数据)编码成H.264,将其打包成FLV格式上传至开源的流媒体服务器,使其具有普遍性,可适用于普通的PC,成本消耗低,资源开销较小。并使用一种通用的流媒体传输协议RTMP在流媒体服务器上将编码成视频流的屏幕内容在互联网上下发到各个用户,使得用户可以直接通过网页浏览器浏览主机的屏幕内容。自定远程交互控制协议,实现一个轻量级的用于PC屏幕内容分享互动的系统。多用户之间可以利用这个轻量级系统在互联网上开展视频会议展示主机电脑屏幕内容,并可以适用于在互动教育场景中供用户实现交互直观的学习。In order to overcome at least one of the defects described in the above-mentioned prior art, the present invention provides a PC screen content sharing interactive control method, which uses video encoding and compression technology to encode the screen content (RGB image data) into H.264, and packs it It is uploaded to an open source streaming media server in FLV format, making it universal and applicable to ordinary PCs, with low cost and resource overhead. And use a common streaming media transmission protocol RTMP to send the screen content encoded into video stream on the streaming media server to each user on the Internet, so that the user can directly browse the screen content of the host computer through the web browser. Customize the remote interactive control protocol to realize a lightweight system for sharing and interacting with PC screen content. Multiple users can use this lightweight system to carry out video conferences on the Internet to display the contents of the computer screen of the host computer, and can be used in interactive education scenarios for users to realize interactive and intuitive learning.
为解决上述技术问题,本发明采用的技术方案是:一种PC屏幕内容分享互动控制方法,包括以下步骤,其中步骤S1至S4是PC屏幕的内容分享步骤,步骤S5至S8是PC屏幕互动控制步骤。In order to solve the above-mentioned technical problems, the technical solution adopted by the present invention is: a PC screen content sharing interactive control method, including the following steps, wherein steps S1 to S4 are the content sharing steps of the PC screen, and steps S5 to S8 are the PC screen interactive control step.
S1. 远程PC主机指定需要进行内容分享的窗口,如PPT窗口的名字、图片窗口的名字,截屏程序将截取指定窗口内容,获得的屏幕数据以RGB格式数据存储在共享内存数据缓冲区中;S1. The remote PC host specifies the window that needs to be shared, such as the name of the PPT window and the name of the picture window. The screen capture program will intercept the content of the specified window, and the obtained screen data will be stored in the shared memory data buffer in RGB format;
S2. 获取共享内存数据缓冲区中的屏幕RGB数据,将其转换为YUV420数据,压缩数据量,以适应视频编码和实时传输的需求;S2. Get the screen RGB data in the shared memory data buffer, convert it to YUV420 data, and compress the data volume to meet the needs of video encoding and real-time transmission;
S3. 利用软件编码器将YUV420格式数据编码压缩成为H.264视频流;S3. Utilize a software encoder to encode and compress YUV420 format data into an H.264 video stream;
S4. 将编码压缩好的屏幕内容视频流通过RTMP协议上传到流媒体服务器,流媒体服务器发布到网络上,按用户请求以RTMP协议下发媒体流;S4. Upload the encoded and compressed screen content video stream to the streaming media server through the RTMP protocol, and the streaming media server publishes it to the network, and sends the media stream with the RTMP protocol according to the user's request;
S5. 用户通过浏览器登录到发布远程PC主机媒体流的网页客户端地址,网页客户端捕获用户端的鼠标或键盘操作动作;S5. The user logs in to the address of the webpage client publishing the media stream of the remote PC host through the browser, and the webpage client captures the mouse or keyboard operation actions of the user end;
S6. 按照自订远程控制协议,通过TCP协议向远程PC主机传输控制信息;S6. According to the self-defined remote control protocol, transmit the control information to the remote PC host through the TCP protocol;
S7. 远程PC主机解析接收到的用户端的控制信息,进行相应的控制操作,呈现在PC屏幕上;S7. The remote PC host analyzes the received control information of the client, performs corresponding control operations, and presents them on the PC screen;
S8. 将屏幕响应的效果呈现在用户登录的网页客户端。S8. Present the effect of the screen response on the webpage client logged in by the user.
进一步的,所述的步骤S1中,获取指定windows窗口的名字后,调用windows系统的API对其指定的windows窗口进行截屏,自动按照获取的实际窗口的长宽参数进行截取。Further, in the step S1, after the name of the specified windows window is obtained, the API of the windows system is called to take a screenshot of the specified windows window, and the screenshot is automatically performed according to the acquired length and width parameters of the actual window.
进一步的,所述的步骤S3中,要保证码率不能消耗过多的带宽,使其能在较差的网络环境也能顺利浏览到主机的屏幕内容,将截屏帧率和输出帧率都限定为10帧,使得在流畅与低消耗之间取得折中。Further, in the step S3, it is necessary to ensure that the code rate cannot consume too much bandwidth, so that it can smoothly browse the screen content of the host computer even in a poor network environment, and both the screen capture frame rate and the output frame rate are limited. It is 10 frames, which makes a compromise between smoothness and low consumption.
进一步的,所述的步骤S4中,根据RTMP协议需要将压缩好的视频流内容封装为FLV,然后通过RTMP协议以媒体流的形式上传到RTMP服务器上。Further, in the step S4, according to the RTMP protocol, the compressed video stream content needs to be encapsulated into FLV, and then uploaded to the RTMP server in the form of a media stream through the RTMP protocol.
所述步骤S5中,网页客户端调用了用户浏览器的Flash插件实现解码播放,无需安装特定的客户端软件,只需要使用网页浏览器登录到网页客户端地址,即可浏览到远程PC主机屏幕内容的分享。In the step S5, the webpage client calls the Flash plug-in of the user's browser to realize decoding and playback, without installing specific client software, only need to use the web browser to log in to the webpage client address, you can browse to the remote PC host screen content sharing.
总体来说,所述步骤S1和步骤S2、S3、S4,分属两个异步线程,这两个异步线程并行工作,提高程序效率。同时整个处理流程采取的处理策略为截取一张图片立即编码一帧视频然后立刻上传到流媒体服务器。Generally speaking, the step S1 and the steps S2, S3, and S4 belong to two asynchronous threads, and the two asynchronous threads work in parallel to improve program efficiency. At the same time, the processing strategy adopted in the whole processing flow is to capture a picture and immediately encode a frame of video and then upload it to the streaming media server immediately.
进一步的,所述的步骤S5、S6中,用户是通过网页客户端实现对远程PC主机屏幕的控制的,网页客户端使用ActionScript的接口捕获针对网页客户端的鼠标动作或者键盘动作,并将鼠标操作时在网页客户端中的相对坐标记录下来,通过自定协议将其坐标和动作信息传送到远程PC主机中去;或者捕获针对网页客户端的键盘动作,同样通过自订协议将其传输到远程PC主机中去。Further, in the described steps S5 and S6, the user realizes the control of the remote PC host screen through the web client, and the web client uses the interface of ActionScript to capture the mouse action or keyboard action for the web client, and the mouse operation Record the relative coordinates in the web client at any time, and transmit its coordinates and action information to the remote PC host through a custom protocol; or capture the keyboard action for the web client, and transmit it to the remote PC through a custom protocol host.
所述的步骤S7中,远程PC主机接收到用户端的控制信息后,通过Windows系统的API实现对应的操作,将响应的操作效果呈现在远程PC主机屏幕显示上,用户就可以实现远程交互控制的效果。如屏幕展示的是一个PPT内容,用户可以通过鼠标点击实现远程翻页的操作、通过键盘操作实现远程修改PPT内容。In the step S7, after the remote PC host receives the control information from the client, the corresponding operation is realized through the API of the Windows system, and the corresponding operation effect is presented on the screen display of the remote PC host, and the user can realize remote interactive control. Effect. For example, if the screen displays a PPT content, the user can realize the remote page turning operation by clicking the mouse, and remotely modify the PPT content by keyboard operation.
与现有技术相比,有益效果是:Compared with the prior art, the beneficial effect is:
1、使用截取PC屏幕的方式,通过图像压缩编码成H.264视频流的方式将截屏获得的图像数据转为H.264视频流上传到服务器中,然后发布到网络上供用户远程浏览主机屏幕内容。采用固定帧率的截屏和编码输出,就很好地保证了实时性、流畅性和画面连续性,使得用户体验良好。1. Using the method of intercepting the PC screen, the image data obtained by the screen capture is converted into an H.264 video stream by means of image compression and encoding into an H.264 video stream and uploaded to the server, and then published to the network for users to remotely browse the host screen content. The use of fixed frame rate screen capture and encoding output ensures real-time performance, fluency and picture continuity, making the user experience good.
2、使用开源的RTMP服务器,资源消耗低,安装设置方便。不采用如SIP协议比较复杂的通用视频会议系统常用协议进行屏幕内容分享展示,而是采用RTMP协议传输屏幕视频流,使得客户端无需安装任何软件,只需要通过浏览器浏览屏幕内容发布的URL,就能实现远程浏览屏幕分享内容。使用简单的RTMP传输协议是针对比较轻便简单的系统应用,使得无需在小系统上使用复杂协议带来的资源不必要消耗,能最有效地利用少量资源实现简单的效果。2. Use open source RTMP server, low resource consumption, easy installation and setting. Instead of using the commonly used protocols of common video conferencing systems such as the SIP protocol to share and display screen content, the RTMP protocol is used to transmit screen video streams, so that the client does not need to install any software, and only needs to browse the URL published by the screen content through the browser. You can remotely browse the screen sharing content. The simple RTMP transmission protocol is aimed at relatively light and simple system applications, so that there is no need to consume unnecessary resources caused by using complex protocols on small systems, and it can most effectively use a small amount of resources to achieve simple effects.
3、依赖高效的压缩编码算法,整个处理流程采取的处理策略为截取一张图片立即编码一帧视频然后立刻上传到流媒体服务器,简化了系统的实现,无需使用复杂的内存缓冲机制,节省了内存资源。3. Relying on efficient compression and encoding algorithms, the processing strategy adopted in the entire processing process is to capture a picture and immediately encode a frame of video and then upload it to the streaming media server immediately, which simplifies the implementation of the system and does not need to use a complicated memory buffer mechanism, saving memory resources.
4、不使用复杂的微软远程桌面控制协议实现交互操作,自订简单协议,只需客户端捕获鼠标和键盘的事件,将其通过TCP发送到PC主机,在远程主机上实现响应,并将响应效果通过屏幕内容截屏视频流反馈到网页客户端,实现了简单的远程桌面控制效果。而且由于不涉及复杂的控制协议,易于针对具体的使用场景进行扩展。4. Do not use the complicated Microsoft remote desktop control protocol to realize interactive operation, customize a simple protocol, only need the client to capture mouse and keyboard events, send them to the PC host through TCP, realize the response on the remote host, and send the response The effect is fed back to the web client through the screenshot video stream of the screen content, realizing the simple remote desktop control effect. And because it does not involve complex control protocols, it is easy to expand for specific usage scenarios.
附图说明Description of drawings
图1是本发明系统架构示意图。FIG. 1 is a schematic diagram of the system architecture of the present invention.
图2是本发明的PC屏幕的内容分享步骤流程示意图;Fig. 2 is a schematic flow chart of the content sharing steps of the PC screen of the present invention;
图3是本发明的PC屏幕互动控制步骤流程示意图;Fig. 3 is a schematic flow chart of the PC screen interactive control steps of the present invention;
图4是本发明的远程PC主机端流程示意图;Fig. 4 is a schematic diagram of the remote PC host end flow chart of the present invention;
图5是本发明的网页客户端流程示意图;Fig. 5 is a schematic flow chart of the webpage client of the present invention;
图6是本发明的用户角度系统架构示意图。FIG. 6 is a schematic diagram of the system architecture of the user perspective of the present invention.
具体实施方式detailed description
附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。The accompanying drawings are for illustrative purposes only, and should not be construed as limitations on this patent; in order to better illustrate this embodiment, certain components in the accompanying drawings will be omitted, enlarged or reduced, and do not represent the size of the actual product; for those skilled in the art It is understandable that some well-known structures and descriptions thereof may be omitted in the drawings.
如图1、2、3所示,一种PC屏幕内容分享互动控制方法,包括以下步骤,其中步骤S1至S4是PC屏幕的内容分享步骤,步骤S5至S8是PC屏幕互动控制步骤。As shown in Figures 1, 2, and 3, a PC screen content sharing interactive control method includes the following steps, wherein steps S1 to S4 are steps for sharing content on a PC screen, and steps S5 to S8 are steps for PC screen interaction control.
S1. 远程PC主机指定需要进行内容分享的窗口,如PPT窗口的名字、图片窗口的名字,截屏程序将截取指定窗口内容,获得的屏幕数据以RGB格式数据存储在共享内存数据缓冲区中;S1. The remote PC host specifies the window that needs to be shared, such as the name of the PPT window and the name of the picture window. The screen capture program will intercept the content of the specified window, and the obtained screen data will be stored in the shared memory data buffer in RGB format;
S2. 获取共享内存数据缓冲区中的屏幕RGB数据,将其转换为YUV420数据,压缩数据量,以适应视频编码和实时传输的需求;S2. Get the screen RGB data in the shared memory data buffer, convert it to YUV420 data, and compress the data volume to meet the needs of video encoding and real-time transmission;
S3. 利用软件编码器将YUV420格式数据编码压缩成为H.264视频流;S3. Utilize a software encoder to encode and compress YUV420 format data into an H.264 video stream;
S4. 将编码压缩好的屏幕内容视频流通过RTMP协议上传到流媒体服务器,流媒体服务器发布到网络上,按用户请求以RTMP协议下发媒体流;S4. Upload the encoded and compressed screen content video stream to the streaming media server through the RTMP protocol, and the streaming media server publishes it to the network, and sends the media stream with the RTMP protocol according to the user's request;
S5. 用户通过浏览器登录到发布远程PC主机媒体流的网页客户端地址,网页客户端捕获用户端的鼠标或键盘操作动作;S5. The user logs in to the address of the webpage client publishing the media stream of the remote PC host through the browser, and the webpage client captures the mouse or keyboard operation actions of the user end;
S6. 按照自订远程控制协议,通过TCP协议向远程PC主机传输控制信息;S6. According to the self-defined remote control protocol, transmit the control information to the remote PC host through the TCP protocol;
S7. 远程PC主机解析接收到的用户端的控制信息,进行相应的控制操作,呈现在PC屏幕上;S7. The remote PC host analyzes the received control information of the client, performs corresponding control operations, and presents them on the PC screen;
S8. 将屏幕响应的效果呈现在用户登录的网页客户端。S8. Present the effect of the screen response on the webpage client logged in by the user.
进一步的,所述的步骤S1中,获取指定windows窗口的名字后,调用windows系统的API对其指定的windows窗口进行截屏,自动按照获取的实际窗口的长宽参数进行截取。Further, in the step S1, after the name of the specified windows window is obtained, the API of the windows system is called to take a screenshot of the specified windows window, and the screenshot is automatically performed according to the acquired length and width parameters of the actual window.
进一步的,所述的步骤S3中,要保证码率不能消耗过多的带宽,使其能在较差的网络环境也能顺利浏览到主机的屏幕内容,将截屏帧率和输出帧率都限定为10帧,使得在流畅与低消耗之间取得折中。Further, in the step S3, it is necessary to ensure that the code rate cannot consume too much bandwidth, so that it can smoothly browse the screen content of the host computer even in a poor network environment, and both the screen capture frame rate and the output frame rate are limited. It is 10 frames, which makes a compromise between smoothness and low consumption.
进一步的,所述的步骤S4中,根据RTMP协议需要将压缩好的视频流内容封装为FLV,然后通过RTMP协议以媒体流的形式上传到RTMP服务器上。Further, in the step S4, according to the RTMP protocol, the compressed video stream content needs to be encapsulated into FLV, and then uploaded to the RTMP server in the form of a media stream through the RTMP protocol.
所述步骤S5中,网页客户端调用了用户浏览器的Flash插件实现解码播放,无需安装特定的客户端软件,只需要使用网页浏览器登录到网页客户端地址,即可浏览到远程PC主机屏幕内容的分享。In the step S5, the webpage client calls the Flash plug-in of the user's browser to realize decoding and playback, without installing specific client software, only need to use the web browser to log in to the webpage client address, you can browse to the remote PC host screen content sharing.
总体来说,所述步骤S1和步骤S2、S3、S4,分属两个异步线程,这两个异步线程并行工作,提高程序效率。同时整个处理流程采取的处理策略为截取一张图片立即编码一帧视频然后立刻上传到流媒体服务器。Generally speaking, the step S1 and the steps S2, S3, and S4 belong to two asynchronous threads, and the two asynchronous threads work in parallel to improve program efficiency. At the same time, the processing strategy adopted in the whole processing flow is to capture a picture and immediately encode a frame of video and then upload it to the streaming media server immediately.
进一步的,所述的步骤S5、S6中,用户是通过网页客户端实现对远程PC主机屏幕的控制的,网页客户端使用ActionScript的接口捕获针对网页客户端的鼠标动作或者键盘动作,并将鼠标操作时在网页客户端中的相对坐标记录下来,通过自定协议将其坐标和动作信息传送到远程PC主机中去;或者捕获针对网页客户端的键盘动作,同样通过自订协议将其传输到远程PC主机中去。Further, in the described steps S5 and S6, the user realizes the control of the remote PC host screen through the web client, and the web client uses the interface of ActionScript to capture the mouse action or keyboard action for the web client, and the mouse operation Record the relative coordinates in the web client at any time, and transmit its coordinates and action information to the remote PC host through a custom protocol; or capture the keyboard action for the web client, and transmit it to the remote PC through a custom protocol host.
所述的步骤S7中,远程PC主机接收到用户端的控制信息后,通过Windows系统的API实现对应的操作,将响应的操作效果呈现在远程PC主机屏幕显示上,用户就可以实现远程交互控制的效果。如屏幕展示的是一个PPT内容,用户可以通过鼠标点击实现远程翻页的操作、通过键盘操作实现远程修改PPT内容。In the step S7, after the remote PC host receives the control information from the client, the corresponding operation is realized through the API of the Windows system, and the corresponding operation effect is presented on the screen display of the remote PC host, and the user can realize remote interactive control. Effect. For example, if the screen displays a PPT content, the user can realize the remote page turning operation by clicking the mouse, and remotely modify the PPT content by keyboard operation.
如图4所示,为远程PC主机端流程示意图,其步骤如下:As shown in Figure 4, it is a schematic diagram of the process of the remote PC host terminal, and the steps are as follows:
a.远程PC主机指定需要进行内容分享的窗口,如PPT窗口的名字、图片窗口的名字;a. The remote PC host specifies the windows that need to share content, such as the name of the PPT window and the name of the picture window;
b.根据需求是否接受远程控制进行分支处理,若不需要则不开辟远程交互控制管理进程,执行以下操作;否则,开辟新的进程,并行于以下操作;b. According to whether to accept remote control for branch processing, if not necessary, do not open a remote interactive control management process, perform the following operations; otherwise, open a new process, parallel to the following operations;
线程一:截屏程序将截取指定分享窗口的内容,获得的屏幕数据以RGB格式数据存储在共享内存数据缓冲区中;Thread 1: The screen capture program will capture the content of the specified shared window, and the obtained screen data will be stored in the shared memory data buffer in RGB format;
c.线程二:将共享内存数据缓冲区中的屏幕RGB数据转换为YUV420数据,利用软件编码器将YUV420格式数据编码压缩成为H.264视频流;将编码压缩好的屏幕内容视频流数据通过RTMP协议上传到流媒体服务器,流媒体服务器发布到网络上,按用户请求以RTMP协议下发媒体流;c. Thread 2: Convert the screen RGB data in the shared memory data buffer to YUV420 data, use a software encoder to encode and compress the YUV420 format data into an H.264 video stream; upload the encoded and compressed screen content video stream data through the RTMP protocol To the streaming media server, the streaming media server publishes it to the network, and sends the media stream with RTMP protocol according to the user's request;
d.若需要新开辟远程交互控制进程,循环等待接收用户端的控制信息,然后进行解析,并在主机上响应。d. If it is necessary to open up a new remote interactive control process, it waits in a loop to receive the control information from the client, then parses it, and responds on the host.
如图5所示,为网页客户端流程示意图,其步骤如下:As shown in Figure 5, it is a schematic diagram of the flow of the web client, and the steps are as follows:
A.接受用户登录;A. Accept user login;
B.网页客户端向流媒体服务器请求远程PC屏幕的媒体流;B. The web client requests the media stream of the remote PC screen from the streaming server;
C.调用浏览器Flash插件解码播放视频流;C. Call the browser Flash plug-in to decode and play the video stream;
D.判断远程主机是否接受用户的交互控制,如果不接受则不执行以下操作,否则,执行下面操作;D. Determine whether the remote host accepts the user's interactive control, if not, do not perform the following operations, otherwise, perform the following operations;
E.捕获用户端的鼠标或键盘操作动作;E. Capture mouse or keyboard actions on the client side;
F.按照自订远程控制协议,通过TCP协议向远程PC主机传输控制信息。F. According to the custom remote control protocol, the control information is transmitted to the remote PC host through the TCP protocol.
如图6所示,综合远程PC主机端和网页客户端,从用户角度出发描述系统实施流程,其步骤如下:As shown in Figure 6, the system implementation process is described from the perspective of the user by integrating the remote PC host terminal and the webpage client, and the steps are as follows:
(1)主机指定分享内容窗口,程序执行截屏操作,并进行压缩编码成视频流上传到流媒体服务器,流媒体服务器发布该视频流在网络上;(1) The host specifies the content sharing window, and the program executes the screen capture operation, and compresses and encodes it into a video stream and uploads it to the streaming media server, and the streaming media server publishes the video stream on the network;
(2)用户获知远程主机发布的视频流对应的网页客户端URL,通过网页浏览器登录到网页客户端;(2) The user learns the URL of the web client corresponding to the video stream published by the remote host, and logs in to the web client through a web browser;
(3)网页客户端向流媒体服务器请求对应的视频流数据,并调用浏览器的Flash插件进行解码播放,将远程主机分享窗口内容呈现在用户屏幕上;(3) The web client requests the corresponding video stream data from the streaming media server, and calls the browser's Flash plug-in to decode and play, and presents the content of the remote host sharing window on the user's screen;
(4)若远程主机开放接收用户的远程交互控制,网页客户端则通过不断捕获用的鼠标和键盘动作,并根据自订的控制协议封装好通过TCP协议传输到远程主机;(4) If the remote host is open to receive the user's remote interactive control, the web client will continuously capture the mouse and keyboard actions, and encapsulate them according to the customized control protocol and transmit them to the remote host through the TCP protocol;
(5)远程主机接收到用户的控制信息,进行解析、响应,呈现在屏幕变化上,从而达到用户远程交互控制的效果。(5) The remote host receives the user's control information, analyzes and responds, and presents it on the screen changes, so as to achieve the effect of remote interactive control by the user.
相同或相似的标号对应相同或相似的部件;附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。The same or similar symbols correspond to the same or similar components; the positional relationship described in the drawings is only for illustrative purposes, and should not be construed as a limitation on this patent.
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,对发明的技术方案可以做若干适合实际情况的改进。因此,本发明的保护范围不限于此,本领域中的技术人员任何基于本发明技术方案上非实质性变更均包括在本发明保护范围之内。The above description is only the preferred embodiment of the present invention. It should be pointed out that for those skilled in the art, without departing from the principle of the present invention, some improvements suitable for the actual situation can be made to the technical solution of the invention. Therefore, the protection scope of the present invention is not limited thereto, and any insubstantial changes based on the technical solution of the present invention are included in the protection scope of the present invention.
Claims (7)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310297489.9A CN103414751B (en) | 2013-07-16 | 2013-07-16 | A kind of PC screen content sharing/interaction control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310297489.9A CN103414751B (en) | 2013-07-16 | 2013-07-16 | A kind of PC screen content sharing/interaction control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN103414751A CN103414751A (en) | 2013-11-27 |
| CN103414751B true CN103414751B (en) | 2016-08-17 |
Family
ID=49607737
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310297489.9A Active CN103414751B (en) | 2013-07-16 | 2013-07-16 | A kind of PC screen content sharing/interaction control method |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN103414751B (en) |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104834554A (en) * | 2014-04-02 | 2015-08-12 | 腾讯科技(北京)有限公司 | Information interaction method and device |
| TWI604375B (en) * | 2014-06-23 | 2017-11-01 | 緯創資通股份有限公司 | Methods for screen sharing and apparatuses using the same |
| CN104333789A (en) * | 2014-10-30 | 2015-02-04 | 向火平 | On-screen interacting system and control method thereof |
| CN105743949A (en) * | 2014-12-11 | 2016-07-06 | 厦门雅迅网络股份有限公司 | Method for realizing double-screen synchronization between two devices |
| CN104899039B (en) | 2015-06-12 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | For providing the method and apparatus of screenshotss service on the terminal device |
| CN104951270B (en) * | 2015-06-19 | 2018-01-26 | 北京大学深圳研究生院 | A display frame processing method and system in Android WifiDisplay |
| MY190923A (en) | 2015-07-27 | 2022-05-19 | Tencent Tech Shenzhen Co Ltd | Video sharing method and device, and video playing method and device |
| CN106412691B (en) * | 2015-07-27 | 2020-04-07 | 腾讯科技(深圳)有限公司 | Video image intercepting method and device |
| CN106412702B (en) * | 2015-07-27 | 2020-06-05 | 腾讯科技(深圳)有限公司 | Video clip intercepting method and device |
| CN105163128B (en) * | 2015-08-31 | 2018-04-13 | 华南理工大学 | A kind of screen picture acquisition methods for accelerating image to change parallel using GPU |
| US20170097922A1 (en) * | 2015-10-01 | 2017-04-06 | Sap Se | Optimizing software application user interface performance using interactive images |
| EP3519950B1 (en) | 2017-01-17 | 2020-11-04 | Google LLC | Assistive screenshots |
| CN107070671A (en) * | 2017-04-08 | 2017-08-18 | 广东公信智能会议股份有限公司 | The processing method of share desktop in conference system |
| CN107592576A (en) * | 2017-09-15 | 2018-01-16 | 威创集团股份有限公司 | A kind of video sharing method, system, share end and be shared end |
| CN107920220A (en) * | 2017-11-28 | 2018-04-17 | 甜新科技(上海)有限公司 | A kind of online real-time interactive evidence collecting method |
| CN108829531A (en) * | 2018-06-29 | 2018-11-16 | 王帅涵 | A kind of browser plug-in |
| CN109104635A (en) * | 2018-08-31 | 2018-12-28 | 四川长虹电器股份有限公司 | The method and system of instant delivery screen picture |
| CN111049868B (en) * | 2018-10-15 | 2020-08-25 | 北京仁光科技有限公司 | Data interaction system and data interaction method |
| CN110928506B (en) * | 2018-10-15 | 2020-06-23 | 北京仁光科技有限公司 | Data interaction system and data interaction method |
| CN109168031B (en) * | 2018-11-06 | 2021-12-24 | 杭州云毅网络科技有限公司 | Streaming media pushing method and device and streaming media platform |
| CN109327728B (en) * | 2018-11-23 | 2021-10-15 | 深圳市鹰硕技术有限公司 | One-to-many same-screen method, device and system, same-screen equipment and storage medium |
| CN110113631A (en) * | 2019-03-28 | 2019-08-09 | 视联动力信息技术股份有限公司 | A kind of video flowing sharing method and system |
| CN112020863A (en) * | 2019-03-29 | 2020-12-01 | 西安诺瓦星云科技股份有限公司 | Multi-terminal program playing method and system |
| CN110430467B (en) * | 2019-07-11 | 2021-08-24 | 创新先进技术有限公司 | Remote device access method and apparatus |
| CN110347952A (en) * | 2019-07-18 | 2019-10-18 | 武汉斗鱼网络科技有限公司 | A kind of method, apparatus and computer equipment for opening the direct broadcasting room page |
| CN115119048B (en) * | 2019-08-10 | 2024-02-23 | 荣耀终端有限公司 | Video stream processing method and electronic equipment |
| CN110856036A (en) * | 2019-11-11 | 2020-02-28 | 深圳市赛菲姆科技有限公司 | Remote desktop implementation method, interaction method, device, equipment and storage medium |
| CN111459437A (en) * | 2020-04-01 | 2020-07-28 | 杭州盈高科技有限公司 | Control method, controlled end, control end and system of remote screen |
| CN111736787B (en) * | 2020-06-24 | 2024-09-03 | 北京云族佳科技有限公司 | Screen sharing method and device, storage medium and electronic equipment |
| CN111866143A (en) * | 2020-07-22 | 2020-10-30 | 京东数字科技控股股份有限公司 | Remote data transmission method, device and monitoring system |
| CN112988025A (en) * | 2021-05-21 | 2021-06-18 | 全时云商务服务股份有限公司 | Cross-device sharing method, system and readable storage medium |
| CN116781771B (en) * | 2023-08-21 | 2023-11-17 | 南京粒聚智能科技有限公司 | Automatic screen capturing picture analysis method of station machine by using OCR technology |
| CN119544679A (en) * | 2024-11-27 | 2025-02-28 | 中国农业银行股份有限公司 | Screen sharing method and device |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102035834A (en) * | 2010-12-11 | 2011-04-27 | 常州达奇医疗科技有限公司 | Remote picture reading system for performing remote network operation of microscope |
| CN102272719A (en) * | 2008-12-30 | 2011-12-07 | 萨基姆通讯宽带公司 | System including a server and a terminal provided with graphical interfaces communicating via an image-sharing protocol |
| CN103152458A (en) * | 2011-12-07 | 2013-06-12 | 中国移动通信集团广东有限公司 | Test mobile phone, remote mobile phone test system, method and device of remote mobile phone test |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7962552B2 (en) * | 2005-11-14 | 2011-06-14 | Red Hat, Inc. | Borrow and give back of windows |
-
2013
- 2013-07-16 CN CN201310297489.9A patent/CN103414751B/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102272719A (en) * | 2008-12-30 | 2011-12-07 | 萨基姆通讯宽带公司 | System including a server and a terminal provided with graphical interfaces communicating via an image-sharing protocol |
| CN102035834A (en) * | 2010-12-11 | 2011-04-27 | 常州达奇医疗科技有限公司 | Remote picture reading system for performing remote network operation of microscope |
| CN103152458A (en) * | 2011-12-07 | 2013-06-12 | 中国移动通信集团广东有限公司 | Test mobile phone, remote mobile phone test system, method and device of remote mobile phone test |
Non-Patent Citations (1)
| Title |
|---|
| 基于流媒体的Android远程桌面的设计与实现;李超;《中国优秀硕士学位论文全文数据库信息科技辑》;20130215;全文 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN103414751A (en) | 2013-11-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103414751B (en) | A kind of PC screen content sharing/interaction control method | |
| CN102761603B (en) | Webpage flash video redirection method in VDI environment | |
| EP2789120B1 (en) | Collaboration system and method | |
| CN102883134B (en) | Screen sharing and controlling method for video conference system | |
| CN103414890B (en) | The implementation method of remote desktop and device | |
| CN102685079B (en) | Resource share method | |
| US9693080B2 (en) | Distribution control system, distribution control method, and computer-readable storage medium | |
| US20120287231A1 (en) | Media sharing during a video call | |
| CN110891084A (en) | Thin client remote desktop control system based on autonomous HVDP protocol | |
| CN103501310B (en) | The control method that a kind of computer desktop based on videophone is shared | |
| CN107370714A (en) | The high efficiency communication method that facing cloud renders | |
| CN106817354A (en) | A kind of video stream transmission method, equipment and system | |
| US9723337B2 (en) | Distribution control system and distribution system | |
| CN107613029A (en) | A kind of virtual desktop remote method and system suitable for mobile terminal or Web ends | |
| CN105577819A (en) | Sharing system, sharing method and sharing device for virtual desktop | |
| CN103458087A (en) | Remote mobile phone test experiencing method based on RTMP | |
| CN114339146B (en) | Audio and video monitoring method, device, electronic device, and computer-readable storage medium | |
| US20160044079A1 (en) | Distribution control system, distribution control method, and computer-readable storage medium | |
| CN115243074A (en) | Video stream processing method and device, storage medium, and electronic device | |
| CN107087138A (en) | A kind of video conferencing system based on H.265 video code model | |
| Xue et al. | A WebRTC-based video conferencing system with screen sharing | |
| CN103856809A (en) | Method, system and terminal equipment for multipoint at the same screen | |
| CN117676241A (en) | Digital factory large scene display method and system based on server three-dimensional rendering | |
| CN103581695B (en) | System and method for achieving access of mobile terminal to global eye | |
| CN101902471B (en) | Streaming media mapping method under RDP (Remote Desktop Protocol) environment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant |