putRecordingTextTrack – Metin İzi Yükle
putRecordingTextTrack uç noktası, bir kayıt için altyazı veya açıklama dosyaları yüklemenize olanak tanır. Desteklenen biçimler SRT, SSA/ASS ve WebVTT'dir. Yüklenen tüm dosyalar dahili olarak WebVTT biçimine dönüştürülür. Yanıt JSON biçiminde döndürülür.
Bu uç nokta yalnızca POST isteklerini destekler. GET istekleri kabul edilmez.
Uç Nokta
POST https://api-guide.bbbserver.com/bigbluebutton/api/putRecordingTextTrack?<parameters>&checksum=replace-with-checksum Altyazı dosyası multipart/form-data gövdesinde POST olarak gönderilmelidir. Checksum yalnızca URL sorgu parametrelerinden hesaplanır — POST gövdesi checksum hesaplamasına dahil edilmez.
URL Parametreleri (Sorgu Dizgesi)
| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
|---|---|---|---|---|
recordID | String | Evet | — | Tek bir kayıt kimliği. Diğer uç noktaların aksine, bu parametre virgülle ayrılmış bir liste kabul etmez — yalnızca bir kayıt kimliğine izin verilir. |
kind | Enum | Evet | — | Metin parçasının türü. Kabul edilen değerler altiesazilar veya aciklamalar değerleridir. |
lang | String | Evet | — | RFC 5646 ile uyumlu bir dil etiketi (ör. de-DE, en-US). |
label | String | Hayır | lang değerinden otomatik algılanır | Parça için insan tarafından okunabilir bir görünen ad (ör. "Almanca"). Belirtilmezse, dil adı lang değerinden otomatik olarak türetilir. |
POST Gövdesi (multipart/form-data)
| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
|---|---|---|---|---|
file | Binary | Evet | — | Yüklenecek altyazı dosyası. Desteklenen biçimler: SRT (application/x-subrip), SSA/ASS ve WebVTT (text/vtt). Dosya eksikse veya boşsa API bir FAILED yanıtı döndürür. |
Örnek İstek
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" Örnek Yanıt
Başarılı bir çağrı aşağıdaki JSON değerini döndürür:
{
"response": {
"returncode": "SUCCESS",
"messageKey": "upload_text_track_success",
"message": "Text track uploaded successfully",
"recordId": "replace-with-recording-id"
}
} Hata Yanıtları
messageKey | Açıklama |
|---|---|
paramError | Gerekli bir parametre eksik (checksum, recordID, kind veya lang). Not: resmî belgelerde bu yanlışlıkla missingParameter olarak listelenmiştir. |
noRecordings | Belirtilen kayıt kimliği bulunamadı. |
invalidKind | kind değeri geçersiz. altiesazilar veya aciklamalar olmalıdır. |
invalidLang | Dil etiketi biçimi geçersiz. RFC 5646 ile uyumlu olmalıdır. |
empty_uploaded_text_track | Yüklenen dosya boştu veya isteğe hiç dosya eklenmemişti. |
Önemli Davranış
Metin parçası işleme süreci eşzamansızdır. Başarılı bir yüklemeden sonra, parçanın kayıt oynatımında kullanılabilir hâle gelmesi birkaç dakika sürebilir.
Aynı kind ve dil ile bir parça zaten varsa, yeni dosyayla üzerine yazılır.
Boş bir dosya yüklemek veya dosya olmadan istek göndermek mevcut bir parçayı silmez. API bunun yerine bir FAILED yanıtı döndürür.
Yüklenen tüm altyazı biçimleri (SRT, SSA/ASS) oynatma için otomatik olarak WebVTT biçimine dönüştürülür.
bbbserver.de Notlar
İpuçları
Yüklediğiniz metin parçasının işlendiğini ve uygulamanızda bağlantı vermeden önce oynatım için kullanılabilir olduğunu doğrulamak için getRecordingTextTracks uç noktasını kullanın.
- WebVTT önerilen biçimdir; çünkü dönüştürme gerektirmez ve tarayıcılar tarafından yerel olarak desteklenir.
- Birden fazla dil parçası yüklerken, mevcut parçaların yanlışlıkla üzerine yazılmasını önlemek için farklı RFC 5646 dil etiketleri kullanın.
- İzleyicilerin oynatma dil seçicisinde doğru parçayı belirlemesine yardımcı olmak için açıklayıcı bir
labelparametresi ayarlayın. - Checksum'un yalnızca URL sorgu parametrelerinden hesaplandığını unutmayın — dosya içeriğini checksum'a dahil etmeyin.