putRecordingTextTrack – Prześlij ścieżkę tekstową
Punkt końcowy putRecordingTextTrack umożliwia przesyłanie plików napisów lub podpisów do nagrania. Obsługiwane formaty to SRT, SSA/ASS i WebVTT. Wszystkie przesłane pliki są wewnętrznie konwertowane do WebVTT. Odpowiedź jest zwracana w formacie JSON.
Ten punkt końcowy obsługuje tylko żądania POST. Żądania GET nie są akceptowane.
Punkt końcowy
POST https://api-guide.bbbserver.com/bigbluebutton/api/putRecordingTextTrack?<parameters>&checksum=replace-with-checksum Plik napisów musi zostać wysłany jako multipart/form-data w treści POST. Suma kontrolna jest obliczana wyłącznie na podstawie parametrów zapytania URL — treść POST nie jest uwzględniana w obliczeniu sumy kontrolnej.
Parametry URL (ciąg zapytania)
| Parametr | Typ | Wymagane | Domyślnie | Opis |
|---|---|---|---|---|
recordID | String | Tak | — | Pojedynczy identyfikator nagrania. W przeciwieństwie do innych endpointów ten parametr nie akceptuje listy rozdzielonej przecinkami — dozwolony jest tylko jeden identyfikator nagrania. |
kind | Enum | Tak | — | Typ ścieżki tekstowej. Akceptowane wartości to napisy lub captions. |
lang | String | Tak | — | Znacznik języka zgodny z RFC 5646 (np. de-DE, en-US). |
label | String | Nie | Automatycznie wykrywane z lang | Czytelna dla człowieka nazwa wyświetlana ścieżki (np. „niemiecki”). Jeśli zostanie pominięta, nazwa języka jest automatycznie wyprowadzana z wartości lang. |
Treść POST (multipart/form-data)
| Parametr | Typ | Wymagane | Domyślnie | Opis |
|---|---|---|---|---|
file | Binary | Tak | — | Plik napisów do przesłania. Obsługiwane formaty: SRT (application/x-subrip), SSA/ASS i WebVTT (text/vtt). Jeśli plik jest brakujący lub pusty, API zwraca odpowiedź FAILED. |
Przykładowe żądanie
curl -X POST \
"https://api-guide.bbbserver.com/bigbluebutton/api/putRecordingTextTrack?recordID=replace-with-recording-id&kind=subtitles&lang=de-DE&label=Deutsch&checksum=replace-with-checksum" \
-F "file=@subtitles.srt;type=application/x-subrip" Przykładowa odpowiedź
Pomyślne wywołanie zwraca następujący JSON:
{
"response": {
"returncode": "SUCCESS",
"messageKey": "upload_text_track_success",
"message": "Text track uploaded successfully",
"recordId": "replace-with-recording-id"
}
} Odpowiedzi błędów
messageKey | Opis |
|---|---|
paramError | Brakuje wymaganego parametru (checksum, recordID, kind lub lang). Uwaga: oficjalna dokumentacja błędnie podaje to jako missingParameter. |
noRecordings | Nie znaleziono wskazanego identyfikatora nagrania. |
invalidKind | Wartość kind jest nieprawidłowa. Musi być subtitles lub captions. |
invalidLang | Format znacznika języka jest nieprawidłowy. Musi być zgodny z RFC 5646. |
empty_uploaded_text_track | Przesłany plik był pusty albo w żądaniu nie dołączono żadnego pliku. |
Ważne zachowanie
Przetwarzanie ścieżek tekstowych odbywa się asynchronicznie. Po pomyślnym przesłaniu może minąć kilka minut, zanim ścieżka będzie dostępna podczas odtwarzania nagrania.
Jeśli ścieżka z tym samym kind i językiem już istnieje, zostanie nadpisana nowym plikiem.
Przesłanie pustego pliku lub wysłanie żądania bez pliku nie usuwa istniejącej ścieżki. API zwraca zamiast tego odpowiedź FAILED.
Wszystkie przesłane formaty napisów (SRT, SSA/ASS) są automatycznie konwertowane do WebVTT na potrzeby odtwarzania.
Uwagi bbbserver.de
Wskazówki
Użyj endpointu getRecordingTextTracks, aby sprawdzić, czy przesłana ścieżka tekstowa została przetworzona i jest dostępna do odtwarzania, zanim podlinkujesz ją w swojej aplikacji.
- WebVTT jest zalecanym formatem, ponieważ nie wymaga konwersji i jest natywnie obsługiwany przez przeglądarki.
- Podczas przesyłania wielu ścieżek językowych używaj różnych znaczników języka RFC 5646, aby uniknąć przypadkowego nadpisania istniejących ścieżek.
- Ustaw opisowy parametr
label, aby pomóc widzom rozpoznać właściwą ścieżkę w selektorze języka odtwarzania. - Pamiętaj, że suma kontrolna jest obliczana wyłącznie na podstawie parametrów zapytania URL — nie uwzględniaj zawartości pliku w sumie kontrolnej.