Zastępowanie wideo
Zastąpienie pliku wideo realizujesz przez wysłanie żądania PUT do endpointu /videos/upload/[VIDEO_ID].
W odpowiedzi otrzymasz podpisany adres URL S3, pod który możesz wgrać plik wideo.
Przy zastępowaniu wideo wszystkie stare pliki tego wideo zostaną usunięte lub nadpisane. Operacji nie cofniesz.
Pobranie podpisanego URL
CURL
curl -X PUT https://app.ignitevideo.cloud/api/videos/upload/[VIDEO_ID] \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \Odpowiedź
{
"videoId": "[VIDEO_ID]",
"signedUrl": "[SIGNED_URL]",
}Przesłanie pliku wideo
Prześlij plik wideo jako żądanie PUT na podpisany adres URL z poprzedniego kroku.
Musisz przekazać typ MIME pliku w nagłówku Content-Type. Typ MIME możesz odczytać z lokalnego pliku wideo przez element <input type="file">.
CURL
curl -X PUT [SIGNED_URL] \
-H "Content-Type: [MIME_TYPE]" \
--data-binary "@[PATH_TO_VIDEO_FILE]"Proces kodowania
Po wgraniu pliku zastępczego rozpoczyna się kodowanie. W trakcie zastępowania status może przez chwilę wynosić REPLACING, zanim przejdzie na PROGRESSING. Kodowanie może chwilę potrwać — zależy to od rozmiaru wideo i złożoności kodowania.
Status kodowania sprawdzisz przez GET /api/videos/[VIDEO_ID], zgodnie z sekcją pobieranie wideo. Interwał odpytywania co kilka sekund zwykle wystarczy. Podczas kodowania status to PROGRESSING, a statusProgress to procent od 0 do 100.
Przykładowe pola podczas kodowania:
{
"id": "[VIDEO_ID]",
"status": "PROGRESSING",
"statusProgress": 36,
"errorCode": null,
"errorMessage": null
}Gdy kodowanie się powiedzie, status przechodzi na COMPLETE, statusProgress wynosi 100, a źródła odtwarzania są dostępne w src.
Gdy kodowanie się nie powiedzie, status przechodzi na ERROR. Do obsługi programowej użyj errorCode, a errorMessage traktuj jako czytelny zapasowy opis. Zobacz Status kodowania po pełny cykl życia, wartości statusu i kody błędów.
Możesz też subskrybować webhooki video.updated zamiast odpytywać API. Aktualizacje postępu mogą często wysyłać się podczas kodowania. Zobacz Webhooks.