Table of Contents

Telemadrid

En un vídeo de Telemadrid, pulsar compartir y aparece “Código de incustración”

<iframe src='//players.brightcove.net/6416060453001/UQ181zOkpx_default/index.html?videoId=6401201067112' allowfullscreen frameborder=0></iframe>

Descargamos el vídeo con el comando:

yt-dlp '//players.brightcove.net/6416060453001/UQ181zOkpx_default/index.html?videoId=6401201067112'

Método 1

Directo con yt-dlp (recomendado)

Solo necesitas el Brightcove Account ID y el Video ID. Se obtienen así:

1. Abre la página del video en Chrome/Firefox y abre DevTools (F12)
2. Ve a la pestaña Network (Red)
3. Filtra por "galgo-telemadrid.galgo.tv/video/"
4. Recarga la página
5. Busca una petición como:
   galgo-telemadrid.galgo.tv/video/madrid-directo-15072026?version=2...
6. En la respuesta JSON busca el campo "brightcoveId"

Una vez tienes el accountId y videoId:

# El accountId de Telemadrid es siempre 6416060453001

yt-dlp "https://players.brightcove.net/6416060453001/default_default/index.html?videoId=6401235687112"

Método 2

Método 2: con Playwright (si quieres automatizar)

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()
    
    # Interceptar respuestas de la API
    video_data = {}
    def handle_response(response):
        if '/video/' in response.url and '/uri' not in response.url:
            video_data['info'] = response.json()
        if '/video/' in response.url and '/uri' in response.url:
            video_data['uri'] = response.json()
    
    page.on('response', lambda r: handle_response(r))
    page.goto('https://www.tlmad.es/content/madrid-directo-1/madrid-directo-15072026/play',
              wait_until='networkidle')
    
    brightcove_id = video_data['info']['extraData']['brightcoveId']
    hls_url = video_data['uri']['uris']['hls']['uri']
    mp4_url = video_data['uri']['uris']['master']
    
    # Descargar con yt-dlp
    # o descargar directo: wget "$mp4_url" -O video.mp4

Estructura de las URLs:

Paso URL Descripción
1 galgo-telemadrid.galgo.tv/video/{slug}?version=2 Obtiene metadatos del video (contiene brightcoveId)
2 galgo-telemadrid.galgo.tv/video/{brightcoveId}/uri Obtiene las URLs de reproducción (HLS, MP4, DASH)
3 Brightcove player players.brightcove.net/{accountId}/default_default/index.html?videoId={videoId}

Resumen: abre DevTools → Network → filtra por galgo-telemadrid.galgo.tv/video/ → del primer JSON sacas el brightcoveId → yt-dlp “https://players.brightcove.net/6416060453001/default_default/index.html?videoId=BRIGHTCOVE_ID”.