Tutorial · HLS · DevTools
Cómo encontrar la URL M3U8 de cualquier transmisión (2026)
Un flujo en DevTools de 60 segundos para capturar la URL M3U8 de cualquier video HLS, incluidas transmisiones privadas que requieren cookies o cabecera Referer. Chrome, Edge, Firefox.
Encontrar la URL M3U8 de una transmisión de video es el primer paso de cualquier flujo manual de descarga HLS. ffmpeg, yt-dlp, VLC, todas las herramientas de línea de comandos arrancan con esa URL. La buena noticia es que capturarla lleva unos 60 segundos con DevTools del navegador, y el mismo flujo funciona en Chrome, Edge, Brave, Vivaldi, Opera y Firefox. La mala noticia es que algunos reproductores lo ponen un poco más difícil que otros, y la URL de la playlist puede caducar en silencio. Esta guía cubre ambos casos.
Si nunca abriste DevTools o no tienes claro qué es exactamente un archivo M3U8, nuestro artículo explicativo sobre M3U8 (en inglés) recorre el formato de principio a fin. El resto del artículo asume que sabes abrir DevTools.
1. Por qué podrías necesitar la URL M3U8
La mayoría de los lectores aterrizan aquí por una de estas tres razones:
- Para descargar el video con ffmpeg o yt-dlp. Ambas herramientas aceptan una URL M3U8 como entrada y descargan los segmentos. Consulta nuestra guía de M3U8 a MP4 para los comandos completos.
- Para reproducir la transmisión en VLC, mpv u otro reproductor de escritorio. Arrastra y suelta una URL M3U8 copiada en VLC y se reproduce. Útil cuando la página de origen es pesada o molesta.
- Para depurar un reproductor personalizado o LMS. Los desarrolladores que construyen reproductores HLS o resuelven problemas de reproducción necesitan verificar que el manifiesto esté bien formado.
Para los tres casos, el flujo es el mismo: capturar la URL desde la pestaña Network y luego actuar sobre ella.
2. Método 1: Chrome DevTools (recomendado)
Chrome cubre alrededor del 65 por ciento de los navegadores de escritorio y el mismo flujo funciona en Edge, Brave, Opera y Vivaldi. La pestaña Network es el lugar más fiable para capturar URLs de playlist.
Paso a paso
- Abre la página que aloja el video. No pulses Reproducir todavía.
- Abre DevTools: pulsa F12 en Windows o Linux, Cmd + Opt + I en Mac. También puedes hacer clic derecho en cualquier parte de la página y elegir Inspeccionar.
- Cambia a la pestaña Network en la parte superior de DevTools.
- En la barra de filtro (justo debajo de la barra de herramientas), escribe
m3u8. Esto filtra todas las peticiones a aquellas cuya URL contenga m3u8. - Ahora pulsa Reproducir en el video. En un segundo, una o más peticiones M3U8 aparecen en la lista filtrada. La primera suele ser la playlist master.
- Haz clic en la petición para inspeccionarla. La pestaña Headers muestra la URL, la pestaña Response muestra el contenido de la playlist.
- Haz clic derecho en la petición y elige Copy > Copy link address. La URL completa con cualquier parámetro de query queda en tu portapapeles.
Capturar cookies y cabeceras (para transmisiones privadas)
Si la URL del M3U8 necesita autenticación, copiar solo la URL no basta. ffmpeg o yt-dlp recibirán un 403 Forbidden cuando la pidan sin tus cookies de sesión. La solución es capturar la petición completa como cURL:
- Haz clic derecho en la petición del M3U8 en la pestaña Network.
- Elige Copy > Copy as cURL (o Copy as cURL (bash) en Windows).
- Pégalo en tu terminal. Ahora tienes una línea que incluye la URL, la cabecera Cookie, el Referer y cualquier otra cabecera personalizada que el reproductor usó.
Para convertir ese comando cURL en un comando ffmpeg, sustituye curl 'URL' por ffmpeg -headers $'Header1: value\r\nHeader2: value\r\n' -i 'URL' -c copy output.mp4. Tedioso pero fiable.
3. Método 2: Firefox Developer Tools
Las developer tools de Firefox siguen el mismo flujo con nombres ligeramente distintos.
- Abre la página (sin reproducir todavía).
- Pulsa F12 o Cmd + Opt + I en Mac.
- Haz clic en la pestaña Network.
- Escribe
m3u8en el filtro de URL en la parte superior de la lista de peticiones. - Pulsa Reproducir en el video. La petición de la playlist aparece.
- Haz clic derecho en la petición y elige Copy > Copy URL para la URL pelada, o Copy > Copy as cURL para la petición completa con cabeceras.
Firefox a veces etiqueta las playlists HLS como application/x-mpegurl o application/vnd.apple.mpegurl. La columna Type muestra el MIME, lo que es una forma rápida de confirmar que tienes la petición correcta. Los tipos MIME oficiales para HLS están documentados en MDN.
4. El atajo de la extensión de navegador
Si te encuentras capturando URLs M3U8 más de una vez al mes, una extensión de navegador automatiza el flujo entero. En lugar de abrir DevTools, filtrar, copiar URLs y pegarlas en ffmpeg, la extensión detecta la playlist cuando empieza la reproducción, captura las cabeceras desde tu sesión activa y ofrece descarga en un clic.
Por qué es la jugada correcta para la mayoría
- La extensión corre dentro de tu sesión autenticada. Cookies, Referer y cualquier cabecera personalizada se heredan automáticamente.
- La detección del M3U8 es automática. Sin filtros, sin scrollear cientos de peticiones en una página pesada.
- La extensión también puede gestionar la conversión a MP4, incluyendo el descifrado AES-128 si la transmisión está cifrada.
Vidora es la opción que desarrollamos, optimizada específicamente para Vimeo, Bunny.net, transmisiones HLS y fuentes MP4. Para una comparativa más profunda de métodos de detección, consulta la guía de Bunny.net (en inglés) y la guía de Vimeo (en inglés), que cubren peculiaridades específicas de cada plataforma.
5. Cómo leer el M3U8 para elegir la calidad correcta
Una vez tienes la URL del M3U8, abrirla en una pestaña del navegador (o pasarla por curl en una terminal) muestra el contenido de la playlist. Hay dos estructuras habituales.
Playlist master
Una playlist master lista varias renditions de calidad, cada una apuntando a una playlist de medios separada. Tiene este aspecto:
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=2425000,RESOLUTION=1280x720,CODECS="avc1.4d401f,mp4a.40.2"
720p/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=4585000,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2"
1080p/playlist.m3u8
Cada línea EXT-X-STREAM-INF describe una calidad, y la siguiente línea es la URL de la playlist de medios de esa calidad. Pásale la URL de la master a ffmpeg o yt-dlp y eligen la calidad más alta automáticamente. Pasa la URL específica de la playlist 1080p si quieres forzar esa resolución.
Playlist de medios
Una playlist de medios contiene las URLs reales de los segmentos:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:9.96,
seg-001.ts
#EXTINF:9.92,
seg-002.ts
...
#EXT-X-ENDLIST
La etiqueta #EXT-X-ENDLIST al final indica una playlist VOD completa. Las transmisiones en directo omiten esta etiqueta y siguen actualizando la playlist a medida que hay nuevos segmentos disponibles. ffmpeg y yt-dlp manejan ambos casos.
6. Trampas habituales
La URL M3U8 cambia cada vez que recargas
La mayoría de CDN usan URLs firmadas con un token de vida corta. El token forma parte de la URL o es un parámetro de query, y caduca en minutos u horas. Si guardas una URL M3U8 hoy, puede no funcionar mañana. Captura URLs frescas cada vez, o usa una herramienta que vuelva a pedir la playlist según haga falta.
La pestaña Network está vacía tras pulsar Reproducir
O bien la página usa Service Workers que interceptan peticiones (raro), o la petición se disparó antes de que abrieras DevTools. Recarga la página con DevTools ya abierto y la petición se captura desde el principio.
La URL M3U8 funciona en el navegador pero falla en ffmpeg
El CDN exige una cabecera Referer. Captura la petición como cURL para obtener las cabeceras, luego pásalas a ffmpeg con -headers. Es la causa número uno del clásico "la URL funciona en VLC pero falla en línea de comandos".
La URL capturada es de un solo segmento, no de la playlist
Tu filtro atrapó una petición .ts o .m4s antes de que la playlist apareciera. Recarga, filtra estrictamente por m3u8 y captura la primera petición que coincida.
La página nunca pide un M3U8
El video puede estar servido como un único archivo MP4 (descarga progresiva) en lugar de HLS. Filtra por .mp4 en la pestaña Network. Si encuentras una petición MP4 que devuelve un flujo de video, copia su URL del mismo modo. Algunos sitios también usan DASH (.mpd), un formato distinto cubierto en nuestro artículo explicativo de M3U8.
7. Preguntas frecuentes
¿Qué es una URL M3U8?
Es la dirección de un archivo de playlist que lista los segmentos de video de una transmisión HLS. El navegador la pide una vez al iniciar la reproducción y luego descarga los segmentos listados dentro. Capturar esta URL es el primer paso de cualquier flujo manual HLS.
¿Por qué no veo el M3U8 en la pestaña Network?
O bien el reproductor todavía no la pidió (pulsa Reproducir para disparar la petición) o la playlist se cargó como un data URI inline en JavaScript (raro). Para el segundo caso, busca la cadena m3u8 en el código fuente de la página.
¿Playlist master frente a playlist de medios, cuál es la diferencia?
Una playlist master lista varias renditions de calidad, cada una apuntando a su propia playlist de medios. Una playlist de medios contiene las URLs de los segmentos. ffmpeg acepta cualquiera: con la master, elige la calidad más alta disponible automáticamente.
¿Puedo usar la URL M3U8 fuera del navegador?
A veces. Las URLs públicas no autenticadas funcionan en cualquier sitio. Las URLs firmadas con tokens funcionan hasta su caducidad (a menudo 30 minutos a unas horas). Las URLs que necesitan cookies o Referer requieren que esas cabeceras se pasen explícitamente. Copy as cURL captura todo.
¿Por qué mi URL M3U8 deja de funcionar después de un tiempo?
Los CDN usan URLs firmadas con vidas cortas para evitar el hotlinking. Cuando el token caduca, la URL devuelve 403. Vuelve a capturarla desde una reproducción fresca si la necesitas de nuevo. Las extensiones de navegador esquivan esto volviendo a pedirla según haga falta.
¿Funciona esto en navegadores móviles?
Las DevTools móviles son limitadas. El flujo fiable es abrir la misma página en escritorio con el mismo login, capturar allí y luego usar la URL desde la sesión de escritorio. Safari iOS tiene un modo de depuración remota que conecta con un Mac, lo que funciona pero es un poco delicado.
Sobre el autor
RGC Digital LLC desarrolla Vidora, una extensión Pro de Chrome para descargar video de Vimeo, Bunny.net, transmisiones HLS y MP4. Con sede en Albuquerque, NM. Escribimos sobre herramientas de video, protocolos de streaming y desarrollo de extensiones de Chrome.