El hardware de la PS5 ha sido progresivamente bloqueado por Sony, limitando lo que los usuarios pueden hacer con las capacidades de la consola. Una limitación notable: la PS5 no admite la compartición de pantalla a Discord, que se ha convertido en una plataforma común para que los jugadores transmitan su gameplay. La consola sí incluye un botón "Transmitir", pero solo admite una pequeña cantidad de servicios oficialmente respaldados por Sony.
El protocolo RTMP, o Real-Time Messaging Protocol, se utiliza comúnmente para la transmisión de audio/video en tiempo real. Cuando un usuario inicia una transmisión en la PS5, la consola utiliza este protocolo para enviar el stream a YouTube o Twitch, suponiendo que el usuario ha iniciado sesión en esas cuentas. La PS5 resuelve el nombre de host apropiado a través de DNS cada vez que comienza una transmisión.
Un desarrollador descubrió una técnica para redirigir este stream a un destino arbitrario. La clave vino de observar los patrones de resolución DNS: la PS5 resuelve `ingest.global-contribute.live-video.net`, que se encadena a `aps30.contribute.live-video.net`, el servidor RTMP real. Al controlar las respuestas DNS, el stream de la PS5 se podría redirigir a una máquina personal.
La técnica funciona a través de dos componentes principales: dnsmasq y nginx-rtmp. El servidor DNS dnsmasq está configurado para resolver los dominios de ingestión de Twitch a la dirección IP LAN del Mac del atacante. Específicamente, `contribute.live-video.net` y sus subdominios como `ingest.global-contribute.live-video.net` se apuntan a la IP del Mac. Cuando la PS5 consulta DNS para estos endpoints, dnsmasq devuelve la IP del Mac en lugar del servidor de Twitch. La PS5 se conecta entonces al Mac, creyendo que es Twitch.
En el extremo receptor, nginx-rtmp escuchando en el puerto 1935 acepta el stream RTMP entrante. El callback `on_publish` se dispara cuando el stream comienza, notificando a una aplicación de barra de menú que muestra la URL RTMP para copiar. El stream llega a 1080p60 con video H.264 y audio AAC estéreo.
En lugar de usar OBS, el desarrollador usó mpv con un perfil de baja latencia para arrastrar la ventana compartida a Discord. El retraso resultante se mantuvo por debajo de un segundo, haciendo que la configuración fuera sorprendientemente fiable para uso semanal.
El workaround de YouTube se encontró con un problema separado: la PS5 periódicamente verifica la API de YouTube para confirmar que el stream está en vivo. Como YouTube nunca recibió el stream, esa verificación falló después de aproximadamente 60 segundos y la transmisión se detuvo. El enfoque DNS de Twitch evitó este modo de fallo particular porque el stream nunca salió de la red local.
La configuración de DNS requiere una configuración a nivel de red. El desarrollador usó un router GL.iNet con OpenWRT, configurado para entregar la IP del Mac como servidor DNS específicamente para el lease DHCP de la PS5. Una etiqueta DHCP option 6 con nombre "PS5" asegura que la consola reciba el servidor DNS personalizado en su próxima renovación, eliminando la necesidad de configurar DNS manualmente en la consola.
