Živé události a živé výstupy v Media Services

logo Media Services verze 3


hledáte dokumentaci k Media Services v2?

Azure Media Services vám umožní doručovat živé události zákazníkům v cloudu Azure. chcete-li nastavit události živého streamování v Media Services v3, je nutné porozumět konceptům, které jsou popsány v tomto článku.

Tip

pro zákazníky, kteří migrují z Media Services v2 rozhraní api, nahradí entita živá událost kanál ve verzi v2 a program pro živý výstup nahradí.

Živě streamované události

Živé události jsou zodpovědné za ingestování a zpracování aktivních informačních kanálů. Když vytvoříte živou událost, vytvoří se primární a sekundární vstupní koncový bod, který můžete použít k odeslání živého signálu ze vzdáleného kodéru. Vzdálený živý kodér pošle do tohoto vstupního koncového bodu kanál příspěvků pomocí vstupního protokolu RTMP nebo Smooth Streaming (fragmentovaný-MP4). Pro protokol ingestování RTMP se dá obsah poslat jasným ( rtmp:// ) nebo bezpečně šifrovaným na lince ( rtmps:// ). Pro protokol Smooth Streaming ingestování jsou podporovaná schémata URL http:// nebo https:// .

Typy živých událostí

Živá událost může být nastavená na základní nebo standardní předávací (místní živý kodér posílá datový proud s více přenosovými rychlostmi) nebo živé kódování (místní kodér Live Encoder posílá datový proud s jednou přenosovou rychlostí). Typy jsou nastaveny během vytváření pomocí LiveEventEncodingType:

  • LiveEventEncodingType. PassthroughBasic: místní kodér Live Encoder posílá datový proud s více přenosovými rychlostmi. Základní předávací rozhraní je omezené na vstup z špičky na 5 MB/s, 8 hodin a živý přepis není podporovaný.
  • LiveEventEncodingType. PassthroughStandard: místní kodér Live Encoder posílá datový proud s více přenosovými rychlostmi. Standardní předávací postup má vyšší omezení pro ingestování, 25 hodinový interval a podporu pro živé přepisy.
  • LiveEventEncodingType. Standard: místní živý kodér odesílá datový proud s jednou přenosovou rychlostí do živé události a Media Services vytvoří více datových proudů s přenosovou rychlostí. Pokud je informační kanál příspěvku z řešení 720p nebo vyšší, Default720p předvolba zakóduje sadu párů s 6 páry rozlišení/přenosů.
  • LiveEventEncodingType. Premium1080p: místní živý kodér odesílá datový proud s jednou přenosovou rychlostí do živé události a Media Services vytvoří více datových proudů s přenosovou rychlostí. Předvolba Default1080p určuje výstupní sadu párů rozlišení/přenosové rychlosti.

Průchod

předávací živá událost s Media Services ukázkovým diagramem

Při použití předávací živé události Basic nebo Standard se vám spoléháte na váš místní živý kodér, který vygeneruje více datových proudů videa s více přenosovými rychlostmi a pošle je jako kanál příspěvků do živé události (pomocí RTMP nebo fragmentu protokolu-MP4). Živá událost pak provede přes příchozí datové proudy videa bez dalšího zpracování. Taková předávací živá událost je optimalizovaná pro dlouhotrvající živé události nebo 24x365 lineární živé streamování. Při vytváření tohoto typu živé události zadejte Pass-through "Basic" nebo "Standard". (LiveEventEncodingType.PassThroughStandard).

Informační kanál příspěvku můžete poslat až do 4K a snímkovou rychlostí 60 snímků za sekundu s použitím video kodeků H. 264/AVC nebo H. 265/HEVC (jenom pro hladké přijímání zpráv) a zvukového kodeku AAC (AAC-LC, HE-AACv1 nebo HE-AACv2). Další informace naleznete v tématu porovnání typů událostí typu Live.

Poznámka

Použití předávací metody je nejúčinnější způsob, jak provádět živé streamování, když provádíte více událostí po dlouhou dobu a už jste investovali do místních kodérů. Podívejte se na podrobnosti o cenách .

Podívejte se na příklad kódu .NET pro vytvoření předávací průchozí události v živé události se systémem DVR.

Kódování v reálném čase

živé kódování pomocí Media Services ukázkový diagram

pokud používáte živé kódování s Media Services, nakonfigurujete místní kodér live encoder k odeslání videa s jednou přenosovou rychlostí jako kanálu příspěvků do živé události (pomocí RTMP nebo Fragmented-Mp4ho protokolu). Pak nastavíte živou událost tak, aby se zakódujíy příchozí datový proud s jednou přenosovou rychlostí do více datových streamů s více přenosovými rychlostmi, a výstup bude dostupný pro doručování do zařízení přes protokoly, jako je MPEG-pomlčka, HLS a Smooth Streaming.

Při použití živého kódování můžete odeslat kanál příspěvku pouze v rozlišení až do rozlišení 1080p za snímkovou rychlostí 30 snímků za sekundu a s použitím kodeku H. 264/AVC a zvukového kodeku AAC (AAC-LC, HE-AACv1 nebo AACv2). Upozorňujeme, že průchozí živé události můžou podporovat řešení až 4K na 60 snímků za sekundu. Další informace naleznete v tématu porovnání typů událostí typu Live.

Rozlišení a přenosové rychlosti obsažené ve výstupu z kodéru Live Encoder se určují pomocí přednastavení. Pokud používáte standardní Live Encoder (LiveEventEncodingType. Standard), pak předvolba Default720p určuje sadu šesti párů rozlišení a přenosové rychlosti z 720P v 3,5 MB/s až do 192p při 200 KB/s. V opačném případě, pokud používáte Premium1080p Live Encoder (LiveEventEncodingType. Premium1080p), pak přednastavení Default1080p určuje sadu šesti párů rozlišení a přenosové rychlosti z 1080p po 3,5 MB/s až do 180p na 200 KB/s. Další informace najdete v tématu Předvolby sytému.

Poznámka

Pokud potřebujete přizpůsobit živé kódování, otevřete lístek podpory prostřednictvím Azure Portal. Určete požadovanou tabulku s rozlišením a přenosovými rychlostmi. Ověřte, zda je v 720p pouze jedna vrstva (Pokud požadujete předvolbu pro standardní Live Encoder) nebo v 1080p (Pokud požadujete přednastavení pro Premium1080p Live Encoder) a 6 vrstev nejvíce.

Vytváření živých událostí

Možnosti

Při vytváření živé události můžete zadat následující možnosti:

  • Živé události můžete zadat s názvem a popisem.
  • cloudové kódování zahrnuje předávací (bez kódování v cloudu), Standard (až 720p) nebo Premium (až do 1080p). pro kódování Standard a Premium můžete zvolit režim roztažení kódovaného videa.
    • Žádné: striktně respektuje rozlišení výstupu zadané v přednastaveném kódování bez zvážení poměru stran pixelů nebo poměru stran pro vstupní video.
    • AutoSize: přepíše výstupní rozlišení a změní ho tak, aby odpovídal poměru stran zobrazení vstupu, bez odsazení. Například pokud je vstup 1080 a předvolby kódování požádá o 1280x1280, pak je hodnota v přednastavence přepsána a výstup bude na 1280 × 720, který bude udržovat poměr stran vstupních hodnot 16:9.
    • Přizpůsobit: vyplní výstup (s polem Letterbox nebo pilíře), aby se vyhodnotilo výstupní řešení, a současně zajistí, že aktivní oblast videa ve výstupu má stejný poměr stran jako vstup. Například pokud je vstup 1080 a předvolby kódování požádá o 1280x1280, pak výstup bude v 1280x1280, který obsahuje vnitřní obdélník 1280 × 720 v poměru stran 16:9, s oblastmi pole pilíře 280 pixelů na levé a pravé straně.
  • Protokol streamování (v současné době se podporují i protokoly RTMP a Smooth Streaming). Možnost protokolu se nedá změnit, když je spuštěná živá událost nebo její přidružený živý výstup. Pokud požadujete různé protokoly, vytvořte samostatnou živou událost pro každý protokol pro streamování.
  • ID vstupu, které je globálně jedinečný identifikátor pro vstupní datový proud živé události.
  • Předpona statického názvu hostitele, která zahrnuje žádné (v takovém případě se použije náhodný řetězec s šestnáctkovou 128), použijte název živé události nebo použijte vlastní název. Pokud se rozhodnete použít název zákazníka, tato hodnota je vlastní Předpona názvu hostitele.
  • Můžete snížit koncovou latenci mezi živým vysíláním a přehráváním nastavením intervalu vstupních snímků, který je (v sekundách) pro každý segment média ve výstupu HLS. Hodnota by měla být nenulové celé číslo v rozsahu od 0,5 do 20 sekund. Pokud nejsou nastavené ani žádné intervaly snímků vstupních nebo výstupních klíčů, hodnota se ve výchozím nastavení použije na 2 sekundy. Interval klíčových snímků je povolený jenom u předávacích událostí.
  • Při vytváření události je možné ji nastavit na automatické spuštění. Pokud je vlastnost autostart nastavena na hodnotu true, spustí se po vytvoření živá událost. Fakturace začne ihned po spuštění živé události. Chcete-li zastavit další fakturaci, je nutné explicitně volat stop u prostředku živé události. Alternativně můžete událost spustit až po dokončení spuštění streamování.

Poznámka

maximální snímková frekvence je 30 snímků pro standardní i Premium kódování.

Pohotovostní režim

Když vytvoříte živou událost, můžete ji nastavit na úsporný režim. I když je událost v pohotovostním režimu, můžete upravit popis, předponu statického názvu hostitele a omezit nastavení přístupu Input a Preview. Pohotovostní režim je stále fakturovatelný, ale je cenově odlišný než při spuštění živého datového proudu.

Další informace najdete v tématu stavy událostí Live a fakturace.

  • Omezení IP adres u ingestování a náhledu. Můžete definovat IP adresy, které můžou ingestovat video do této živé události. Povolené IP adresy se dají zadat jako jedna IP adresa (třeba 10.0.0.1), rozsah IP adres pomocí IP adresy a masky podsítě CIDR (třeba 10.0.0.1/22) nebo rozsah IP adres a maska podsítě v desítkovém zápisu s tečkou (třeba 10.0.0.1(255.255.252.0)).

    Pokud nejsou zadané žádné IP adresy a není k dispozici žádná definice pravidla, nebude povolena žádná IP adresa. Pokud chcete povolit libovolnou IP adresy, vytvořte pravidlo a nastavte 0.0.0.0/0.
    IP adresy musí být v jednom z následujících formátů: IpV4 adresa se čtyřmi čísly nebo rozsahem adres CIDR.

    Pokud chcete povolit určité IP adresy pro vlastní brány firewall nebo chcete omezit vstupy na živé události na IP adresy Azure, Stáhněte si soubor JSON z rozsahů IP adres datacentra Azure. Podrobnosti o tomto souboru zobrazíte výběrem části Podrobnosti na stránce.

  • Při vytváření události se můžete rozhodnout zapnout funkci Live přepisů. Ve výchozím nastavení je živý přepis zakázán. Další informace o živém přepisu najdete v tématu živý přepis.

Pravidla pojmenování

  • Maximální název živé události je 32 znaků.
  • Název by měl splňovat tento vzor regulárního výrazu : ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$ .

Viz také zásady vytváření názvů koncových bodů streamování.

Tip

Chcete-li zaručit jedinečnost názvu živé události, můžete vygenerovat identifikátor GUID a pak odebrat všechny spojovníky a složené závorky (pokud existují). Řetězec bude jedinečný napříč všemi živými událostmi a jeho délka bude zaručena 32.

Adresy URL pro příjem živých událostí

Jakmile se vytvoří živá událost, můžete získat adresy URL pro ingestování, které poskytnete pro živý místní kodér. Kodér pro kódování v reálném čase tyto adresy URL používá ke vkládání živého proudu. Další informace najdete v tématu Doporučené místní kodéry pro kódování v reálném čase.

Poznámka

Od verze rozhraní API z 1. 5. 2020 se "jednoduše" adresy URL označované jako statické názvy hostitelů (useStaticHostname: true)

Poznámka

Aby byla adresa URL ingestace statická a předvídatelná pro použití v nastavení hardwarového kodéru, nastavte vlastnost useStaticHostname na true a vlastnost accessToken nastavte při každém vytvoření na stejný identifikátor GUID.

Příklad nastavení konfigurace LiveEvent a LiveEventInput pro statickou (ne náhodnou) adresu URL ingestování RTMP

             LiveEvent liveEvent = new LiveEvent(
                    location: mediaService.Location,
                    description: "Sample LiveEvent from .NET SDK sample",
                    // Set useStaticHostname to true to make the ingest and preview URL host name the same. 
                    // This can slow things down a bit. 
                    useStaticHostname: true,

                    // 1) Set up the input settings for the Live event...
                    input: new LiveEventInput(
                        streamingProtocol: LiveEventInputProtocol.RTMP,  // options are RTMP or Smooth Streaming ingest format.
                                                                         // This sets a static access token for use on the ingest path. 
                                                                         // Combining this with useStaticHostname:true will give you the same ingest URL on every creation.
                                                                         // This is helpful when you only want to enter the URL into a single encoder one time for this Live Event name
                        accessToken: "acf7b6ef-8a37-425f-b8fc-51c2d6a5a86a",  // Use this value when you want to make sure the ingest URL is static and always the same. If omitted, the service will generate a random GUID value.
                        accessControl: liveEventInputAccess, // controls the IP restriction for the source encoder.
                        keyFrameIntervalDuration: "PT2S" // Set this to match the ingest encoder's settings
                    ),
  • Nestatický název hostitele

    Nestatický název hostitele je výchozím režimem v Media Services v3 při vytváření události LiveEvent. Přidělení živé události můžete získat o něco rychleji, ale adresa URL ingestace, kterou byste potřebovali pro hardware nebo software pro kódování v kódování v živém čase, bude náhodná. Adresa URL se změní, pokud živou událost zastavíte nebo spustíte. Nestatické název hostitele jsou užitečné jenom ve scénářích, kdy chce koncový uživatel streamovat pomocí aplikace, která potřebuje velmi rychle získat živou událost a mít dynamickou adresu URL ingestu, není problém.

    Pokud klientská aplikace před vytvořením živé události nepotřebuje předem vygenerovat adresu URL ingestování, nechte Media Services automaticky vygenerovat přístupový token pro živou událost.

  • Statické název hostitele

    Většina operátorů, kteří chtějí předem nakonfigurovat hardware nebo software pro kódování v živém prostředí, používá statický režim názvu hostitele s adresou URL ingestace RTMP, která se při vytvoření nebo zastavení nebo spuštění konkrétní živé události nikdy nemění. Tyto operátory chtějí prediktivní adresu URL ingestování RTMP, která se v průběhu času nemění. To je velmi užitečné také v případě, že potřebujete ingestovat statickou adresu URL ingestace RTMP do nastavení konfigurace zařízení pro kódování hardwaru, jako je blackmagic Atem Mini Pro nebo podobné hardwarové kódování a produkční nástroje.

    Poznámka

    V Azure Portal se statická adresa URL názvu hostitele nazývá Předpona statického názvu hostitele.

    Pokud chcete tento režim zadat v rozhraní API, nastavte useStaticHostName při vytváření na hodnotu true (výchozí hodnota je false ). Pokud je hodnota nastavená na true, určuje první část názvu hostitele přiřazeného k náhledu živé události a koncové body useStaticHostname hostnamePrefix ingestování. Konečným názvem hostitele by byla kombinace této předpony, názvu účtu media service a krátkého kódu pro Azure Media Services data centra.

    Pokud se chcete vyhnout náhodnému tokenu v adrese URL, musíte při vytváření předat také vlastní přístupový token ( LiveEventInput.accessToken ). Přístupový token musí být platný řetězec GUID (s pomlčkami nebo bez nich). Jakmile je režim nastavený, není možné ho aktualizovat.

    Přístupový token musí být jedinečný ve vaší oblasti Azure a Media Services účtu. Pokud vaše aplikace potřebuje použít statickou adresu URL ingestování názvu hostitele, doporučujeme vždy vytvořit novou instanci GUID pro použití s konkrétní kombinací oblasti, účtu Media Services a živé události.

    Pomocí následujících rozhraní API povolte statickou adresu URL názvu hostitele a nastavte přístupový token na platný identifikátor GUID (například "accessToken": "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7" ).

    Jazyk Povolení statické adresy URL názvu hostitele Nastavení přístupového tokenu
    REST properties.useStaticHostname LiveEventInput.useStaticHostname
    Rozhraní příkazového řádku --use-static-hostname --access-token
    .NET LiveEvent.useStaticHostname LiveEventInput.AccessToken

Pravidla pojmenování živých adres URL ingestu

  • Řetězec random dále je 128bitové šestnáctkové číslo (skládající se z 32 znaků 0-9 a-f).
  • váš přístupový token: Platný řetězec GUID, který jste nastavili při použití nastavení statického názvu hostitele. Například, "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7".
  • stream name(název streamu): Označuje název datového proudu pro konkrétní připojení. Hodnotu názvu datového proudu obvykle přidá kodér pro kódování v reálném čase, který používáte. Kodér pro kódování v reálném čase můžete nakonfigurovat tak, aby popíše připojení pomocí libovolného názvu, například "video1_audio1", "video2_audio1", "stream".

Nestatická adresa URL ingestování názvu hostitele

RTMP

rtmp://<random 128bit hex string>.channel.media.azure.net:1935/live/<auto-generated access token>/<stream name>
rtmp://<random 128bit hex string>.channel.media.azure.net:1936/live/<auto-generated access token>/<stream name>
rtmps://<random 128bit hex string>.channel.media.azure.net:2935/live/<auto-generated access token>/<stream name>
rtmps://<random 128bit hex string>.channel.media.azure.net:2936/live/<auto-generated access token>/<stream name>

Smooth Streaming

http://<random 128bit hex string>.channel.media.azure.net/<auto-generated access token>/ingest.isml/streams(<stream name>)
https://<random 128bit hex string>.channel.media.azure.net/<auto-generated access token>/ingest.isml/streams(<stream name>)

Statická adresa URL pro ingestování názvu hostitele

V následujících cestách se rozumí buď název předaný události, nebo vlastní název použitý při <live-event-name> vytváření živé události.

RTMP

rtmp://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:1935/live/<your access token>/<stream name>
rtmp://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:1936/live/<your access token>/<stream name>
rtmps://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:2935/live/<your access token>/<stream name>
rtmps://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:2936/live/<your access token>/<stream name>

Smooth Streaming

http://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net/<your access token>/ingest.isml/streams(<stream name>)
https://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net/<your access token>/ingest.isml/streams(<stream name>)

Adresa URL náhledu živé události

Jakmile živá událost začne přijímat informační kanál příspěvků, můžete pomocí jeho koncového bodu preview zobrazit náhled a ověřit, že živý stream přijímáte před dalším publikováním. Po kontrole, jestli je stream verze Preview v dobrém režimu, můžete živou událost použít k tomu, aby byl živý stream dostupný pro doručení prostřednictvím jednoho nebo několika (předem vytvořených) koncových bodů streamování. Provedete to tak, že vytvoříte nový živý výstup živé události.

Důležité

Než budete pokračovat, ujistěte se, že se video směruje na náhledovou adresu URL.

Dlouhotr běžící operace živých událostí

Podrobnosti najdete v tématu o dlouhotr běžící operaci.

Živé výstupy

Jakmile stream proudí do živé události, můžete událost streamování zahájit vytvořením assetu, živého výstupu a lokátoru streamování. Živý výstup bude datový proud archivovat a bude k dispozici divákům prostřednictvím koncového bodu streamování.

Výchozím přidělením AMS je 5 živých událostí na Media Services účtu. Pokud chcete tento limit zvýšit, napište lístek podpory na Azure Portal. AMS dokáže zvýšit limit živých událostí v závislosti na vaší situaci streamování a dostupnosti regionálního datacentra.

Podrobné informace o živých výstupech najdete v tématu Použití cloudového DVR.

Dotazy týkající se výstupu živých událostí

Podívejte se na otázky k živým událostem v nejčastějších dotazech. Informace o kvótách živých událostí najdete v tématu Kvóty a omezení.