The PS5's hardware has been progressively locked down by Sony, limiting what users can do with the console's capabilities. One notable limitation: the PS5 does not support screen sharing to Discord, which has become a common platform for gamers to broadcast their gameplay. The console does include a "Broadcast" button, but it only supports a handful of services officially endorsed by Sony.
The RTMP protocol, or Real-Time Messaging Protocol, is commonly used for live audio/video streaming. When a user starts a broadcast on the PS5, the console uses this protocol to send the stream to either YouTube or Twitch, assuming the user is signed into those accounts. The PS5 resolves the appropriate hostname via DNS every time a broadcast starts.
A developer discovered a technique to redirect this stream to an arbitrary destination. The key insight came from observing DNS resolution patterns: the PS5 resolves `ingest.global-contribute.live-video.net`, which chains down to `aps30.contribute.live-video.net`—the actual RTMP server. By controlling DNS responses, the PS5's stream could be redirected to a personal machine.
The technique runs through two main components: dnsmasq and nginx-rtmp. The dnsmasq DNS server is configured to resolve Twitch ingest domains to the attacker's Mac LAN IP address. Specifically, `contribute.live-video.net` and its subdomains like `ingest.global-contribute.live-video.net` are pointed to the Mac's IP. When the PS5 queries DNS for these endpoints, dnsmasq returns the Mac's IP instead of Twitch's server. The PS5 then connects to the Mac, believing it is Twitch.
On the receiving end, nginx-rtmp listening on port 1935 accepts the incoming RTMP stream. The `on_publish` callback fires when the stream begins, notifying a menu-bar app that surfaces the RTMP URL for copying. The stream arrives at 1080p60 with H.264 video and AAC stereo audio.
Rather than using OBS, the developer used mpv with a low-latency profile to pull the shared window into Discord. The resulting delay remained under a second, making the setup surprisingly reliable for weekly use.
The YouTube workaround ran into a separate issue: the PS5 periodically checks YouTube's API to verify the stream is live. Since YouTube never received the stream, that check failed after roughly 60 seconds and broadcasting stopped. The Twitch DNS approach avoided this particular failure mode because the stream never left the local network.
The DNS configuration requires network-level setup. The developer used a GL.iNet router running OpenWRT, configured to hand the Mac's IP as the DNS server specifically for the PS5's DHCP lease. A DHCP option 6 tag named "PS5" ensures the console picks up the custom DNS server on its next renewal, eliminating the need for manual DNS configuration on the console itself.