V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
abc612008
V2EX  ›  分享创造

Rust 写的基于 WebRTC 的开源远程桌面软件

  •  1
     
  •   abc612008 · 297 天前 · 2827 次点击
    这是一个创建于 297 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,我们是一群快要毕业的大学生,为了毕业设计,用 Rust + WebRTC + ffmpeg 做了一个 P2P 屏幕共享+远程桌面软件。

    链接

    截图

    screenshot.png

    image.png

    特性

    • 高性能 (在网络和性能允许的情况下最高可达到 60FPS @ 4k, 110ms 延迟)
    • 鼠标和键盘控制
    • 系统音频捕捉
    • GPL-3 开源
    • 跨平台
    • 控制者无需安装任何软件 可以直接在浏览器打开
    • 目前无需注册、付费

    目前支持 Windows + macOS (aarch64 / x86-64),欢迎大家试用。项目还比较不完善,不建议用在比较关键的地方,也不确定国内的网络环境能否使用(目前在无法建立 P2P 连接时用的是我们的 Twilio 的节点,但也可以支持自己搭建 Relay Server )。如果有什么建议的话欢迎留言或者填写我们的问卷。感谢!

    wuzhi1234
        1
    wuzhi1234  
       297 天前 via iPhone
    传输视频的方案,性能不会太好吧
    cyio
        2
    cyio  
       297 天前
    1. 如果设备在同区域网络下,是不是一般都能正常建立 P2P 连接?
    2. 与其他远程桌面技术方案相比,有什么优势?选择 rust ,有更好的性能?
    abc612008
        3
    abc612008  
    OP
       297 天前
    @cyio 是的,一般来说在一个局域网里都可以直接 P2P 。
    因为我们追求的是低延时高分辨率,所以比较需要一个编译式的语言。选择上基本上就是 C++ 或者 Rust 。Rust 比起 C++ 来说更“现代”一些,对 coroutine 支持也更好一些,而且也比较安全。我们实际上都是第一次用 Rust 做项目。不知道你说的“其他远程桌面技术方案”是具体指的哪些。
    benjaminx
        4
    benjaminx  
       297 天前
    分享一个类似的,也是用 Rust 和 WebRTC 开发的: https://github.com/meeting-rs/meeting.rs
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2616 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 11:00 · PVG 19:00 · LAX 03:00 · JFK 06:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.