劫持游戏主机的直播流:不用采集卡的屏幕共享 — Hacker News 中文摘要
来源:yashgarg.dev — 20 分 · by speckx
📋 概述
想和朋友在 Discord 上看自己玩游戏,这台主机既不支持 Discord 屏幕共享,外接采集卡又要上百美元。作者先试了 Remote Play,但所有设备都得接到 Mac 上、还有输入延迟。真正的突破口是主机自带的直播功能:点 Broadcast 时它会按 DNS 解析找到 Twitch 或 YouTube 的 RTMP 入口,所以只要控制 DNS 就能控制流去哪。直接伪造 ingest.twitch.tv 不行——那只是发现端点,真正的 ingest 走 RTMPS 且主机会校验证书,而它无法安装自定义 CA。改用 YouTube 的明文 RTMP 1935 端口能拿到流,但主机会轮询官方 API 确认直播状态,约 60 秒后自行中断。最后作者从 dnsmasq 日志里读到真正的域名 ingest.global-contribute.live-video.net,伪造 contribute.live-video.net 覆盖所有子域,把 1080p60 H.264 流直接引到本机,用 nginx-rtmp 接收、mpv 低延迟播放。
🔑 核心要点
- 起点是主机不支持向 Discord 屏幕共享,采集卡方案成本过高。
- Remote Play 虽可行,但外设必须全部接到 Mac,延迟和画质都不可控。
- 关键洞察是它每次广播都通过 DNS 解析 RTMP 入口,控制 DNS 就能改道。
- 只能伪造contribute.live-video.net——发现端点与 RTMPS 证书校验都能绕开。
- YouTube 明文 RTMP 能收流,但主机轮询官方 API 约 60 秒后自动中断。
- 本机 nginx-rtmp 的on_publish 回调让菜单栏应用自动拿到流地址,低延迟播放延迟小于一秒。
💡 金句
The PS5 doesn't hardcode Twitch's IP, it looks it up via DNS every time. If we control what DNS returns, we control where the stream goes.
👍 0
👎 0
← 返回 Hacker News 首页