1
LuckyTain 2022-05-16 12:04:18 +08:00 via Android
👍正在用 parsec ,有空我尝试一下这个新软件
|
2
timpaik 2022-05-16 13:04:44 +08:00 via Android
要是这种软件客户端有 linux 就好了。(可以用瘦客户机打游戏)
|
3
Tink 2022-05-16 13:10:26 +08:00 via Android
希望有 mac 的 client
|
4
kop1989smurf 2022-05-16 13:11:03 +08:00
能不能说说和竞品之间( parsec )的区别与优势?
以及能不能大体解释下“客户端甚至可以比服务端显示更快”的实现原理? |
5
mycloudgame OP @kop1989smurf parsec 应该算是目前串流软件综合素质最高的,相对 parsec 来说, 在性能方面能提升的空间不大(都是全流程的 GPU 处理,延时差别一般在一帧以内浮动)。 可提升的主要是易用性, 目标就是实现完全由客户端即可操作主机端, 包括但不限于远程开机,UAC 支持, 远程剪贴板等这些远程桌面相关的功能。
客户端比服务端显示快, 这个 parsec 也一样可以做到, 原因也很简单, 就是显示是有缓冲的,比如一个普通窗口,显示的画面会先通过 DWM 合成, 再由 DWM 合成后按屏幕刷新频率输出,而如果我们处理这个的流程实际上是很快的,pc 上普通的 1080p 编码一般不超过 4 毫秒, 解码也一样, 局域网内有线网络延时都是一毫秒以下, 再加上放缩等处理流程, 实际上一帧从主机端到客户端不会超过 10 毫秒, 普通的 60fps , 一帧就是 16.7 毫秒, 那么如果你最终的显示队列降低, 客户端显示就会更快了。 |
6
mycloudgame OP |
7
kop1989smurf 2022-05-16 15:50:48 +08:00
@mycloudgame #5 感谢回复,仅凭此楼的介绍与解答,一定会试用的。
|
8
xiaoxx97 2022-05-16 16:28:12 +08:00 2
之前用的一直是 Moonlight Game Streaming ,延迟也不高,但是它的问题是要有实体的显示器才可以,也就是说我在外面连接家里的主机,主机的显示器得是开着的,而且串流的图像就是显示器显示的图像。也就造成了一个新的问题:我如果用 rdp 连过主机,就不能再用 Moonlight 连,因为电脑的画面不再是通过显卡输出了,我得先用向日葵连一下我的主机,才能用 Moonlight 再连。
然后我的问题来了:AirGame 也需要依赖实体显示器吗? |
9
Greenm 2022-05-16 17:06:11 +08:00
使用 moonlight 可以在 IPAD 接手柄串流 PC ,OP 的产品也准备支持 IOS 系列吗
|
10
FightPig 2022-05-16 17:08:49 +08:00
等个 mac 版
|
11
mycloudgame OP @xiaoxx97 也需要实体显示器 , 但是你可以买一个显卡欺骗器,淘宝上有很多, 1080p/60fps 的非常便宜, 几块钱到十块钱就可以. 如果要高 fps 或者高分辨率的会贵些。
微软的远程桌面现在暂时不能兼容, 因为不是运行在同一个 session 上, AirGameServer 的主程序是运行在普通的 session 上, 远程桌面会另外新开一个 session,并且切换过去. |
12
v2tudnew 2022-05-16 20:49:37 +08:00
Parsec 很好了,但它缺少对无法 NAT 穿越设备的中继传输,也许以后火了可以试试这个收费服务(不过中继延迟毕竟是高了)。
|
13
Damn 2022-05-16 22:03:57 +08:00
可以考虑一下发送和接收文件的功能。
|
14
mycloudgame OP |
15
hackpro 2022-05-17 00:05:09 +08:00
支持 OP && 感谢
希望增加 macOS 以及 iOS 支持 |
16
LoveMyself546 2022-05-17 00:11:23 +08:00
这个可以像 parsec 一样远程串流玩游戏吗?就是服务端和客户端同时操作
|
17
jdjingdian 2022-05-17 09:52:16 +08:00
同希望增加 macOS 以及 iOS 支持
能在内网免登录连接,这点就比 parsec 好了,因为是用 mac 还没体验,是否是可以直接通过输入 ip 连接呢?那这样的话就不仅限于内网了,自己有 vpn 连回家,输入 ip 连也很方便了 |
18
hronro 2022-05-17 11:13:37 +08:00
老实说我不相信这个能达到 Parsec 的效果。
Parsec 为了能提升串流效果,是自己从头实现了硬件编码的算法(毕竟 Parsec 拿了那么多投资也有钱去做这个),我很难相信你们这个也能做到同样的地步。 |
19
sengxian 2022-05-17 13:03:22 +08:00
感谢,期待一个 WebRTC 版!
|
21
hronro 2022-05-17 14:20:43 +08:00
@Damn #20 你是说哪个包含 ffmpeg? Parsec 还是楼主发的这个 AirGame ?
另外话说如果用了 ffmpeg 这个 GPLv3 授权的开源代码,是不是意味本身也得开源? |
22
mycloudgame OP @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 的支持在计划中,具体实现要等一段时间, 毕竟分身乏术。 |
23
qq249418187 2022-05-17 17:14:59 +08:00
可自搭建吗? 不玩游戏的测试一下,也许可以用来替代远程工具
|
24
mycloudgame OP @qq249418187 可以自己搭建服务器 /客户端, 局域网 /自有公网 IP/自有 VPN 都无需登录 . 可以替代远程桌面的大部分功能, 对带宽要求较高, 低延时,低 CPU 占用率.
|
25
mycloudgame OP @hronro 简单录制了一个与 parsec 同屏对比的视频 , 放在 B 站 https://www.bilibili.com/video/BV1mR4y1c7kv/
原视频是 240fps , 上传后帧率被压缩了。前面的窗口是 Parsec, 后面的是 AirGamePlay. 串流源是左边的显示器,1080p/60, 右边的显示器是 2560/59.951. AirGamePlay 的窗口是自动适配了 1080p, Parsec 是做了拉伸。 这里只是做一个大家最关心的画面延时简单比较。 |
26
ragnaroks 2022-05-18 11:11:02 +08:00
带宽占用如何?
RDP 远程写代码、配置服务器的话 1M 都够用 |
27
hronro 2022-05-18 11:16:17 +08:00
@mycloudgame #25 谢谢回复。但如果支持局域网内部传输的话没多大意义,建议能出一个在公网下(有一定丢包)下的对比。
|
28
zsxzy 2022-05-18 12:09:27 +08:00
@mycloudgame 试用了一下, 确实不错
能说说传输音视频的协议是啥吗, 是 rtp over udp ? |
29
LuckyTain 2022-05-18 14:37:44 +08:00 via Android
对了,请问支持像 rdp 那样自动调整系统设置的缩放吗
因为我的客户端是 surface go 且分辨率为 1800x1200 ,而且因为屏幕比较小,系统设置里面设置了缩放 150% 而我的服务端显示器不支持这个分辨率,服务端是 1920x1080 在用 parsec 时发现如果把分辨率改为 1800x1200 时,encode/decode 的时间增加了很多,所以一直都是调成 1920x1080 用,但是使用时上下会有黑框,而且不会自动调整系统设置的缩放,眼睛很累 rdp 就有自动调整系统缩放的功能 |
30
mycloudgame OP @ragnaroks 带宽占用比 RDP 高,编码是 h264/h265, 分辨率 /码率 /帧率这些都是可以设置的, 远程写代码的这种场景,实际码率会比设置的码率低不少,因为画面变化慢且变化不大。
@zsxzy 底层用的 UDP , 再上面是私有协议封装。 @LuckyTain 不能支持自动缩放。RDP 是新建立了一个 remote session, 并虚拟了一块显卡。然后会设置成与客户端同样的分辨率, 刷新率不一定。parsec 是修改服务器端的分辨率 /刷新率这些设置的, 但是正常来说分辨率修改不会导致编解码时间增加很多, 上下有黑框是 parsec 缺省是保持原始宽高比例。AirGame 目前也没有处理高 dpi 的问题, 但是可以设置服务器端的编码输出大小, 你可以强制设成客户端的 1800x1200 , 但是这样会有变形(不变形就会有黑边,如同 parsec)。 原因是服务器端的显卡+显示器, 无法输出 surface go 的 1800x1200 。 这个问题要解决, 要么做虚拟显卡驱动(类似 RDP), 要么买个显卡欺骗器, 找商家刷 edid 适配你这个分辨率(一般的应该都没有这个分辨率支持)。 还有刷新率也很重要, 如果两端不匹配, 会出现跳帧导致卡顿的感觉。 |
31
happy61 2022-05-22 23:38:26 +08:00
支持从 rdp 切换回去么?现在 rdp 每次链接后,都必须用向日葵链接一下才能用 parsec ,要不都会黑屏
|
32
mycloudgame OP @happy61 目前是不支持的,rdp 连接后,当前系统还是远程桌面的 session, 捕获不到画面。 要支持远程桌面这种, 需要每个 session 里面都有独立的进程。
|
33
happy61 2022-05-30 13:20:33 +08:00
@mycloudgame 可以直接在远程执行断开所有链接,再让他登录就可以了,我平时也是用脚本执行,让 rdp 断开就可以了,或者用向日葵远程一下也行。tscon xxx /dest:console
|
34
YoritaYoshino 2022-06-19 19:21:49 +08:00
你好,安卓客户端无法安装,显示解析软件包出现问题。手机系统版本是安卓 12
|
35
stillywud 2023-05-31 15:01:45 +08:00
试用了一下,感觉挺不错的。
|
36
karsy 2023-05-31 16:15:10 +08:00
如果能支持文件传输,在我心中就把 parsec 杀爆了!
|
37
mycloudgame OP |