CN102541555A - 一种使用api拦截方式实现远程桌面视频流畅播放的方法 - Google Patents
一种使用api拦截方式实现远程桌面视频流畅播放的方法 Download PDFInfo
- Publication number
- CN102541555A CN102541555A CN2011104463827A CN201110446382A CN102541555A CN 102541555 A CN102541555 A CN 102541555A CN 2011104463827 A CN2011104463827 A CN 2011104463827A CN 201110446382 A CN201110446382 A CN 201110446382A CN 102541555 A CN102541555 A CN 102541555A
- Authority
- CN
- China
- Prior art keywords
- data
- image
- module
- interception
- video
- 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.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种使用API拦截方式实现远程桌面视频流畅播放的方法,在服务器端拦截浏览器上Flash插件的画图事件,在服务器上程序准备向屏幕输出图像时,截取图像数据,在拦截到图像数据以及画图区域后,判断该区域是否为连续的图像区域。如果该区域为连续变化的视频区域,则通过视频数据压缩模块对数据进行压缩,然后将数据发送到客户端。客户端在接收到图像数据后,对数据进行解码,然后显示在远程桌面连接客户端的相应位置上,完成Flash图像数据的远程显示。本发明通过对系统画图API事件进行拦截,可以大大提高图像的压缩率,同时减少图像数据在网络传输上的延时,达到提升远程连接下视频播放效果的目的。
Description
【技术领域】
本发明涉及计算机及通信领域,具体是指一种使用API拦截方式实现远程桌面视频流畅播放的方法。
【背景技术】
远程桌面连接是一种将远程服务器上的图像在客户端本地显示,达到远程控制计算机的目的。远程桌面连接是云计算的重要组成部分。
目前的远程桌面连接方案包含两种解决方案。一种是类似微软的远程桌面连接的方案,通过对系统底层的GDI画图事件的转发,将原本在服务器本地的画图事件转发到客户端进行显示。另一种是屏幕截图的方式,它先在系统本地生成图像,然后对系统进行截屏,将图像发送到客户端进行显示。因为每种远程桌面协议使用的图像压缩都没有对特定的连续视频进行优化,因此在各种远程桌面连接协议方案中均存在对视频图像的压缩率不高,数据传送延时严重的问题。当用户在通过远程桌面连接观看服务器上视频时,由于每帧之间的延时较长,无法实现画面的流畅播放。
有鉴于此,本发明人针对现有技术画面播放不流畅的缺陷深入研究,并有本案产生。
【发明内容】
本发明所要解决的技术问题在于提供一种使用API拦截方式实现远程桌面视频流畅播放的方法,针对远程连接中视频播放不流畅的问题进行优化,专门针对连续的视频画面进行拦截可以在各种远程桌面连接的方案中使用。
本发明采用以下技术方案解决上述技术问题:
一种使用API拦截方式实现远程桌面视频流畅播放的方法,包括:
图像截取模块跟随IE浏览器一起启动,负责通过拦截IE浏览器上的画图事件;
窗口状态监控模块在后台监视并计算当前需要拦截的窗口的可视区域;
当图像截取模块达到视频播放条件时,图像截取模块此时拦截需要输出的图像,并获取当前窗口此时的可视区域数据,打包两组数据通过数据管道的方式发送到数据转发模块;
数据转发模块作为当前Session下的独立运行的程序,在需要时被图像截取模块启动,进入后台运行;
数据转发模块在启动后,通过认证模块向认证服务器申请授权,如果授权成功,进入正常功能;如果授权不成功,将不接受来自图像截取模块的数据,此时图像截取模块将退出拦截状态;
数据转发模块在收到由图像截取模块发送来的图像数据后,根据当前压缩率的设置调用图像压缩模块对图像进行压缩,然后将压缩后的数据放入数据发送模块;
数据发送模块在DataServer程序中作为一个独立的线程运行,负责将每个图像截取模块获取到的数据进行再次封装后,通过虚拟通道发送到客户端;
客户端的数据接收模块作为一个RDP插件存在,接收来自RDP虚拟通道的数据,并根据数据发送模块的打包格式进行拆分,并将数据转发给每个独立的数据处理线程;
客户端每个独立的数据处理线程在接收到数据后,通过调用数据解码模块对数据进行解码,然后将解码后的数据送到图像显示模块;
图像显示模块在收到图像数据后,将图像显示到RDP客户端的窗口上,完成一个完整的Flash图像发送过程。
进一步地,所述可视区域的判断标准为:当两帧间的画图间隔小于50毫秒,同时对图像区域内的数据进行小波变化,如果变化后的图像具有类似的图像特征,或者是原图特征值的偏移,则表示两帧之间的图像是连续图像;如果连续图像在规定时间内连续出现,表示该区域内的连续图像为视频图像,该区域为Flash视频区域。
本发明的优点在于:本发明通过对系统画图API事件进行拦截,判断画图区域是否为连续的画图区域,从而判断在该区域是否为视频区域,当判断到画图区域后,将拦截到得图像数据通过视频数据专用的压缩算法进行压缩,它可以大大提高图像的压缩率,同时减少图像数据在网络传输上的延时,达到提升远程连接下视频播放效果的目的。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是本发明工作流程示意图。
【具体实施方式】
一种使用API拦截方式实现远程桌面视频流畅播放的方法,如图1所示,为本发明工作流程示意图。
总体实现思想:在服务器端拦截浏览器上Flash插件的画图事件,在服务器上程序准备向屏幕输出图像时,截取图像数据,在拦截到图像数据以及画图区域后,判断该区域的画图大小以及该区域下图像数据与之前图像数据的差值,以及画图的时间差,从而判断该区域是否为连续的图像区域。如果该区域为连续变化的视频区域,则通过视频数据压缩算法对数据进行压缩,然后将数据发送到客户端。客户端在接收到图像数据后,对数据进行解码,然后显示在远程桌面连接客户端的相应位置上,完成Flash图像数据的远程显示。同时,在服务器上拦截到要显示的图像后,将不再执行画图事件,从而避免数据的2次发送浪费网络带宽。
具体实现步骤如下:
图像截取模块跟随IE浏览器一起启动,负责通过拦截IE浏览器上的画图事件;
窗口状态监控模块在后台监视并计算当前需要拦截的窗口的可视区域;
当图像截取模块达到视频播放条件时,图像截取模块此时拦截需要输出的图像,并获取当前窗口此时的可视区域数据,打包两组数据通过数据管道的方式发送到数据转发模块;
其中可视区域的判断标准为:当两帧间的画图间隔小于50毫秒(即每秒20帧的画图事件),同时对图像区域内的数据进行小波变化,如果变化后的图像具有类似的图像特征,或者是原图特征值的偏移,则表示两帧之间的图像是连续图像;如果连续图像在规定时间内连续出现(目前的判断时间为3秒,即连续出现60次连续图像),表示该区域内的连续图像为视频图像,该区域为Flash视频区域。
数据转发模块作为当前Session下的独立运行的程序,在需要时被图像截取模块启动,进入后台运行;
数据转发模块在启动后,通过认证模块向认证服务器申请授权,如果授权成功,进入正常功能;如果授权不成功,将不接受来自图像截取模块的数据,此时图像截取模块将退出拦截状态;
数据转发模块在收到由图像截取模块发送来的图像数据后,根据当前压缩率的设置调用图像压缩模块对图像进行压缩,然后将压缩后的数据放入数据发送模块;
数据发送模块在DataServer程序中作为一个独立的线程运行,负责将每个图像截取模块获取到的数据进行再次封装后,通过虚拟通道发送到客户端;
客户端的数据接收模块作为一个RDP插件存在,接收来自RDP虚拟通道的数据,并根据数据发送模块的打包格式进行拆分,并将数据转发给每个独立的数据处理线程;
客户端每个独立的数据处理线程在接收到数据后,通过调用数据解码模块对数据进行解码,然后将解码后的数据送到图像显示模块;
图像显示模块在收到图像数据后,将图像显示到RDP客户端的窗口上,完成一个完整的Flash图像发送过程。
本发明通过对系统画图API事件进行拦截,判断画图区域是否为连续的画图区域,从而判断在该区域是否为视频区域,当判断到画图区域后,将拦截到得图像数据通过视频数据专用的压缩算法进行压缩,它可以大大提高图像的压缩率,同时减少图像数据在网络传输上的延时,达到提升远程连接下视频播放效果的目的。在不改变原来远程连接协议的实现方法的前提下,解决在各种远程连接方案中网页Flash视频播放不流畅的问题。
以上所述仅为本发明的较佳实施用例而已,并非用于限定本发明的保护范图。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种使用API拦截方式实现远程桌面视频流畅播放的方法,其特征在于:包括:
图像截取模块跟随IE浏览器一起启动,负责通过拦截IE浏览器上的画图事件;
窗口状态监控模块在后台监视并计算当前需要拦截的窗口的可视区域;
当图像截取模块达到视频播放条件时,图像截取模块此时拦截需要输出的图像,并获取当前窗口此时的可视区域数据,打包两组数据通过数据管道的方式发送到数据转发模块;
数据转发模块作为当前Session下的独立运行的程序,在需要时被图像截取模块启动,进入后台运行;
数据转发模块在启动后,通过认证模块向认证服务器申请授权,如果授权成功,进入正常功能;如果授权不成功,将不接受来自图像截取模块的数据,此时图像截取模块将退出拦截状态;
数据转发模块在收到由图像截取模块发送来的图像数据后,根据当前压缩率的设置调用图像压缩模块对图像进行压缩,然后将压缩后的数据放入数据发送模块;
数据发送模块在DataServer程序中作为一个独立的线程运行,负责将每个图像截取模块获取到的数据进行再次封装后,通过虚拟通道发送到客户端;
客户端的数据接收模块作为一个RDP插件存在,接收来自RDP虚拟通道的数据,并根据数据发送模块的打包格式进行拆分,并将数据转发给每个独立的数据处理线程;
客户端每个独立的数据处理线程在接收到数据后,通过调用数据解码模块对数据进行解码,然后将解码后的数据送到图像显示模块;
图像显示模块在收到图像数据后,将图像显示到RDP客户端的窗口上,完成一个完整的Flash图像发送过程。
2.如权利要求1所述的一种使用API拦截方式实现远程桌面视频流畅播放的方法,其特征在于:所述可视区域的判断标准为:当两帧间的画图间隔小于50毫秒,同时对图像区域内的数据进行小波变化,如果变化后的图像具有类似的图像特征,或者是原图特征值的偏移,则表示两帧之间的图像是连续图像;如果连续图像在规定时间内连续出现,表示该区域内的连续图像为视频图像,该区域为Flash视频区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104463827A CN102541555A (zh) | 2011-12-27 | 2011-12-27 | 一种使用api拦截方式实现远程桌面视频流畅播放的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104463827A CN102541555A (zh) | 2011-12-27 | 2011-12-27 | 一种使用api拦截方式实现远程桌面视频流畅播放的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102541555A true CN102541555A (zh) | 2012-07-04 |
Family
ID=46348528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104463827A Pending CN102541555A (zh) | 2011-12-27 | 2011-12-27 | 一种使用api拦截方式实现远程桌面视频流畅播放的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541555A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200237A (zh) * | 2013-03-11 | 2013-07-10 | 天脉聚源(北京)传媒科技有限公司 | 一种保持远程桌面同步的方法和装置 |
CN103428297A (zh) * | 2013-08-30 | 2013-12-04 | 上海交通大学 | 基于桌面虚拟化的远程交互系统架构 |
CN103491030A (zh) * | 2013-09-12 | 2014-01-01 | 华为技术有限公司 | 一种数据处理方法及设备 |
CN104067627A (zh) * | 2013-02-07 | 2014-09-24 | 华为技术有限公司 | 一种视频重定向的方法、装置、系统及计算机可读介质 |
CN104144351A (zh) * | 2014-04-04 | 2014-11-12 | 北京泰然神州科技有限公司 | 应用虚拟化平台的视频播放方法和装置 |
CN108319493A (zh) * | 2017-06-28 | 2018-07-24 | 新华三云计算技术有限公司 | 数据处理方法、装置及机器可读存储介质 |
CN111245879A (zh) * | 2018-11-29 | 2020-06-05 | 深信服科技股份有限公司 | 一种虚拟桌面的桌面内容传输方法、系统及相关组件 |
CN114035719A (zh) * | 2021-10-09 | 2022-02-11 | 湖南麒麟信安科技股份有限公司 | 一种远程桌面流畅度性能评价方法、系统及介质 |
WO2023024563A1 (zh) * | 2021-08-23 | 2023-03-02 | 中兴通讯股份有限公司 | 视频处理方法、服务器和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132571A (zh) * | 2006-08-22 | 2008-02-27 | 薛飞 | 在手机上显示和操作远程计算机的方法和系统 |
US20110150433A1 (en) * | 2009-12-22 | 2011-06-23 | Albert Alexandrov | Systems and methods for video-aware screen capture and compression |
-
2011
- 2011-12-27 CN CN2011104463827A patent/CN102541555A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132571A (zh) * | 2006-08-22 | 2008-02-27 | 薛飞 | 在手机上显示和操作远程计算机的方法和系统 |
US20110150433A1 (en) * | 2009-12-22 | 2011-06-23 | Albert Alexandrov | Systems and methods for video-aware screen capture and compression |
Non-Patent Citations (1)
Title |
---|
王成良,张辉: "视频通信的网络自适应传输控制技术", 《计算机工程》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104067627B (zh) * | 2013-02-07 | 2017-08-04 | 华为技术有限公司 | 一种视频重定向的方法、装置、系统及计算机可读介质 |
CN104067627A (zh) * | 2013-02-07 | 2014-09-24 | 华为技术有限公司 | 一种视频重定向的方法、装置、系统及计算机可读介质 |
CN103200237B (zh) * | 2013-03-11 | 2016-06-08 | 天脉聚源(北京)传媒科技有限公司 | 一种保持远程桌面同步的方法和装置 |
CN103200237A (zh) * | 2013-03-11 | 2013-07-10 | 天脉聚源(北京)传媒科技有限公司 | 一种保持远程桌面同步的方法和装置 |
CN103428297A (zh) * | 2013-08-30 | 2013-12-04 | 上海交通大学 | 基于桌面虚拟化的远程交互系统架构 |
CN103491030B (zh) * | 2013-09-12 | 2016-10-05 | 华为技术有限公司 | 一种数据处理方法及设备 |
CN103491030A (zh) * | 2013-09-12 | 2014-01-01 | 华为技术有限公司 | 一种数据处理方法及设备 |
CN104144351A (zh) * | 2014-04-04 | 2014-11-12 | 北京泰然神州科技有限公司 | 应用虚拟化平台的视频播放方法和装置 |
CN104144351B (zh) * | 2014-04-04 | 2017-09-19 | 北京泰然神州科技有限公司 | 应用虚拟化平台的视频播放方法和装置 |
CN108319493A (zh) * | 2017-06-28 | 2018-07-24 | 新华三云计算技术有限公司 | 数据处理方法、装置及机器可读存储介质 |
CN111245879A (zh) * | 2018-11-29 | 2020-06-05 | 深信服科技股份有限公司 | 一种虚拟桌面的桌面内容传输方法、系统及相关组件 |
WO2023024563A1 (zh) * | 2021-08-23 | 2023-03-02 | 中兴通讯股份有限公司 | 视频处理方法、服务器和计算机可读存储介质 |
CN114035719A (zh) * | 2021-10-09 | 2022-02-11 | 湖南麒麟信安科技股份有限公司 | 一种远程桌面流畅度性能评价方法、系统及介质 |
CN114035719B (zh) * | 2021-10-09 | 2024-04-26 | 湖南麒麟信安科技股份有限公司 | 一种远程桌面流畅度性能评价方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541555A (zh) | 一种使用api拦截方式实现远程桌面视频流畅播放的方法 | |
CN102883134B (zh) | 用于视频会议系统的屏幕共享及控制方法 | |
EP3229476B1 (en) | Method and apparatus for playing media stream on web browser | |
CN102883135B (zh) | 屏幕共享及控制方法 | |
CN104918137B (zh) | 一种拼接屏系统播放视频的方法 | |
CN105228080B (zh) | 多屏互动方法、系统及浏览器 | |
CN103475953B (zh) | 一种基于桌面云的媒体控制方法和设备 | |
CN102158553B (zh) | 用于远程桌面的播放多媒体文件的方法和装置 | |
WO2017219652A1 (zh) | 一种头戴显示器、视频输出设备和视频处理方法、系统 | |
WO2015058670A1 (zh) | 一种显示内容处理方法及设备 | |
CA2722460A1 (en) | Screen sharing and video conferencing system and method | |
CN103414751A (zh) | 一种pc屏幕内容分享互动控制方法 | |
CN105404455B (zh) | 利用终端对移动终端实现截屏的方法及装置 | |
KR101931514B1 (ko) | 웹 브라우저에서 미디어의 재생과 백업을 동시에 수행하는 장치 및 방법 | |
CN105245914A (zh) | 云桌面高清视频传输协议及架构 | |
CN111026343A (zh) | 一种多个拼接屏实时同步显示方法 | |
CN114546308B (zh) | 应用界面投屏方法、装置、设备以及存储介质 | |
CN103856809A (zh) | 一种多点同屏方法、系统及终端设备 | |
CN107211171B (zh) | 一种通信架构内的用户设备及其实现方法和计算机程序产品 | |
US9226003B2 (en) | Method for transmitting video signals from an application on a server over an IP network to a client device | |
CN102546803B (zh) | 基于能力集的远端桌面通信方法 | |
CN106412617B (zh) | 远程调试控制方法及装置 | |
CN115695383A (zh) | 屏幕共享方法、系统、电子设备及安卓设备 | |
CN113961291A (zh) | 一种基于触摸手势识别与压缩表示的移动设备远程控制方法与系统 | |
WO2023179348A1 (zh) | 数据传输方法、云桌面虚拟机、云终端及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120704 |