发布一个超低延时的桌面串流软件 AirGame, 请各位对 串流/远程桌面/个人云游戏 有需要的试用并反馈。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
mycloudgame
V2EX    分享创造

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

  •  
      mycloudgame 2022-05-16 11:46:27 +08:00 9115 次点击
    这是一个创建于 1311 天前的主题,其中的信息可能已经有所发展或是发生改变。
    服务端(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  
    PRO
       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,并且切换过去.
    Overfill3641
        12
    Overfill3641  
       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     Solana     3980 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 10:15 PVG 18:15 LAX 02:15 JFK 05:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86