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'
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: 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”.