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

发布一个超低延时的桌面串流软件 AirGame, 请各位对 串流/远程桌面/个人云游戏 有需要的试用并反馈。

  •  
  •   mycloudgame · 2022-05-16 11:46:27 +08:00 · 7835 次点击
    这是一个创建于 916 天前的主题,其中的信息可能已经有所发展或是发生改变。
    服务端(AirGameServer)需要运行在 Win10/Win11 系统上。
    客户端(AirGamePlay) 可以运行在 win7/8/10/11 的系统上。
    Andriod 版本的客户端还在早期测试中。

    AirGame 串流系统的特性:
    1. 极低延时。局域网内的服务器 /客户端的显示器对比测试, 客户端甚至可以比服务端显示更快。
    2. 支持 Windows 平台的 Intel 、AMD 、NVidia 的 h264/h265 硬件编解码 (依赖显卡自身的硬件编解码能力)
    3. 支持多种分辨率 720p-4k 。 (依赖服务端的显示器 /显卡欺骗器)
    4. 支持多种帧率 15-240 。(依赖服务端的显示器 /显卡欺骗器)
    5. 对于无法支持硬件编解码的, 也可以使用 h264 软件编解码。(编码帧率不超过 30fps)
    6. 对于需要公网连接的, 需要注册账号,否则可以直接内网使用。
    7. 支持 nat 穿越。 支持自动 upnp 。
    8. 内网可以自动搜索, 手动指定 ip 连接 (如果有公网固定 ip , 也可以直接连接)。
    9. 内网连接过的机器, 支持远程唤醒 (需主机端设置 WOL)
    10. 支持远程剪贴板操作,(目前仅支持简单文本复制粘贴)
    11. 支持多显示器切换。
    12. 支持手柄,支持震动反馈。(需要在服务器端安装 ViGEmBus)

    下载地址在 https://www.mycloudgame.com/download.html
    37 条回复    2023-06-02 12:38:43 +08:00
    LuckyTain
        1
    LuckyTain  
       2022-05-16 12:04:18 +08:00 via Android
    👍正在用 parsec ,有空我尝试一下这个新软件
    timpaik
        2
    timpaik  
       2022-05-16 13:04:44 +08:00 via Android
    要是这种软件客户端有 linux 就好了。(可以用瘦客户机打游戏)
    Tink
        3
    Tink  
       2022-05-16 13:10:26 +08:00 via Android
    希望有 mac 的 client
    kop1989smurf
        4
    kop1989smurf  
       2022-05-16 13:11:03 +08:00
    能不能说说和竞品之间( parsec )的区别与优势?
    以及能不能大体解释下“客户端甚至可以比服务端显示更快”的实现原理?
    mycloudgame
        5
    mycloudgame  
    OP
       2022-05-16 15:41:16 +08:00   ❤️ 1
    @kop1989smurf parsec 应该算是目前串流软件综合素质最高的,相对 parsec 来说, 在性能方面能提升的空间不大(都是全流程的 GPU 处理,延时差别一般在一帧以内浮动)。 可提升的主要是易用性, 目标就是实现完全由客户端即可操作主机端, 包括但不限于远程开机,UAC 支持, 远程剪贴板等这些远程桌面相关的功能。
    客户端比服务端显示快, 这个 parsec 也一样可以做到, 原因也很简单, 就是显示是有缓冲的,比如一个普通窗口,显示的画面会先通过 DWM 合成, 再由 DWM 合成后按屏幕刷新频率输出,而如果我们处理这个的流程实际上是很快的,pc 上普通的 1080p 编码一般不超过 4 毫秒, 解码也一样, 局域网内有线网络延时都是一毫秒以下, 再加上放缩等处理流程, 实际上一帧从主机端到客户端不会超过 10 毫秒, 普通的 60fps , 一帧就是 16.7 毫秒, 那么如果你最终的显示队列降低, 客户端显示就会更快了。
    mycloudgame
        6
    mycloudgame  
    OP
       2022-05-16 15:46:07 +08:00   ❤️ 1
    @LuckyTain 谢谢使用。

    @timpaik Linux 端也是必须有的, 快的话在一个月以内会出测试版。

    @Tink Mac 端也是会有的, 估计的两个月以后了。
    kop1989smurf
        7
    kop1989smurf  
       2022-05-16 15:50:48 +08:00
    @mycloudgame #5 感谢回复,仅凭此楼的介绍与解答,一定会试用的。
    xiaoxx97
        8
    xiaoxx97  
       2022-05-16 16:28:12 +08:00   ❤️ 2
    之前用的一直是 Moonlight Game Streaming ,延迟也不高,但是它的问题是要有实体的显示器才可以,也就是说我在外面连接家里的主机,主机的显示器得是开着的,而且串流的图像就是显示器显示的图像。也就造成了一个新的问题:我如果用 rdp 连过主机,就不能再用 Moonlight 连,因为电脑的画面不再是通过显卡输出了,我得先用向日葵连一下我的主机,才能用 Moonlight 再连。
    然后我的问题来了:AirGame 也需要依赖实体显示器吗?
    Greenm
        9
    Greenm  
       2022-05-16 17:06:11 +08:00
    使用 moonlight 可以在 IPAD 接手柄串流 PC ,OP 的产品也准备支持 IOS 系列吗
    FightPig
        10
    FightPig  
       2022-05-16 17:08:49 +08:00
    等个 mac 版
    mycloudgame
        11
    mycloudgame  
    OP
       2022-05-16 17:44:32 +08:00
    @xiaoxx97 也需要实体显示器 , 但是你可以买一个显卡欺骗器,淘宝上有很多, 1080p/60fps 的非常便宜, 几块钱到十块钱就可以. 如果要高 fps 或者高分辨率的会贵些。

    微软的远程桌面现在暂时不能兼容, 因为不是运行在同一个 session 上, AirGameServer 的主程序是运行在普通的 session 上, 远程桌面会另外新开一个 session,并且切换过去.
    v2tudnew
        12
    v2tudnew  
       2022-05-16 20:49:37 +08:00
    Parsec 很好了,但它缺少对无法 NAT 穿越设备的中继传输,也许以后火了可以试试这个收费服务(不过中继延迟毕竟是高了)。
    Damn
        13
    Damn  
       2022-05-16 22:03:57 +08:00
    可以考虑一下发送和接收文件的功能。
    mycloudgame
        14
    mycloudgame  
    OP
       2022-05-16 22:24:39 +08:00
    @Greenm 短期内无法原生支持 iOS 版本, 会有通过 webrtc 支持的 web 版本。
    @FightPig 等出 mac 版本了一定通知你。
    @v2tudnew parsec 基本上算是串流软件里面综合实力最强的了,moonlight 要稍差一些(只支持 N 卡,第三方支持 A 卡太弱, 为了跨平台用的是平台的解码框架,在延时控制上会有一些不可控)。nat 如果使用中继传输, 延时会有一定增加。而且目前按国内的发展趋势, 直接支持 ipv6 是更好的选择。
    @Damn 嗯,后续会加上点对点的文件传输能力。
    hackpro
        15
    hackpro  
       2022-05-17 00:05:09 +08:00
    支持 OP && 感谢
    希望增加 macOS 以及 iOS 支持
    LoveMyself546
        16
    LoveMyself546  
       2022-05-17 00:11:23 +08:00
    这个可以像 parsec 一样远程串流玩游戏吗?就是服务端和客户端同时操作
    jdjingdian
        17
    jdjingdian  
       2022-05-17 09:52:16 +08:00
    同希望增加 macOS 以及 iOS 支持
    能在内网免登录连接,这点就比 parsec 好了,因为是用 mac 还没体验,是否是可以直接通过输入 ip 连接呢?那这样的话就不仅限于内网了,自己有 vpn 连回家,输入 ip 连也很方便了
    hronro
        18
    hronro  
       2022-05-17 11:13:37 +08:00
    老实说我不相信这个能达到 Parsec 的效果。

    Parsec 为了能提升串流效果,是自己从头实现了硬件编码的算法(毕竟 Parsec 拿了那么多投资也有钱去做这个),我很难相信你们这个也能做到同样的地步。
    sengxian
        19
    sengxian  
       2022-05-17 13:03:22 +08:00
    感谢,期待一个 WebRTC 版!
    Damn
        20
    Damn  
       2022-05-17 13:47:17 +08:00
    @hronro 你下一个安装包就会发现它包含了 ffmpeg.dll 。。。ffmpeg 支持啥它就支持啥。
    hronro
        21
    hronro  
       2022-05-17 14:20:43 +08:00
    @Damn #20 你是说哪个包含 ffmpeg? Parsec 还是楼主发的这个 AirGame ?
    另外话说如果用了 ffmpeg 这个 GPLv3 授权的开源代码,是不是意味本身也得开源?
    mycloudgame
        22
    mycloudgame  
    OP
       2022-05-17 15:33:57 +08:00
    @LoveMyself546 就是类似 parse 一样的串流软件.

    @jdjingdian 可以直接 ip 连接.

    @hronro 你可以自己测试一下, parsec 只是自己做了网络部分的协议, 编解码还是 264/265.

    @Damn @hronro 客户端带了 ffmpeg 的解码库, 仅包含 h264 解码库. N/A/I 三种显卡的 硬解编解码库 均是基于三家的 sdk 独立封装的, 并没有使用到 ffmpeg , 原因也很简单, 使用第三方框架封装的库, 很可能带来额外的延时。

    关于 ffmpeg 的使用说明一下, 我使用的是动态库, 按 lgpl 协议, 只需要给出使用的 ffmpeg 库代码即可, 并不需要公开调用动态库的应用程序源代码。ffmpeg 库的版本是 ffmpeg-20150627-git-7728d23. 服务器端使用的编码库是 openh264, 比 x264 差很多, 不用 x264 做 cpu 编码也是因为 gpl 协议的问题。目前还没有时间来整理,后续会按各开源协议要求补上相关的说明及代码。

    @sengxian webrtc 的支持在计划中,具体实现要等一段时间, 毕竟分身乏术。
    qq249418187
        23
    qq249418187  
       2022-05-17 17:14:59 +08:00
    可自搭建吗? 不玩游戏的测试一下,也许可以用来替代远程工具
    mycloudgame
        24
    mycloudgame  
    OP
       2022-05-18 09:16:23 +08:00
    @qq249418187 可以自己搭建服务器 /客户端, 局域网 /自有公网 IP/自有 VPN 都无需登录 . 可以替代远程桌面的大部分功能, 对带宽要求较高, 低延时,低 CPU 占用率.
    mycloudgame
        25
    mycloudgame  
    OP
       2022-05-18 10:35:24 +08:00
    @hronro 简单录制了一个与 parsec 同屏对比的视频 , 放在 B 站 https://www.bilibili.com/video/BV1mR4y1c7kv/
    原视频是 240fps , 上传后帧率被压缩了。前面的窗口是 Parsec, 后面的是 AirGamePlay. 串流源是左边的显示器,1080p/60, 右边的显示器是 2560/59.951. AirGamePlay 的窗口是自动适配了 1080p, Parsec 是做了拉伸。

    这里只是做一个大家最关心的画面延时简单比较。
    ragnaroks
        26
    ragnaroks  
       2022-05-18 11:11:02 +08:00
    带宽占用如何?
    RDP 远程写代码、配置服务器的话 1M 都够用
    hronro
        27
    hronro  
       2022-05-18 11:16:17 +08:00
    @mycloudgame #25 谢谢回复。但如果支持局域网内部传输的话没多大意义,建议能出一个在公网下(有一定丢包)下的对比。
    zsxzy
        28
    zsxzy  
       2022-05-18 12:09:27 +08:00
    @mycloudgame 试用了一下, 确实不错
    能说说传输音视频的协议是啥吗, 是 rtp over udp ?
    LuckyTain
        29
    LuckyTain  
       2022-05-18 14:37:44 +08:00 via Android
    对了,请问支持像 rdp 那样自动调整系统设置的缩放吗
    因为我的客户端是 surface go 且分辨率为 1800x1200 ,而且因为屏幕比较小,系统设置里面设置了缩放 150%
    而我的服务端显示器不支持这个分辨率,服务端是 1920x1080
    在用 parsec 时发现如果把分辨率改为 1800x1200 时,encode/decode 的时间增加了很多,所以一直都是调成 1920x1080 用,但是使用时上下会有黑框,而且不会自动调整系统设置的缩放,眼睛很累
    rdp 就有自动调整系统缩放的功能
    mycloudgame
        30
    mycloudgame  
    OP
       2022-05-18 23:06:48 +08:00
    @ragnaroks 带宽占用比 RDP 高,编码是 h264/h265, 分辨率 /码率 /帧率这些都是可以设置的, 远程写代码的这种场景,实际码率会比设置的码率低不少,因为画面变化慢且变化不大。

    @zsxzy 底层用的 UDP , 再上面是私有协议封装。

    @LuckyTain 不能支持自动缩放。RDP 是新建立了一个 remote session, 并虚拟了一块显卡。然后会设置成与客户端同样的分辨率, 刷新率不一定。parsec 是修改服务器端的分辨率 /刷新率这些设置的, 但是正常来说分辨率修改不会导致编解码时间增加很多, 上下有黑框是 parsec 缺省是保持原始宽高比例。AirGame 目前也没有处理高 dpi 的问题, 但是可以设置服务器端的编码输出大小, 你可以强制设成客户端的 1800x1200 , 但是这样会有变形(不变形就会有黑边,如同 parsec)。 原因是服务器端的显卡+显示器, 无法输出 surface go 的 1800x1200 。 这个问题要解决, 要么做虚拟显卡驱动(类似 RDP), 要么买个显卡欺骗器, 找商家刷 edid 适配你这个分辨率(一般的应该都没有这个分辨率支持)。 还有刷新率也很重要, 如果两端不匹配, 会出现跳帧导致卡顿的感觉。
    happy61
        31
    happy61  
       2022-05-22 23:38:26 +08:00
    支持从 rdp 切换回去么?现在 rdp 每次链接后,都必须用向日葵链接一下才能用 parsec ,要不都会黑屏
    mycloudgame
        32
    mycloudgame  
    OP
       2022-05-23 23:16:20 +08:00
    @happy61 目前是不支持的,rdp 连接后,当前系统还是远程桌面的 session, 捕获不到画面。 要支持远程桌面这种, 需要每个 session 里面都有独立的进程。
    happy61
        33
    happy61  
       2022-05-30 13:20:33 +08:00
    @mycloudgame 可以直接在远程执行断开所有链接,再让他登录就可以了,我平时也是用脚本执行,让 rdp 断开就可以了,或者用向日葵远程一下也行。tscon xxx /dest:console
    YoritaYoshino
        34
    YoritaYoshino  
       2022-06-19 19:21:49 +08:00
    你好,安卓客户端无法安装,显示解析软件包出现问题。手机系统版本是安卓 12
    stillywud
        35
    stillywud  
       2023-05-31 15:01:45 +08:00
    试用了一下,感觉挺不错的。
    karsy
        36
    karsy  
       2023-05-31 16:15:10 +08:00
    如果能支持文件传输,在我心中就把 parsec 杀爆了!
    mycloudgame
        37
    mycloudgame  
    OP
       2023-06-02 12:38:43 +08:00
    @stillywud @karsy 谢谢两位的试用。parsec 还是非常强的, 各项能力很均衡。因为主要目的是串流游戏, 所以之前没有开发文件传输的功能, 后面会补上。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2690 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:55 · PVG 18:55 · LAX 02:55 · JFK 05:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.