🎮 Gaming
Cómo compartir tu PS5 en Discord sin comprar una capturadora de $100 (truco DNS)
Tienes todo listo para jugar con tus amigos por Discord: la PS5, el TV, los audífonos. Lo único que te falta es una capturadora de video de 100 dólares. Un desarrollador resolvió ese problema sin comprar nada, sin abrir la consola y sin instalar una sola app en el PlayStation. Solo tocó el DNS de su red. Suena demasiado bonito para ser real, pero el post explotó en Hacker News con 246 puntos y casi 80 comentarios el mismo día. Así que vamos a desarmar el truco.
El problema: el botón "Broadcast" de Sony está secuestrado
La PS5 tiene un botón de transmisión en el menú. Lo presionas, eliges YouTube o Twitch, escribes tu título y ya estás en vivo. Cómodo, gratis, integrado. El problema es que no puedes compartir pantalla a Discord, que es justo lo que quieres cuando juegas con cuatro personas y quieres que te vean en tiempo real.
La solución clásica es una capturadora HDMI: la enchufas, la metes a OBS y transmites desde tu PC. Funciona bien. Y cuesta entre 60 y 150 dólares. Es hardware que solo cumple una función.
El Remote Play (el streaming oficial hacia PC y celular) tampoco resuelve nada: tienes que mover el mando, los audífonos y la configuración a la otra máquina cada vez, la calidad la controla la consola y no puedes ajustar nada. Un dolor de cabeza permanente.
La idea: haz que tu Mac se haga pasar por Twitch
Aquí está el truco de verdad. Cuando transmites, la PS5 no empuja el video directo a Twitch. Lo que hace es esto:
1) La consola resuelve por DNS el dominio ingest.twitch.tv.
2) Le pregunta a ese servidor "qué región me toca usar" y recibe algo como ap-southeast-1.prod.fi.contribute.live-video.net.
3) Ahí sí envía el stream real.
La PS5 no tiene hardcodeada la IP de Twitch. La busca cada vez. Si tú controlas qué devuelve el DNS, controlas a dónde va tu stream. Eso es todo. Estás suplantando a un servidor de streaming desde tu router, usando las mismas reglas del protocolo que la consola ya usa.
El límite técnico: por qué no funciona spoofear Twitch directo
El primer intento fue apuntar ingest.twitch.tv a su Mac. Falló. Resulta que ese dominio es solo un endpoint de descubrimiento: no es el servidor RTMP real. Y cuando llegó al servidor de verdad apareció el segundo obstáculo.
Twitch usa RTMPS (RTMP sobre TLS). La PS5 valida el certificado contra las autoridades de confianza del sistema. Un certificado auto-firmado no sirve, y en una PS5 no hay forma de instalar certificados propios. Puerta cerrada.
Entonces probó con YouTube como puente: su servidor de ingesta usa RTMP plano en el puerto 1935, sin TLS, sin certificados. La PS5 le mandó su stream al Mac sin quejarse. El enfoque quedó probado.
Pero YouTube tiene un detalle que lo arruina: la consola verifica periódicamente vía API que el stream esté en vivo. Como el stream nunca llegó a YouTube, esa verificación fallaba y la transmisión se cortaba a los 60 segundos. Un minuto de juego y a reconectar.
El giro final: espiar los logs de DNS
En vez de adivinar, el desarrollador activó log-queries en dnsmasq y miró qué estaba resolviendo la PS5 mientras transmitía. La respuesta estaba en la línea de log:
query[A] ingest.global-contribute.live-video.net
reply aps30.contribute.live-video.net is 35.55.13.0
Ahí está. ingest.global-contribute.live-video.net es el dominio que resuelve al servidor RTMP plano real. Suplantar contribute.live-video.net cubre todos los subdominios a la vez y esquiva tanto el certificado como el timeout de YouTube. Un solo truco resuelve los dos problemas.
El montaje completo (gratis, en 20 minutos)
El autor montó una app de menú para macOS que empaqueta dnsmasq y nginx-rtmp. Si quieres hacerlo a mano:
1. dnsmasq — resuelve los dominios de Twitch a tu Mac:
address=/contribute.live-video.net/192.168.8.175
address=/ingest.global-contribute.live-video.net/192.168.8.175
address=/live.twitch.tv/192.168.8.175
2. nginx-rtmp — escucha en el puerto 1935 y dispara un POST a tu app cuando la PS5 empieza a transmitir:
on_publish http://127.0.0.1:9988/on_publish;
3. El router — aquí está la magia. Con OpenWrt le dice a la PS5 que use tu servidor DNS, sin tocar jamás la consola:
uci add_list dhcp.lan.dhcp_option="tag:PS5,6,192.168.8.175"
El 6 es la opción DHCP de "servidor DNS". La PS5 lo toma en su próxima renovación de lease. Cero menú, cero configuración manual, cero firmware modificado.
Verlo en Discord sin OBS
Aquí viene lo mejor: ni siquiera necesitas OBS. mpv reproduce el stream RTMP y compartes la ventana a Discord con menos de un segundo de latencia:
mpv --profile=low-latency --audio-buffer=0.3 rtmp://127.0.0.1/ps5/stream-key
La consola estaría mandando 1080p60, H.264 y audio AAC estéreo directo a tu Mac. Desde ahí puedes re-transmitir, grabar en local o simplemente jugar con tus amigos viendo tu partida sin el cableado de la capturadora.
Por qué esto importa más allá del gaming
Lo bonito de este truco no es el streaming. Es que hablas con el protocolo que la consola ya habla, sin tocar la consola. No hay jailbreak, no hay firmware modificado, no hay exploit.
Cada vez que un dispositivo "solo funciona con X", la pregunta interesante no es si puedes hackearlo. Es qué protocolo está usando por debajo y quién se supone que debe responder. Sony lo diseñó bien, con un sistema de descubrimiento por DNS precisamente para poder escalar a servidores regionales. Ese diseño bien hecho fue lo que lo hizo fácil de secuestrar.
El autor lleva semanas usándolo sin un solo fallo. Y la mejor parte: le costó cero dólares y está en GitHub abierto.
La lección: antes de comprar el gadget de 100 dólares para resolver un problema, averigua si el problema ya tiene una respuesta construida dentro del producto — solo que nadie te la documentó.
Comparte esto con alguien que todavía está comprando capturadoras de 120 dólares para hacer lo que una línea en el router resuelve gratis.
¿Tú has capturado pantalla de una consola sin hardware externo? Cuéntanos abajo tu método.