我开发的小众开源 PS4/5 串流应用-PeaSyo(貔貅) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Geo200
V2EX    分享创造

我开发的小众开源 PS4/5 串流应用-PeaSyo(貔貅)

  •  2
     
  •   Geo200 108 天前 1670 次点击
    这是一个创建于 108 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天给大家介绍一个 PS 端及其小众的串流应用-PeaSyo ,本来作为个人及小部分圈子使用的应用(日活大概就一百人左右),再加上 PS 端用户选择性很多,目前市面上能用的使用体验都很好,不想过多介绍的,但鉴于应用的可持续发展,用户多了反馈多了才能有更好的体验作为出发点,决定还是在这里给大家做下简单的介绍,如果你玩过串流,并且在串流时遇到的痛点跟我一样,那么这个应用很可能合适你!

    开发初衷

    目前 PS 串流有三大选择,但对我来说分别有下面的痛点导致我没有使用他们:

    • 官方 PSP ,官方应用( PlayStation remote play ): 身为一个极客,官方选择一直不是我的首选目标。
    • PSPlay: 当初花了 7 美元买了正版,却要忍受时不时跳出验证的体验,成了妥妥的正版受害者,加上局域网内时不时的卡顿、机翻中文,导致我最后放弃了它。
    • chiaki:很酷的项目,开源免费,可惜在安卓端已经年久失修,中文本土化、手柄振动等功能都欠缺。

    经历了上面这些尝试后,我突发奇想,能不能在 chiaki 连接协议的基础上开发一款自己的应用,UI 、交互、手柄振动都重新实现,加上有了 XStreaming 的开发经验,再开发一个 PS 串流应用肯定问题也不大,最重要的是,开源社区需要给这样一个小众的团体提供一个开源的生态,用来在众多收费的环境里打造属于开源的、好用的应用,于是乎这个项目就诞生了。

    关于命名

    命名当时也想了很久,命名当时一方面考虑要有中国元素,另一方面要跟 PS 相关,正好开发初期老婆买了个貔貅( pi xiu )挂坠,天天跟我念叨这玩意多吉利,我脑子灵光一闪,这不巧了,pixiu 发音正好跟 PS 发音相似,满满的中国元素,于是乎综合英文发音决定为:PeaSyo 。

    应用特色

    • 完全开源免费,跟我开发的另一款 XStreaming 一样,代码都托管在 Github 上,接收来自各位开发者的功能迭代,不用担心应用断更。
    • 更友好的界面交互,完全中文本土化,支持查看串流性能界面。
    • 支持多系列手柄振动,安卓版本较高的设备,直接蓝牙即可振动,一些安卓版本低的旧设备,使用有线连接 xbox 手柄或 DualSense 手柄,再结合 APP 设置里的『覆盖安卓驱动』,也可以实现串口强制振动。
    • 自适应扳机,这个需要有线模式+覆盖安卓驱动,应该是目前市面上第一款开源支持自适应扳机的 PS 串流应用了,如果你好奇串流的自适应扳机在安卓端是如何实现的,那么这个项目是你很好的学习资料。
    • 多渲染模式,区别于 PSPlay 用了 textureView 渲染视频流,PeaSyo 在支持 textureView 的同时,默认使用了 surfaceView 渲染视频流,具备更好的渲染性能,但这还不够,接下来我还计划参考知名 moonlight 的视频渲染模式进一步优化渲染性能。
    • 强制使用设备、DualSense5 体感模拟右摇杆,常用在射击游戏辅助瞄准,这个功能可以说是仅此一家了
    • 更低的视频解码,最新版本结合了 moonlight 之前开发出来的超低延迟,在高通 8Gen2/8(s)Gen3/8Elite 设备上解码可以降低到 3ms 以内。
    • 支持配置转移,只要你的 PS 注册了一次,在貔貅内将配置导出到手机本地,后续如果需要更换设备,只需要在新设备上安装貔貅,然后把这个配置文件传到新设备,导入,即可继续使用,不像 PSPlay 每次更换设备都要重新开机注册。
    • 无需公网远程远程,最新版本的貔貅集成了 PSN 官方服务器打洞,已经实现了无需公网即可远程连接家里的 PS 设备,免去了折腾公网和组网的麻烦。

    已知缺点

    • DualSense 体感可能不完善,因为当初这个项目是自用项目,本人使用不涉及过多自带体感的功能,因此例如小机器人的体感功能肯定是缺失的,如果有感兴趣的 v 友,很欢迎参加到这个项目里。
    • 由于用户体量小,开发者只有我一个人且也是我自用,除非我本人遇到不爽或者多数人反馈的稳定问题,应用更新可能不会特别频繁,但有一点可以肯定的是,只要是 bug ,肯定能快速修复。

    下面是 APP 内的一些功能截图,大家可以看个大概:

    1

    最后

    最后再强调一次,串流体验会根据不同的人、不同的设备有极大的差异,请根据自己的需要选用,如果你已经有合适的串流应用,那么恭喜你。如果你还在找合适的应用,不妨试试貔貅,没准它是你下一款串流应用。

    另外开源项目的健康发展也需要各位开源爱好者的各方面贡献,这个项目还有很多不足的地方,如果你对这个项目感兴趣,欢迎贡献你的代码:)

    项目开源地址: https://github.com/Geocld/PeaSyo


    对了,我也开发有 Xbox 串流应用,也是开源的,如果有需要,可以到下面这个项目里了解: https://github.com/Geocld/XStreaming

    9 条回复    2025-06-24 15:47:48 +08:00
    zsxzy
        1
    zsxzy  
       108 天前
    有个疑问请教, 串流的音频直接就用 oboe 播放了, 不需要做重采样补偿的动作吗, 会不会因为网络抖动出现杂音或者延时..
    Geo200
        2
    Geo200  
    OP
       108 天前
    @zsxzy 这个确实是亟需优化的问题,现在还是很这种粗暴的方式,基本能满足 80%的场景,如果网络抖动就会出现你说的问题了...
    sodayo
        3
    sodayo  
       108 天前 via Android
    非常感谢作者开发的 Xbox 串流应用,已经使用很久了
    Owenjia
        4
    Owenjia  
       108 天前
    国产的一堆直驱方向盘是不是也可以通过这种方式曲线支持 gt 啊
    nicholasxuu
        span class="no">5
    nicholasxuu  
       108 天前
    @Owenjia #4 延迟不能忍的,而且赛车对延迟极其敏感。
    FlytoSirius
        6
    FlytoSirius  
       108 天前
    非常棒的项目, 目前 PS 串流确实需要个像样的工具.

    借地问下, 串流客户端的技术实现 能影响 PS 主机的串流延迟吗 ? [除了码流之外]
    Geo200
        7
    Geo200  
    OP
       108 天前
    @FlytoSirius 串流延迟主要是下面几个因素叠加:
    1. 网络延迟,这个基本不可控
    2. 解码延迟,这个客户端可以对视频流解码做优化,特定的处理器解码可以大幅度降低
    3. 操作延迟,这个也可以通过对手柄输入处理降低延迟
    4. 视频流表现延迟,这个就类似游戏的性能模式和画质模式,不同的模式延迟表现也不一样
    jas0ndyq
        8
    jas0ndyq  
       108 天前
    很棒的工具!
    顺带问下大佬知道 PC 上有啥好用的 PS5 串流工具吗?
    Geo200
        9
    Geo200  
    OP
       108 天前   1
    @jas0ndyq [chiaki-ng]( https://github.com/streetpea/chiaki-ng),PeaSyo 底层很多都是参考了这个 PC 端的开源项目。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1243 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 17:19 PVG 01:19 LAX 10:19 JFK 13:19
    Do have faith in what you're doing.
    ubao 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