Subir vídeos
Para subir vídeos, envía una solicitud PUT al endpoint /videos/upload y crea un objeto de vídeo nuevo.
Recibirás una respuesta con una URL firmada de S3 a la que subir el archivo de vídeo.
Crear un vídeo requiere el permiso videos.create. Establecer visibility en public también requiere videos.publish. Sin publish, el vídeo se crea como private. Consulta Autenticación.
Crear objeto de vídeo
CURL
curl -X PUT https://app.ignitevideo.cloud/api/videos/upload \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "Your video title", "visibility": "private" | "public"}'Si tienes un vídeo con contenido hablado y quieres que la autotranscripción con IA empiece justo después de la codificación, puedes hacerlo estableciendo dos parámetros adicionales en la solicitud PUT al crear el vídeo nuevo:
{
...,
"language": string, // "de-DE" | "..." locale of the spoken language
"autoTranscribe": true
}Respuesta
{
"videoId": "[VIDEO_ID]",
"title": "Your video title",
"signedUrl": "[SIGNED_URL]",
}Subir archivo de vídeo
Sube tu archivo de vídeo con una solicitud PUT a la URL firmada que recibiste en el paso anterior.
Debes pasar el tipo MIME del archivo en el encabezado Content-Type. Puedes obtener el tipo MIME de tu archivo de vídeo local mediante el elemento de entrada de archivo.
Para archivos grandes (más de 100 MB), recomendamos usar multipart upload, que ofrece mayor fiabilidad y admite archivos de hasta 60 GB. También puedes usar la biblioteca Uppy para una implementación más sencilla con fragmentación automática y seguimiento del progreso.
CURL
curl -X PUT [SIGNED_URL] \
-H "Content-Type: [MIME_TYPE]" \
--data-binary "@[PATH_TO_VIDEO_FILE]"Proceso de codificación
Después de subir el archivo de vídeo, comienza la codificación. Este proceso puede tardar un tiempo, según el tamaño del vídeo y la complejidad de la codificación.
Consulta el estado de codificación con GET /api/videos/[VIDEO_ID] como se describe en obtener vídeo. Un intervalo de sondeo de unos pocos segundos suele ser suficiente. Mientras la codificación está en curso, status es PROGRESSING y statusProgress es un porcentaje de 0 a 100.
Ejemplo de campos durante la codificación:
{
"id": "[VIDEO_ID]",
"status": "PROGRESSING",
"statusProgress": 36,
"errorCode": null,
"errorMessage": null
}Cuando la codificación tiene éxito, status pasa a COMPLETE, statusProgress es 100, y las fuentes de reproducción están disponibles en src.
Cuando la codificación falla, status pasa a ERROR. Usa errorCode para el manejo programático y errorMessage como respaldo legible. Consulta Estado de codificación para el ciclo de vida completo, los valores de estado y los códigos de error.
También puedes suscribirte a los webhooks video.updated en lugar de hacer polling. Las actualizaciones de progreso pueden dispararse con frecuencia durante la codificación. Consulta Webhooks.