← Cloudflare Stream / stream / stream-live
Spuštění živého vysílání
Po přihlášení k odběru Stream můžete vytvářet Live Inputs v Dash nebo přes API. Do nového Live Inputu vysílejte pomocí RTMPS nebo SRT. SRT podporuje novější video kodeky a usnadňuje používání funkcí přístupnosti, jako jsou titulky a více zvukových stop.
Vysíláte živě poprvé? Budete potřebovat software pro odesílání videa do Cloudflare. Přečtěte si, jak spustit živé vysílání na Stream pomocí OBS Studio.
Použijte dashboard
Krok 1: V Cloudflare dashboardu přejděte na Živé vstupy stránku a vytvořte live input.
Přejděte na Živé vstupy ↗
Krok 2: Zkopírujte adresu URL RTMPS a klíč a použijte je ve své aplikaci pro živé vysílání. Doporučujeme použít Open Broadcaster Software (OBS) ↗ pro začátek.
Krok 3: Spusťte živé vysílání a zobrazte si jeho náhled v Stream Dashboard
V Stream Dashboardu se během několika sekund od zahájení vysílání zobrazí náhled toho, co uvidí vaši diváci. Chcete-li do svého webu nebo aplikace přidat přehrávání živého videa, přečtěte si Přehrávání videí.
Použijte API
Chcete-li spustit živé vysílání programově, proveďte POST požadavek na /live_inputs koncový bod:
curl -X POST \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"meta": {"name":"test stream"},"recording": { "mode": "automatic" }}' \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs{
"uid": "f256e6ea9341d51eea64c9454659e576",
"rtmps": {
"url": "rtmps://live.cloudflare.com:443/live/",
"streamKey": "MTQ0MTcjM3MjI1NDE3ODIyNTI1MjYyMjE4NTI2ODI1NDcxMzUyMzcf256e6ea9351d51eea64c9454659e576"
},
"created": "2021-09-23T05:05:53.451415Z",
"modified": "2021-09-23T05:05:53.451415Z",
"meta": {
"name": "test stream"
},
"status": null,
"recording": {
"mode": "automatic",
"requireSignedURLs": false,
"allowedOrigins": null,
"hideLiveViewerCount": false
},
"enabled": true,
"deleteRecordingAfterDays": null,
"preferLowLatency": false
}Volitelné parametry API
Referenční dokumentace API pro /live_inputs
-
enabledboolean výchozí:true- Určuje, zda živý vstup přijímá příchozí vysílání. Když je nastaveno na
false, live vstup odmítne veškerá příchozí připojení RTMPS nebo SRT. Tuto vlastnost použijte k programovému ukončení vysílání tvůrce nebo k zabránění zahájení nového vysílání na konkrétním vstupu.
- Určuje, zda živý vstup přijímá příchozí vysílání. Když je nastaveno na
-
preferLowLatencyboolean výchozí:falseBeta- Když je nastaveno na true, bude tento živý vstup zapojen do beta verze zpracovatelské linky Low-Latency HLS. Vestavěný přehrávač Stream použije LL-HLS automaticky, kdykoli to bude možné. (Nahrávání
modevlastnost musí být také nastavena naautomatic.)
- Když je nastaveno na true, bude tento živý vstup zapojen do beta verze zpracovatelské linky Low-Latency HLS. Vestavěný přehrávač Stream použije LL-HLS automaticky, kdykoli to bude možné. (Nahrávání
-
deleteRecordingAfterDayscelé číslo, výchozí hodnota:null(any)-
Určuje datum a čas, kdy bude smazán záznam, nikoli vstup. Tato vlastnost platí od okamžiku, kdy je záznam dostupný a připravený ke streamování. Po smazání záznamu jej již nelze zobrazit a nezapočítává se do úložiště pro účely fakturace. Minimální hodnota je
30, maximální hodnota je1096.Po ukončení streamu obdržíte
scheduledDeletiončasová značka se počítá pomocídeleteRecordingAfterDayshodnotu, pokud je přítomna.Všimněte si, že pokud se hodnota přidá k live input, zatímco stream je živě vysílán, vlastnost se použije pouze na budoucí vysílání.
-
-
timeoutSecondscelé číslo, výchozí hodnota:0-
timeoutSecondsvlastnost určuje, jak dlouho může být živé vysílání odpojeno, než dojde k vytvoření nového videa.
-
Následující čtyři vlastnosti jsou vnořené pod recording objekt.
-
modeřetězec, výchozí hodnota:off- Když je vlastnost mode nastavena na
automatic, bude živé vysílání automaticky dostupné ke sledování prostřednictvím HLS/DASH. Živé vysílání se navíc automaticky nahrává pro pozdější přehrání. Ve výchozím nastavení je režim nahrávání nastaven naoff, a vstup nebude nahráván ani dostupný k přehrání.
- Když je vlastnost mode nastavena na
-
requireSignedURLsboolean výchozí:false-
requireSignedURLsvlastnost udává, zda je pro zobrazení videa vyžadována podepsaná URL adresa. Toto nastavení se ve výchozím stavu použije na všechna videa nahraná z tohoto inputu. Pokud navíc video zobrazujete pomocí ID live inputu, má toto pole přednost před jakýmkoli nastavením na úrovni videa.
-
-
allowedOriginscelé číslo, výchozí hodnota:null(any)-
allowedOriginsvlastnost lze volitelně použít k zadání seznamu povolených originů. Toto nastavení se ve výchozím stavu použije na všechna videa nahraná z tohoto inputu. Pokud navíc video zobrazujete pomocí ID live inputu, má toto pole přednost před jakýmkoli nastavením na úrovni videa.
-
-
hideLiveViewerCountboolean výchozí:false- Omezte přístup k počtu živých diváků a odstraňte tuto hodnotu z přehrávače.
Správa živých vstupů
Aktualizace živého vstupu
Aktualizujte živý vstup odesláním PUT požadavek:
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id} \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"meta": {"name":"test stream 1"},"recording": { "mode": "automatic", "timeoutSeconds": 10 }}'Povolení nebo zakázání živého vstupu
Živé vstupy jsou ve výchozím stavu povolené. Je-li živý vstup zakázán, odmítá příchozí připojení RTMPS a SRT. Tímto způsobem můžete živý vstup dočasně pozastavit bez jeho smazání, ukončit aktivní vysílání a zabránit zahájení nového vysílání na konkrétním vstupu.
Chcete-li deaktivovat živý vstup, nastavte enabled na false:
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id} \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"enabled": false}'Chcete-li živý vstup znovu povolit, nastavte enabled na true:
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id} \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"enabled": true}'Obměna vysílacích klíčů
Vysílací přihlašovací údaje živého vstupu obměňte, pokud mohly být sdíleny s nesprávným publikem, odhaleny v klientském kódu nebo při sdílení obrazovky, nebo pokud je potřeba je obnovit v rámci vašeho bezpečnostního procesu. Obměna klíčů nemění ID živého vstupu ani jeho ostatní nastavení.
Při rotaci klíčů se staré přihlašovací údaje zneplatní, vysílání používající neplatné údaje se odpojí a v odpovědi API se vrátí obnovené přihlašovací údaje.
curl --request POST \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id}/rotate_keys \
--header "Authorization: Bearer <API_TOKEN>"Odpovědi pro živý vstup obsahují keysRotatedAt, které udává, kdy byly klíče live vstupu naposledy obměněny. Toto pole je vynecháno u live vstupů, jejichž klíče ještě nikdy nebyly obměněny.
Odstranění živého vstupu
Živý vstup odstraníte odesláním DELETE požadavek:
curl --request DELETE \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id} \
--header "Authorization: Bearer <API_TOKEN>"Doporučení, požadavky a omezení
Pokud se potýkáte s ukládáním do vyrovnávací paměti, zamrzáním, latencí nebo podobnými problémy, navštivte řešení problémů s živým vysíláním.
Doporučení
- Vaši tvůrci by měli pro své živé vysílání používat vhodný bitrate, obvykle výrazně pod 12Mbps (12000Kbps). Obsah s vysokým pohybem a vysokou snímkovou frekvencí by měl obvykle používat vyšší bitrate, zatímco obsah s nízkým pohybem, jako jsou prezentace se snímky, by měl používat nižší bitrate.
- Vaši tvůrci by měli použít Doba trvání GOP ↗ (interval klíčových snímků) v rozmezí 2 až 8 sekund. Výchozí hodnota většiny kodovacího softwaru a hardwaru, včetně Open Broadcaster Software (OBS), spadá do tohoto rozsahu. Kratší doba GOP snižuje latenci pro diváky, ale zároveň snižuje efektivitu kódování. Delší doba GOP zlepšuje efektivitu kódování, ale zvyšuje latenci pro diváky. Jde o kompromis, který je nedílnou součástí kódování videa, a nikoli o omezení služby Cloudflare Stream.
- Pokud je to možné, zvolte CBR (constant bitrate) místo VBR (variable bitrate), protože CBR pomáhá zajistit stabilní streamování a předchází vyrovnávání i výpadkům.
Doporučení pro vysílání Low-Latency HLS Beta
- Vypněte B-snímky nebo je nastavte na 0. B-snímky nejsou kompatibilní s LL-HLS a způsobí chvění obrazu a občasná zpoždění při ukládání do vyrovnávací paměti.
- Pro co nejnižší latenci použijte velikost GOP (neboli „interval klíčových snímků“) 2 až 4 sekundy.
- Vysílejte na koncový bod RTMP, pokud je to možné, jinak na SRT.
- Pokud používáte OBS, vyberte profil latence „ultra low“.
Požadavky
- Uzavřené GOP jsou povinné. To znamená, že pokud video obsahuje B-snímky, měly by vždy odkazovat na snímky ve stejné GOP. Toto nastavení je výchozí u většiny kódovacího softwaru a hardwaru, včetně OBS Studio ↗.
- Stream Live podporuje jako vstupy pouze video kodek H.264 a audio kodek AAC. Tento požadavek se nevztahuje na vstupy přeposílané na výstupy Stream Connect. Stream Live podporuje ADTS, ale v současné době nepodporuje LATM.
- Klienti musí být nakonfigurováni tak, aby se při přerušení spojení znovu připojili. Stream Live je navržen tak, aby reconnect zvládal bez problémů a živé vysílání dále pokračovalo.
Omezení
- Vodoznaky zatím nelze u živých videí použít.
- Pokud délka živého videa přesáhne sedm dní, záznam bude zkrácen na sedm dní. Zaznamenáno bude pouze prvních sedm dní obsahu živého videa.