← Cloudflare Realtime / realtime / realtimekit / recording-guide
Nahrávání tracků
Nahrávání tracků umožňuje nahrávat zvuk účastníků jako samostatné soubory WebM místo jedné souhrnné nahrávky schůzky. Použijte ho, když potřebujete kontrolu nad tím, co ukládáte, zpracováváte nebo kontrolujete, na úrovni jednotlivých mluvčích.
Díky nahrávání tracků můžete nahrávat konkrétní tracky účastníků, když předáte user_ids, což se hodí pro citlivé nebo regulované pracovní postupy, kde není nutné nahrávat každého účastníka. Pokud neuvedete user_ids, RealtimeKit ve výchozím nastavení zaznamená všechny audio stopy účastníků jako samostatné soubory WebM.
Chcete-li předat user_ids pro nahrávání konkrétní stopy účastníka použijte následující minimální verze SDK:
- Web Core:
@cloudflare/realtimekitverze1.4.0nebo novější - Web UI Kit:
@cloudflare/realtimekit-ui,@cloudflare/realtimekit-react-ui, nebo@cloudflare/realtimekit-angular-uiverze1.1.2nebo novější - Android Core nebo iOS Core: verze
2.0.0nebo novější - Android UI Kit nebo iOS UI Kit: verze
1.1.0nebo novější
Nahrávání tracků vytvoří jeden soubor pro každého nahrávaného účastníka.
Dostupnost a limity
Nahrávání tracků má následující požadavky a omezení:
| Limit | Popis |
|---|---|
| Aktivní schůzka | Schůzka musí mít aktivní živé sezení. |
| Typ média | Pouze audio vrstvy se zaznamenávají. |
| Výběr účastníka | Předejte až 100 hodnot v user_ids. |
| Úložiště | Soubory se nahrávají do spravovaného R2 bucketu RealtimeKit bez poplatků za odchozí přenos dat (zero-egress). |
| Doba uchování souborů | URL adresy pro stahování z bucketu RealtimeKit přestávají platit po sedmi dnech. |
Spustit nahrávání stopy
Nahrávání konkrétních účastníků
Chcete-li nahrávat oddělené audio tracky konkrétních účastníků, zavolejte POST /recordings/track s ID schůzky a účastníkem user_ids.
curl --request POST \
--url https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/recordings/track \
--header 'Authorization: Bearer <api_token>' \
--header 'Content-Type: application/json' \
--data '{
"meeting_id": "97440c6a-140b-40a9-9499-b23fd7a3868a",
"user_ids": ["user-123", "user-456"]
}'RealtimeKit nahrává současné i budoucí účastníky, jejichž user_id odpovídá seznamu povolených položek. Účastníci, jejichž user_id není uvedena, nejsou zaznamenáváni.
Nahrávejte všechny účastníky jako oddělené tracky
Vynechte user_ids a nahrát tak samostatné zvukové stopy pro všechny účastníky živé schůzky. RealtimeKit vytvoří jeden soubor WebM pro každého nahraného účastníka.
curl --request POST \
--url https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/recordings/track \
--header 'Authorization: Bearer <api_token>' \
--header 'Content-Type: application/json' \
--data '{
"meeting_id": "97440c6a-140b-40a9-9499-b23fd7a3868a"
}'Odpověď obsahuje ID nahrávání. Toto ID použijte k zastavení nebo načtení nahrávky.
{
"success": true,
"data": {
"recording": {
"id": "fff40c6a-140b-40a9-9499-b23fd7a3868a",
"meeting_id": "97440c6a-140b-40a9-9499-b23fd7a3868a",
"status": "INVOKED",
"type": "TRACK",
"output_file_name": "{{file_name_prefix}}_{{user_id}}_{{peer_id}}_{{stream_kind}}_{{media_kind}}_{{date_time}}.webm"
}
}
}Přizpůsobení názvů souborů předponami
Použijte layers.default.file_name_prefix jako předponu pro každý vygenerovaný soubor nahrávky tracku.
{
"meeting_id": "97440c6a-140b-40a9-9499-b23fd7a3868a",
"layers": {
"default": {
"media_kind": "audio",
"file_name_prefix": "speaker"
}
}
}Pokud vynecháte layers, RealtimeKit použije default jako předponu názvu souboru.
Zastavit nahrávání stopy
Použijte endpoint pro aktualizace nahrávání a zastavit tak nahrávání tracku.
curl --request PUT \
--url https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/recordings/<recording_id> \
--header 'Authorization: Bearer <api_token>' \
--header 'Content-Type: application/json' \
--data '{
"action": "stop"
}'Nahrávání tracků se zastaví také po ukončení relace schůzky.
Jakmile se nahrávání stopy zastaví, RealtimeKit nahraje soubory WebM pro jednotlivé účastníky a přesune nahrávku do UPLOADED.
Stáhnout soubory stop
Nahrávání tracků používá stejný životní cyklus stavu nahrávání jako souhrnné nahrávání. Stav můžete sledovat v Sledování stavu nahrávání.
Jakmile nahrávání dosáhne UPLOADED, načtěte podrobnosti záznamu nebo naslouchejte recording.statusUpdate webhook. Pro nahrávání jednotlivých stop, download_url obsahuje URL adresy souborů WebM pro jednotlivé účastníky, seskupené podle vrstvy.
{
"download_url": [
{
"layer_name": "default",
"download_urls": {
"speaker_user-123_peer-456_peer_audio_1760000000000.webm": {
"download_url": "https://example.com/presigned-url"
}
}
}
]
}Názvy souborů mají tento formát:
{{file_name_prefix}}_{{user_id}}_{{peer_id}}_{{stream_kind}}_{{media_kind}}_{{date_time}}.webm date_time hodnota představuje Unix timestamp v milisekundách, kdy byl soubor vygenerován.