劫持 PS5 的推流:把家里的 Mac 伪装成 Twitch
来源: yashgarg.dev — 2026-09-28
概述
PS5 不支持把游戏画面共享到 Discord,买采集卡要一百多美元。作者换了个思路:让主机以为自己正在向 Twitch 推流,实际上把 H.264 1080p60 的视频送到自己 Mac 上。整个过程靠 dnsmasq 做 DNS 欺骗、nginx-rtmp 接流,再用 mpv 拉流共享窗口,延迟不到一秒,已经稳定用了几周。
核心要点
- 主机并不硬编码 Twitch 的地址,每次推流都通过 DNS 查询——谁控制 DNS 返回,谁就控制视频流去哪里。
- 第一步尝试欺骗 ingest.twitch.tv 失败了:它只是发现端点,会返回真正的区域推流服务器,而 Twitch 的 RTMPS 走 TLS,PS5 会校验证书,自签证书无法绕过。
- 改用 YouTube 也不行:它的 1935 端口是裸 RTMP,画面能过来,但主机约 60 秒后会因API 校验失败而停止推流。
- 真正的答案来自推流时盯 dnsmasq 日志,主机解析的是 ingest.global-contribute.live-video.net,通配整个 contribute.live-video.net 就能把所有子域指向本机,且没有任何证书问题。
- 在运行 OpenWRT 的路由器上,只给 PS5 的静态租约下发本机 DNS(DHCP option 6),主机下次续租即生效,无需在主机上做任何手动配置。
- nginx-rtmp 收到流后通过 on_publish 回调通知自建的菜单栏应用,应用把完整 RTMP 地址摆出来,用 mpv 的低延迟配置拉流即可。
- 最后一步是把 mpv 窗口共享到 Discord,低延迟 profile 配合 0.3 秒音频缓冲把延迟压在一秒以内。
金句
PS5 并不硬编码 Twitch 的 IP,它每次都通过 DNS 查询;如果我们控制了 DNS 返回的结果,就控制了流的去向。
👍 0
👎 0
← 返回 Lobsters 首页