Livehändelser i Media Services
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
tilltrue
vid skapandetillfället (standard ärfalse
). NäruseStaticHostname
är inställt på truehostnamePrefix
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:
- Q & A
-
Stack Overflow. Tagga frågor med
azure-media-services
. - @MSFTAzureMedia eller använd @AzureSupport för att begära support.
- Öppna en supportbegäran via Azure Portal.