putRecordingTextTrack – Tekstspoor uploaden
Met het endpoint putRecordingTextTrack kun je ondertitel- of captionbestanden uploaden voor een opname. Ondersteunde formaten zijn SRT, SSA/ASS en WebVTT. Alle geüploade bestanden worden intern geconverteerd naar WebVTT. Het antwoord wordt geretourneerd in JSON-formaat.
Dit endpoint ondersteunt alleen POST-verzoeken. GET-verzoeken worden niet geaccepteerd.
Endpoint
POST https://api-guide.bbbserver.com/bigbluebutton/api/putRecordingTextTrack?<parameters>&checksum=replace-with-checksum Het ondertitelbestand moet als multipart/form-data in de POST-body worden verzonden. De checksum wordt alleen berekend op basis van de URL-queryparameters — de POST-body wordt niet meegenomen in de berekening van de checksum.
URL-parameters (querystring)
| Parameter | Type | Vereist | Standaard | Beschrijving |
|---|---|---|---|---|
recordID | String | Ja | — | Eén enkele opname-ID. In tegenstelling tot andere endpoints accepteert deze parameter geen door komma's gescheiden lijst — slechts één opname-ID is toegestaan. |
kind | Enum | Ja | — | Het type teksttrack. Geaccepteerde waarden zijn subtitles of captions. |
lang | String | Ja | — | Een taaltag conform RFC 5646 (bijv. de-DE, en-US). |
label | String | Nee | Automatisch gedetecteerd uit lang | Een voor mensen leesbare weergavenaam voor de track (bijv. "Duits"). Indien weggelaten, wordt de taalnaam automatisch afgeleid van de waarde lang. |
POST Body (multipart/form-data)
| Parameter | Type | Vereist | Standaard | Beschrijving |
|---|---|---|---|---|
file | Binary | Ja | — | Het te uploaden ondertitelbestand. Ondersteunde formaten: SRT (application/x-subrip), SSA/ASS en WebVTT (text/vtt). Als het bestand ontbreekt of leeg is, retourneert de API een FAILED-antwoord. |
Voorbeeldverzoek
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" Voorbeeldrespons
Een succesvolle aanroep retourneert de volgende JSON:
{
"response": {
"returncode": "SUCCESS",
"messageKey": "upload_text_track_success",
"message": "Text track uploaded successfully",
"recordId": "replace-with-recording-id"
}
} Foutresponses
messageKey | Beschrijving |
|---|---|
paramError | Een vereiste parameter ontbreekt (checksum, recordID, kind of lang). Opmerking: de officiële documentatie vermeldt dit onjuist als missingParameter. |
noRecordings | De opgegeven opname-ID is niet gevonden. |
invalidKind | De waarde kind is ongeldig. Moet subtitles of captions zijn. |
invalidLang | Het formaat van de taaltag is ongeldig. Het moet voldoen aan RFC 5646. |
empty_uploaded_text_track | Het geüploade bestand was leeg of er was geen bestand opgenomen in het verzoek. |
Belangrijk gedrag
De verwerking van teksttracks is asynchroon. Na een succesvolle upload kan het enkele minuten duren voordat de track beschikbaar is bij het afspelen van de opname.
Als er al een track bestaat met dezelfde kind en taal, wordt deze overschreven met het nieuwe bestand.
Het uploaden van een leeg bestand of het verzenden van een verzoek zonder bestand verwijdert geen bestaande track. De API retourneert in plaats daarvan een FAILED-antwoord.
Alle geüploade ondertitelformaten (SRT, SSA/ASS) worden automatisch geconverteerd naar WebVTT voor afspelen.
bbbserver.de Notities
Tips
Gebruik het endpoint getRecordingTextTracks om te controleren of je geüploade teksttrack is verwerkt en beschikbaar is voor weergave voordat je ernaar linkt in je applicatie.
- WebVTT is het aanbevolen formaat omdat het geen conversie vereist en native door browsers wordt ondersteund.
- Gebruik bij het uploaden van meerdere taaltracks verschillende RFC 5646-taaltags om te voorkomen dat bestaande tracks per ongeluk worden overschreven.
- Stel een beschrijvende parameter
labelin om kijkers te helpen de juiste track te herkennen in de taalkeuze van de afspeler. - Vergeet niet dat de checksum alleen wordt berekend op basis van de URL-queryparameters — neem de bestandsinhoud niet op in de checksum.