Puedes crear clips de transmisiones activas de Livepeer Studio a través de la API. Un clip es un segmento de la transmisión (por ejemplo, los últimos N segundos o un rango elegido) y se almacena como un activo que puedes reproducir como cualquier activo de VOD.
Clipping is supported only for livestreams and livestream recordings. Other asset types are not supported for clipping.
Cómo funciona la creación de clips
- Los clips se crean desde la perspectiva del espectador: por ejemplo, “últimos 30 segundos” son los últimos 30 segundos que el espectador vio (según su posición de reproducción).
- Envías marcas de tiempo de inicio y final (milisegundos UNIX). Estas normalmente provienen del reproductor (por ejemplo, HLS.js
playingDate o el disparador de clip del Livepeer Player)
- Livepeer crea unactivo para el clip. Puedes consultar el activo o escuchar la
asset.readywebhook para saber cuándo el clip es jugable.
Usa la API Crear Clip con:
playbackId — El ID de reproducción de la transmisión activa.
startTime — Inicio del fragmento (ms UNIX, desde la posición de reproducción).
endTime — Fin del fragmento (ms UNIX).
name — (Opcional) Nombre para el recurso del fragmento.
Asegúrate de questartTime esté en o después del inicio de la transmisión yendTime no esté en el futuro.
Ejemplo (Node.js)
const result = await livepeer.stream.createClip({
playbackId: process.env.PLAYBACK_ID_OF_RUNNING_STREAM,
startTime: endTime - 30000, // 30 seconds before end
endTime: Date.now(),
name: "My clip",
});
// result.asset has the new clip asset; result.task has the task ID
Con el Livepeer Player
El Player’s Clip trigger puede proporcionar playbackId, startTime, y endTime. Llama a la API Create Clip desde tu backend (con los mismos parámetros) y valida la entrada (por ejemplo, longitud máxima del clip, limitación de velocidad).
Supervisa el estado del clip
- Búsqueda periódica — Llamar a
GET /asset/{assetId} hasta asset.status es ready.
- Webhooks — Suscribirse a
asset.ready (y opcionalmente asset.failed). Usa la assetId del resultado de create-clip para coincidir con el evento.
- El activo del clip tiene
source.type === "clip" y un sessionId por lo que puedes saber que es un clip.
Los clips obtienen reproducción de origen primero (reproducible rápidamente); las versiones transcodificadas se agregan cuando finaliza el procesamiento. Use la playbackId con la API de Información de Reproducción o la Reproductor para reproducirlo.
Listar clips de una transmisión
Usa laAPI Clips para transmisión en vivo (por transmisión o sesión) para listar los clips creados a partir de una transmisión.