dodocastDesarrolladoresPlayer SDK
Player SDKpara tu sitio y tu servidor.
@dodocast/player pone el reproductor de dodocast en tus páginas, crea enlaces HLS directos, lee lo que un canal 24/7 emite ahora y a continuación, y firma enlaces a vídeo privado en tu backend. Sin dependencias, con tipos de TypeScript incluidos y licencia MIT.
Cuatro tareas, funciones simples.
| Tarea | Funciones | Funciona con |
|---|---|---|
| Enlaces y embeds | watchUrl(), embedUrl(), embedHtml(), mount() — tamaño adaptable o fijo, hora de inicio, ítem de la lista, secreto del enlace privado | vídeos, listas de reproducción, emisiones, canales 24/7 |
| Enlaces HLS directos | streamUrl() — fMP4/CMAF, MPEG-TS, byte-range para vídeos | vídeos, emisiones, canales 24/7; Pro y Business |
| Datos del canal | getChannelState() (ahora y a continuación), getChannelGuide() (hasta dos semanas), progress() | canales 24/7 publicados |
| Enlaces firmados | signToken(), signedStreamUrl(), signedPlaylistItemUrl() de @dodocast/player/server — JWT, HS256, hasta 24 h | tu propio contenido; Node.js 18+ |
El mismo embed que en la consola.
embedHtml() devuelve el marcado del botón «Embed» de la consola; mount() lo coloca en un elemento de tu página.
- Adaptable por defecto, con cualquier relación de aspecto:
aspect: [9, 16]para vídeo vertical. - Empieza un vídeo en un segundo concreto con
starty abre una lista en un ítem conitem. - Dónde puede aparecer el reproductor se define por vídeo en la consola: en todas partes, en ninguna o en hasta 50 dominios.
Un widget de «ahora al aire» en pocas líneas.
Cada canal publicado sirve su estado y su guía de programación en JSON abierto. El SDK lee ambos y te da un valor de progreso basado en el reloj del servidor.
getChannelState(): al aire o no, el ítem actual y el siguiente, el programa con horario actual y el siguiente.getChannelGuide(): las próximas 24 horas por defecto, o cualquier ventana de hasta dos semanas confromyto.- Consulta el estado cada 10–30 segundos; no hay canal de notificaciones push.
HLS directo para hls.js, Safari y televisores.
streamUrl() construye la URL del manifiesto. El contenido público se reproduce directamente desde ella; cualquier otro responde 403 hasta que firmes el enlace en tu servidor.
- Vídeos: manifiestos fMP4/CMAF, MPEG-TS y byte-range. Emisiones y canales: fMP4/CMAF y MPEG-TS.
- El contenido cifrado se reproduce en reproductores HLS estándar: la URI de la clave está en el manifiesto.
- La retención y la finalización las mide el reproductor de dodocast; las visualizaciones en tu propio reproductor cuentan como tráfico.
Tu backend decide quién lo ve.
Crea una clave en la consola, en Settings → Signing keys. Tu servidor emite un token para un vídeo, una lista, una emisión o un canal; el reproductor hace el resto.
- Cabecera
{ alg: HS256, kid }, payload{ code, iat, exp }, vida útil de hasta 24 horas. - El secreto se usa como cadena, exactamente como lo muestra la consola. Nunca lo envíes a un navegador.
- Hay ejemplos en Python, PHP y Kotlin en la guía de enlaces firmados.
Lo que el SDK no hace.
Para que lo tengas en cuenta desde el principio.
- Sin API de reproducción: no puedes llamar a play, pause ni seek en un reproductor insertado ni escuchar sus eventos. La integración es el iframe; la hora de inicio y el ítem de la lista van en la URL.
- Sin API de subida ni de gestión: sube y organiza los vídeos en la consola.
- Sin DASH ni DRM. El cifrado es HLS AES-128 o SAMPLE-AES.
- Sin entrada de cámara en directo ni de codificador: las emisiones y los canales emiten vídeos subidos.
¿Funciona sin paso de compilación?
Sí. Son módulos ES simples: impórtalo desde npm en tu bundler o desde un CDN de ESM en una etiqueta script.
¿Qué plan necesito?
Los embeds y los datos del canal funcionan en todos los planes. Los enlaces HLS directos y los enlaces firmados están en Pro y Business.
¿A dónde apuntan los enlaces?
A watch.dodocast.com y stream.dodocast.com por defecto. Durante el acceso anticipado, pasa los hosts que te dimos con la opción hosts.
¿Es de código abierto?
Sí, MIT. Los issues y pull requests son bienvenidos en GitHub.
Tu canal está a una subida de distancia.
Abrimos dodocast a los primeros socios: media, educación, eventos, TV interna. Cuéntanos qué quieres poner al aire.
o escribe a hello@dodocast.com
La consola de dodocast está disponible por ahora solo en inglés y ruso.