开源库:jsmpeg-vnc 小巧高效的H5版vnc利器

开源库:jsmpeg-vnc 小巧高效的H5版vnc利器

编程文章jaq1232025-10-02 1:03:3317A+A-


VNC是远程连接的常用方式,方便我们进行远程系统维护,远程协助。通常需要安装客户端或专门的APP使用,有没有一种方法能把VNC集成到H5页面中让用户可以打开浏览器就能使用呢,jsmpeg-vnc为我们提供了一种简洁的方式和思路。

jsmpeg-vnc分为两部分,服务端和H5客户端

服务端

C++实现,服务端编译后仅50K,是一个简单的WEB服务器,负责响应HTTP请求,建立websocket连接,截取当前屏幕并编码后广播给客户端,并响应用户的鼠标键盘操作。

客户端

H5网页,客户在浏览器中输入服务器地址收到H5网页,网页中的javascript建立与服务器的websocket连接,转发用户的鼠标键盘操作,播放远程桌面画面。

如何使用

通用命令行启动服务端,可控制码率,输出桌面大小,使用端口等。

jsmpeg-vnc.exe [options] <window name>

Options:
-b bitrate in kilobit/s (default: estimated by output size)
-s output size as WxH. E.g: -s 640x480 (default: same as window size)
-f target framerate (default: 60)
-p port (default: 8080)
-c crop area in the captured window as X,Y,W,H. E.g.: -c 200,300,640,480
-i enable/disable remote input. E.g. -i 0 (default: 1)

客户端直接访问 http://ip:port 即可

扩展使用

1 大量PC维护项目:不可能让用户记住每个PC的ip地址,或让jsmpeg-vnc每时刻都在运行,浪费系统资源,并且不安全,这样的项目,一般会有一台服务器,可通过服务器获取PC列表,当用户点击连接某台PC时,服务器通过程序启动那台PC的jsmpeg-vnc服务,并重定向到指定PC的jsmpeg-vnc地址。

2 内网穿透:一台内网服务器对外网提供代理服务,转发客户端和jsmpeg-vnc的通信。

项目不同,使用方式也会不同,如用户身份验证等等,工具和思路在手,可以自由发挥。

源码地址

https://github.com/phoboslab/jsmpeg-vnc

点击这里复制本文地址 以上内容由jaq123整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

苍茫编程网 © All Rights Reserved.  蜀ICP备2024111239号-21