Livehändelser i Media Services

Media Services-logotyp v3


Varning

Azure Media Services dras tillbaka den 30 juni 2024. Mer information finns i AMS-pensionsguiden.

Med Azure Media Services kan du leverera livehändelser till dina kunder i Azure-molnet.

Tips

Om du migrerar från Media Services v2-API:er ersätter entiteten livehändelseKanal i v2 och liveutdata ersätter programmet.

Livehändelser

Livehändelser matar in och bearbetar livevideofeeds. När du skapar en livehändelse skapas en inmatningsslutpunkt. Inmatningsslutpunkten förbrukar en livesignal från en fjärrkodare. Den fjärranslutna livekodaren skickar feeden till indataslutpunkten med hjälp av indataprotokollet RTMP eller Smooth Streaming (fragmenterad MP4). För RTMP-inmatningsprotokollet kan innehållet skickas i klartext (rtmp://) eller krypteras säkert på tråden(rtmps://). För smooth streaming-inmatningsprotokollet är http:// de URL-scheman som stöds eller https://.

Standardallokeringen är 5 livehändelser per Media Services-konto. Om du vill öka den här gränsen kan du skapa ett supportärende i Azure Portal.

Typer av livehändelser

En livehändelse kan ställas in på antingen en grundläggande eller standardmässig direktströmning eller livekodning. Typerna anges när de skapas med hjälp av livehändelsekodningstypen.

  • Grundläggande genomströmning: En lokal livekodare skickar en dataström med flera bithastigheter. Den grundläggande genomströmningen är begränsad till en topp-ingress på 5 Mbit/s, 8-timmars DVR-fönster och live-transkription stöds inte.
  • Genomströmningsstandard: En lokal livekodare skickar en dataström med flera bithastigheter. Standard-genomströmningen har högre inmatningsgränser, 25-timmars DVR-fönster och stöd för live-transkriptioner.
  • Standard: En lokal livekodare skickar en dataström med enkel bithastighet till livehändelsen och Media Services skapar dataströmmar med flera bithastigheter. Om bidragsflödet har en upplösning på 720p eller högre kodar default720p-förinställningen en uppsättning med par med 6 upplösningar/bithastigheter.
  • Premium 1080p: En lokal livekodare skickar en dataström med enkel bithastighet till livehändelsen och Media Services skapar dataströmmar med flera bithastigheter. Default1080p-förinställningen anger utdatauppsättningen med par med upplösning/bithastigheter.

Anteckning

Maxramhastigheten är 30 fps för både Standard- och Premium-kodning.

Direkt livehändelse

När du använder den grundläggande eller standardmässiga direkthändelsen använder du din lokala livekodare för att generera en videoström med flera bithastigheter och skicka den till livehändelsen (med RTMP eller fragmenterat MP4-protokoll). Livehändelsen går sedan igenom de inkommande videoströmmarna utan vidare bearbetning. En livehändelse med direktströmning är optimerad för långvariga livehändelser eller linjär liveuppspelning dygnet efter. När du skapar den här typen av livehändelse anger du "grundläggande" eller "standard".

Du kan skicka feeden med upplösningar upp till 4K och med en bildfrekvens på 60 bildrutor per sekund, med videokodare för H.264/AVC eller H.265/HEVC (endast smooth ingest) och AAC (AAC-LC, HE-AACv1 eller HE-AACv2). Mer information finns i Jämförelse av livehändelsetyper.

Anteckning

Att använda en genomströmningsmetod är det mest ekonomiska sättet att utföra liveuppspelning när du gör flera händelser under en lång tidsperiod och du redan har investerat i lokala kodare. Se Prisinformation .

Livekodning av livehändelse

När du använder livekodning konfigurerar du din lokala livekodare för att skicka en video med enkel bithastighet till livehändelsen (med RTMP eller Fragmented-Mp4 protokoll). Sedan konfigurerar du en livehändelse så att den kodar inkommande dataström med enkel bithastighet till en videoström med flera bithastigheter. Detta gör utdata tillgängliga för leverans för uppspelning av enheter via protokoll som MPEG-DASH, HLS och Smooth Streaming.

I det här fallet kan du bara skicka bidragsflödet med upplösningar på upp till 1080p upplösning med en bildfrekvens på 30 bilder/sekund, med H.264/AVC video codec och AAC (AAC-LC, HE-AACv1 eller HE-AACv2) audio codec. Mer information finns i Jämförelse av livehändelsetyper.

Alternativ för HLS- och DASH-strömning med låg svarstid

Mer information om hur du uppnår låg svarstid med kodning av livehändelser finns i alternativen HLS (LL-HLS) och DASH-strömning med låg latens och guiden Metodtips för liveuppspelning.

Utdataupplösning och bithastighet för livekodning

Upplösningarna och bithastigheterna i resulterande utdata från livekodaren bestäms av förinställningen:

  • När du använder livekodaren Standard anger default720p-förinställningen en uppsättning med sex upplösnings-/bithastighetspar, från 720p vid 3,5 Mbit/s ned till 192p vid 200 kbps.
  • När du använder en livekodare för Premium1080p anger förinställningen Default1080p en uppsättning med sex upplösnings-/bithastighetspar, från 1080p till 3,5 Mbit/s ned till 180p vid 200 kbps.

Mer information finns i Systemförinställningar.

Anteckning

Om du behöver anpassa livekodningsförinställningen öppnar du ett supportärende via Azure-portalen. Du bör ange önskad tabell med videoupplösning/bithastigheter och ljudbithastigheter. För video kontrollerar du att det bara finns ett lager på 720p och högst 6 lager för video. För ljud kan du anpassa med följande diskreta AAC-ljudbithastigheter (96k, 112k, 128k, 160k, 192k, 224k, 256k, 320k, 384k, 448k, 512k). Flera ljudspår med olika bithastigheter tillåts och kan inkluderas i den anpassade förinställningen. Ange också att du begär en anpassad förinställning i supportärendet.

Se REST API för LiveEventEncodingType eller .Net, Node.JS eller Python SDK:er. Dessutom kan du prova exempelkoden livehändelse.

Alternativ för livehändelse

När du skapar en livehändelse kan du ange följande alternativ:

  • Namn och beskrivning.
  • För Standard- och Premium-kodning kan du välja stretchläge för den kodade videon:
    • Ingen: Strikt respekterar den utdataupplösning som anges i kodningsförinställningen utan att beakta bildpunktsproportionen eller visningsproportionen för indatavideon.
    • AutoSize: Åsidosätter utdataupplösningen och ändrar den så att den matchar visningsproportionen för indata, utan utfyllnad. Om indata till exempel är 1920x1080 och kodningsförinställningen frågar efter 1280x1280 åsidosätts värdet i förinställningen, och utdata kommer att vara 1280x720, vilket bibehåller indataaspektförhållandet på 16:9.
    • AutoPassa: Fyller utdata (med antingen letterbox eller pelarruta) för att uppfylla utdataupplösningen, samtidigt som den aktiva videoregionen i utdata har samma proportioner som indata. Om indata till exempel är 1920x1080 och kodningsförinställningen frågar efter 1280x1280, kommer utdata att vara 1280x1280, som innehåller en inre rektangel på 1280x720 i proportion på 16:9, med pelarfältsregioner 280 bildpunkter breda till vänster och höger.
  • Direktuppspelningsprotokoll RTMP eller Smooth Streaming. Obs! Du kan inte ändra protokollalternativet när livehändelsen eller dess associerade liveutdata körs. Om du behöver olika protokoll skapar du en separat livehändelse för varje strömningsprotokoll.
  • Indata-ID som är en globalt unik identifierare för livehändelsens indataström.
  • Statiskt värdnamnsprefix som inte innehåller något (i så fall används en slumpmässig hexsträng på 128 bitar), Använd livehändelsenamn eller Använd anpassat namn. När du väljer att använda ett kundnamn är det här värdet prefixet Anpassat värdnamn.
  • Intervall för indatanyckelram, vilket är varaktigheten (i sekunder) för varje mediesegment i HLS-utdata. Värdet ska vara ett heltal som inte är noll i intervallet 0,5 till 20 sekunder. Värdet är som standard 2 sekunder om inget av indata- eller utdatanyckelns bildruteintervall har angetts. Nyckelramsintervallet tillåts endast vid direkthändelser.
  • Starta automatiskt. När autostarten är inställd på true startas livehändelsen när den har skapats. Faktureringen startar så snart livehändelsen börjar köras. Du måste uttryckligen stoppa livehändelsen för att stoppa ytterligare fakturering. Du kan också starta händelsen när du är redo att starta strömning.
  • IP-begränsningar för inmatning och förhandsversion. Du kan definiera de IP-adresser som tillåts mata in en video till den här livehändelsen. Tillåtna IP-adresser kan anges som en enskild IP-adress (till exempel 10.0.0.1), ett IP-intervall med IP-adress och en CIDR-nätmask (till exempel 10.0.0.1/22) eller ett IP-intervall med en IP-adress och en prickad decimalnätmask (till exempel 10.0.0.1(255.255.252.0)).
    • Om inga IP-adresser anges och det inte finns någon regeldefinition tillåts ingen IP-adress. Skapa en regel för att tillåta IP-adresser och ange 0.0.0.0/0. IP-adresserna måste ha något av följande format: IpV4- eller IPv6-adresser med fyra tal eller CIDR-adressintervall. Mer information om hur du använder IPv4 eller IPv6 finns i Begränsa åtkomsten till DRM-licens och AES-nyckelleverans med hjälp av IP-tillåtna listor.
    • Om du vill aktivera vissa IP-adresser i dina egna brandväggar eller vill begränsa indata till dina livehändelser till Azure IP-adresser laddar du ned en JSON-fil från IP-adressintervallen för Azure Datacenter. Om du vill ha mer information om den här filen väljer du avsnittet Information på sidan.
  • Live-transkription som är inaktiverad som standard. Mer information om live-transkription finns i Live-transkription.

Passningsläge

När du skapar en livehändelse kan du ställa in den på StandBy-läge. När händelsen är i StandBy-läge kan du redigera beskrivningen och prefixet för statiskt värdnamn samt begränsa åtkomstinställningarna för indata och förhandsgranskning. StandBy-läget är fortfarande ett fakturerbart läge, men prissätts annorlunda än när du startar en liveström.

Mer information finns i Livehändelsetillstånd och fakturering.

Live-utdata

När du har konfigurerat en ström från en lokal kodare till en livehändelse kan du starta strömningshändelsen genom att skapa en tillgång, liveutdata och positionerare för direktuppspelning. Liveutdata arkiverar strömmen och gör den tillgänglig för tittarna via slutpunkten för direktuppspelning.

Frågor om livehändelseutdata

Se livehändelsefrågorna i vanliga frågor och svar. Information om livehändelsekvoter finns i kvoter och gränser

Mer information om hur du konfigurerar livehändelser

Namngivningsregler

  • Maximalt livehändelsenamn är 32 tecken.
  • Namnet bör följa det här regex-mönstret : ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$.

Se även namngivningskonventioner för slutpunkter för direktuppspelning.

Tips

För att garantera att ditt livehändelsenamn är unikt kan du generera ett GUID och sedan ta bort alla bindestreck och klammerparenteser (om sådana finns). Strängen är unik för alla livehändelser och längden är garanterad 32.

URL:er för inmatning av livehändelse

När livehändelsen har skapats kan du få inmatnings-URL:er som du tillhandahåller till den lokala livekodaren. Livekodaren använder dessa URL:er för att mata in en direktsänd dataström. Mer information finns i Rekommenderade lokala livekodare.

Anteckning

Från och med API-versionen 2020-05-01 kallas url:er för "fåfänga" statiska värdnamn (useStaticHostname: true)

Anteckning

För att en inmatnings-URL ska vara statisk och förutsägbar för användning i en maskinvarukodare ställer du in egenskapen useStaticHostname på true och anger egenskapen accessToken till samma GUID vid varje skapande.

  • Icke-statiskt värdnamn

    Ett icke-statiskt värdnamn är standardläget i Media Services v3 när du skapar en LiveEvent. Du kan få livehändelsen tilldelad något snabbare, men inmatnings-URL:en som du behöver för maskinvaran eller programvaran för livekodning kommer att randomiseras. URL:en ändras om du stoppar/startar livehändelsen. Icke-statiska värdnamn är bara användbara i scenarier där en slutanvändare vill strömma med hjälp av en app som behöver få en livehändelse mycket snabbt och att ha en dynamisk inmatnings-URL inte är ett problem.

    Om en klientapp inte behöver förgenereras en inmatnings-URL innan livehändelsen skapas kan Media Services automatiskt generera åtkomsttoken för livehändelsen.

  • Statiska värdnamn

    Statiskt värdnamnsläge föredras av de flesta operatörer som vill förkonfigurera sin realtidskodningsmaskinvara eller programvara med en RTMP-inmatnings-URL som aldrig ändras när en specifik livehändelse skapas eller stoppas/startas. De här operatorerna vill ha en prediktiv RTMP-inmatnings-URL som inte ändras över tid. Detta är också mycket användbart när du behöver push-överföra en statisk RTMP-inmatnings-URL till konfigurationsinställningarna för en maskinvarukodningsenhet som BlackMagic Atem Mini Pro eller liknande maskinvarukodnings- och produktionsverktyg.

    Anteckning

    I Azure Portal kallas url:en för statiskt värdnamn för "Statiskt värdnamnprefix".

    Om du vill ange det här läget i API:et anger du useStaticHostName till true vid skapandetillfället (standard är false). När useStaticHostname är inställt på true hostnamePrefix anger den första delen av värdnamnet som tilldelats till förhandsversionen av livehändelsen och mata in slutpunkter. Det slutliga värdnamnet skulle vara en kombination av det här prefixet, medietjänstkontots namn och en kort kod för Azure Media Services-datacentret.

    För att undvika en slumpmässig token i URL:en måste du också skicka din egen åtkomsttoken (LiveEventInput.accessToken) när du skapar den. Åtkomsttoken måste vara en giltig GUID-sträng (med eller utan bindestreck). När läget har angetts kan det inte uppdateras.

    Åtkomsttoken måste vara unik för Azure-regionen och för Media Services-kontot. Om din app behöver använda en inmatnings-URL för statiskt värdnamn rekommenderar vi att du alltid skapar en ny GUID-instans för användning med en specifik kombination av region, mediatjänstkonto och livehändelse.

    Använd följande API:er för att aktivera url:en för statiskt värdnamn och ange åtkomsttoken till ett giltigt GUID (till exempel "accessToken": "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7").

    Språk Aktivera url för statiskt värdnamn Ange åtkomst-token
    REST properties.useStaticHostname LiveEventInput.useStaticHostname
    CLI --use-static-hostname --access-token
    .NET LiveEvent.useStaticHostname LiveEventInput.AccessToken

Namngivningsregler för live-inmatning av URL

  • Den slumpmässiga strängen nedan är ett 128-bitars hexadecimalt tal (som består av 32 tecken mellan 0 och 9 och a–f).
  • din åtkomsttoken: Den giltiga GUID-strängen som du anger när du använder inställningen för statiskt värdnamn. Till exempel "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7".
  • stream name: Anger dataströmnamnet för en specifik anslutning. Värdet för streamnamn läggs vanligtvis till av den livekodare som du använder. Du kan konfigurera livekodaren så att den använder valfritt namn för att beskriva anslutningen, till exempel : "video1_audio1", "video2_audio1", "stream".

Varning

Om du använder specialtecken eller blanksteg i namnet på din dataström misslyckas din live-inmatning. Se Namngivningskonventioner för Media Services-resurser i översikten över utvecklarbegrepp.

Inmatnings-URL för icke-statiskt värdnamn

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>

Smidig direktuppspelning

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>)

Inmatnings-URL för statiskt värdnamn

I följande sökvägar innebär antingen det namn som angetts för händelsen eller det anpassade namn som användes när livehändelsen skapades <live-event-name> .

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>

Smidig direktuppspelning

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>)

Url för förhandsversion av livehändelse

När livehändelsen börjar ta emot bidragsfeeden kan du använda dess förhandsgranskningsslutpunkt för att förhandsgranska och verifiera att du får liveströmmen innan du publicerar vidare. När du har kontrollerat att förhandsgranskningsströmmen är bra kan du använda livehändelsen för att göra liveströmmen tillgänglig för leverans via en eller flera (i förväg skapade) slutpunkter för direktuppspelning. För att åstadkomma detta skapar du en ny live-utdata på livehändelsen.

Viktigt

Kontrollera att videon flödar till förhandsgransknings-URL:en innan du fortsätter!

Långvariga åtgärder för livehändelser

Mer information finns i långvariga åtgärder.

Få hjälp och support

Du kan kontakta Media Services med frågor eller följa våra uppdateringar med någon av följande metoder: