Liveuppspelning med Azure Media Services v3

Media Services-logotyp v3


Varning

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

Med Azure Media Services kan du leverera livehändelser till dina kunder i Azure-molnet. Om du vill strömma dina livehändelser med Media Services måste du konfigurera en livevideokodare som konverterar signaler från en kamera (eller en annan enhet, till exempel en bärbar dator) till ett bidragsflöde som skickas till Media Services. Bidragsflödet kan innehålla signaler som rör reklam, till exempel SCTE-35-markörer. En lista över rekommenderade liveuppspelningskodare finns i liveuppspelningskodare.

Om du inte har använt en lokal kodare tidigare kan du prova snabbstarten Skapa en Azure Media Services-liveström med OBS .

Dynamisk paketering och leverans

Med Media Services kan du dra nytta av dynamisk paketering, vilket gör att du kan förhandsgranska och sända dina liveströmmar i MPEG DASH-, HLS- och Smooth Streaming-format från bidragsflödet . Dina tittare kan spela upp liveströmmen med alla HLS-, DASH- eller Smooth Streaming-kompatibla spelare. Se listan över testade spelare och prova mediatjänsternas spelarexempel från tredje part.

Livehändelsetyper

Livehändelser matas in och bearbetar livevideoflöden. En livehändelse kan anges till antingen:

  • direktströmning när en lokal livekodare skickar en dataström med flera bithastigheter, eller
  • livekodning när en lokal livekodare skickar en dataström med en bithastighet. Mer information om liveutdata finns i Livehändelser och liveutdata.

Direkt

När du använder direkthändelsen (grundläggande eller standard) förlitar du dig på din lokala livekodare för att generera en videoström med flera bithastigheter och skicka den som bidragsfeed till livehändelsen (med RTMP eller fragmenterat MP4-indataprotokoll). Livehändelsen skickar sedan den inkommande videoströmmen till den dynamiska paketeraren (slutpunkt för direktuppspelning) utan ytterligare bearbetning. En livehändelse med direktströmning är optimerad för långvariga livehändelser eller linjär direktuppspelning dygnet runt.

passera via direktuppspelning

Live Encoding

Om du vill använda livekodning konfigurerar du din lokala livekodare för att skicka en video med en bithastighet (upp till 32 Mbit/s-aggregat) till livehändelsen (med RTMP eller fragmenterat MP4-indataprotokoll). Livehändelsen omkodar den inkommande dataströmmen med enkel bithastighet till videoströmmar med flera bithastigheter med olika upplösningar. Detta förbättrar leveransen för uppspelningsenheter med branschstandardprotokoll som MPEG-DASH, Apple HTTP Live Streaming (HLS) och Microsoft Smooth Streaming.

livekodningsströmning

Alternativ för livehändelse

Dynamisk kryptering

Med dynamisk kryptering kan du dynamiskt kryptera ditt live- eller på begäran-innehåll med AES-128 eller något av de tre stora DRM-systemen (Digital Rights Management): Microsoft PlayReady, Google Widevine och Apple FairPlay. Media Services tillhandahåller också en tjänst för att leverera AES-nycklar och DRM-licenser (PlayReady, Widevine och FairPlay) till auktoriserade klienter. Mer information finns i dynamisk kryptering.

Widevine är en tjänst som tillhandahålls av Google Inc. och som omfattas av användarvillkoren och sekretesspolicyn för Google, Inc.

Dynamisk filtrering

Dynamisk filtrering används för att styra antalet spår, format, bithastigheter och presentationstidsfönster som skickas ut till spelarna. Mer information finns i filter och dynamiska manifest.

Live transkription

Live-transkription är en funktion som du kan använda med livehändelser som antingen är direkt- eller livekodning. Mer information finns i live-transkription. När den här funktionen är aktiverad använder tjänsten funktionen Tal till text i Cognitive Services för att transkribera de talade orden i det inkommande ljudet till text. Den här texten görs sedan tillgänglig för leverans tillsammans med video och ljud i MPEG-DASH- och HLS-protokoll.

Viktigt

Du bör använda GOP-storlekar på 2 sekunder för livehändelser. Du måste använda GOP-storlekar på 4 sekunder eller lägre för direktsändningar med live-transkriptioner för att få rätt transkriptionsdata. Om du väljer att använda högre GOP-storlek kan transkriptionsdata ha defekter, t.ex. innehåll som saknas.

Säkerhetsöverväganden för undertexter, undertexter och tidsindelade metadataleverans

Den dynamiska krypteringen och DRM-funktionerna i Azure Media Services har gränser att tänka på när du försöker skydda innehållsleverans som innehåller live-transkriptioner, undertexter, undertexter eller tidsbegränsade metadata. DRM-undersystemen, inklusive PlayReady, FairPlay och Widevine, stöder inte kryptering och licensiering av textspår. Bristen på DRM-kryptering för textspår begränsar din möjlighet att skydda innehållet i live-transkriptioner, manuella infogade undertexter, uppladdade undertexter eller tidsbegränsade metadatasignaler som kan infogas som separata spår.

Följ dessa riktlinjer för att skydda dina undertexter, undertexter eller tidsbefriade metadataspår:

  1. Använd AES-128 Clear Key-kryptering. När du aktiverar AES-128 clear key encryption kan textspåren konfigureras så att de krypteras med hjälp av en fullständig krypteringsteknik för "kuvert" som följer samma krypteringsmönster som ljud- och videosegmenten. Dessa segment kan sedan dekrypteras av ett klientprogram efter att dekrypteringsnyckeln har begärts från Media Services-tjänsten för nyckelleverans med hjälp av en autentiserad JWT-token. Den här metoden stöds av Azure Media Player, men kanske inte stöds på alla enheter och kan kräva vissa utvecklingsarbete på klientsidan för att säkerställa att den lyckas på alla plattformar.
  2. Använd CDN-tokenautentisering för att skydda textspåren (undertexter, metadata) som levereras med tokeniserade URL:er med korta formulär som är begränsade till geo, IP eller andra konfigurerbara inställningar i CDN-portalen. Aktivera CDN-säkerhetsfunktionerna med Verizon Premium CDN eller andra CDN från tredje part som konfigurerats för att ansluta till dina Media Services-slutpunkter för direktuppspelning.

Varning

Om du inte följer någon av riktlinjerna ovan kommer text med undertexter eller tidsanpassade metadata att vara tillgänglig som okrypterat innehåll som kan fångas upp eller delas utanför den avsedda klientleveransvägen. Detta kan resultera i läckt information. Om du är orolig för innehållet i de undertexter eller undertexter som läcker ut i ett säkert leveransscenario kan du kontakta Media Services supportteam för mer information om riktlinjerna ovan för att skydda innehållsleveransen.

Arbetsflöde för liveuppspelning

För att förstå arbetsflödet för liveuppspelning i Media Services v3 måste du först granska och förstå följande begrepp:

Allmänna steg

  1. Kontrollera att slutpunkten för direktuppspelning (ursprung) körs i ditt Media Services-konto.

  2. Skapa en livehändelse.
    När du skapar händelsen kan du ange att den ska startas automatiskt. Du kan också starta händelsen när du är redo att starta direktuppspelningen.
    När autostarten är inställd på true startas livehändelsen direkt efter att den har skapats. Faktureringen startar så snart livehändelsen börjar köras. Du måste uttryckligen anropa Stoppa på livehändelseresursen för att stoppa ytterligare fakturering. Mer information finns i livehändelsetillstånd och fakturering.

  3. Hämta inmatnings-URL:erna och konfigurera din lokala kodare för att använda URL:en för att skicka bidragsflödet.
    Se rekommenderade livekodare.

  4. Hämta förhandsgransknings-URL:en och använd den för att kontrollera att indata från kodaren faktiskt tas emot.

  5. Skapa ett nytt tillgångsobjekt .

    Varje liveutdata är associerad med en tillgång som används för att spela in videon i den associerade Azure Blob Storage-containern.

  6. Skapa liveutdata och använd tillgångsnamnet som du skapade så att strömmen kan arkiveras i tillgången.

    Liveutdata startar när de skapas och avbryts när de tas bort. När du tar bort liveutdata tar du inte bort den underliggande tillgången och innehållet i tillgången.

  7. Skapa en positionerare för direktuppspelning med de inbyggda typerna av strömningsprinciper.

    Om du vill publicera liveutdata måste du skapa en positionerare för direktuppspelning för den associerade tillgången.

  8. Lista sökvägarna i positioneraren för direktuppspelning för att få tillbaka url:erna som ska användas (dessa är deterministiska).

  9. Hämta värdnamnet för den slutpunkt för direktuppspelning (Origin) som du vill strömma från.

  10. Kombinera URL:en från steg 8 med värdnamnet i steg 9 för att hämta den fullständiga URL:en.

  11. Om du vill sluta visa livehändelsen måste du sluta strömma händelsen och ta bort positioneraren för direktuppspelning.

  12. Följ stegen nedan om du är klar med strömningen av händelser och vill rensa de resurser som etablerades tidigare.

    • Stoppa sändningen av dataströmmen från kodaren.
    • Stoppa livehändelsen. När livehändelsen har stoppats medför den inga avgifter. När du vill starta den igen har den samma infognings-URL så att du inte behöver konfigurera om din kodare.
    • Du kan stoppa din slutpunkt för direktuppspelning, såvida du inte vill fortsätta att tillhandahålla arkivet för livehändelsen som en ström på begäran. Om livehändelsen är i stoppat tillstånd medför den inga avgifter. Men om slutpunkten för direktuppspelning fortfarande körs debiteras den.

Den tillgång som liveutdata arkiveras till blir automatiskt en tillgång på begäran när liveutdata tas bort. Du måste ta bort alla liveutdata innan en livehändelse kan stoppas. Du kan använda en valfri flagga removeOutputsOnStop för att automatiskt ta bort liveutdata vid stopp.

Tips

I självstudien om liveuppspelning undersöker artikeln koden som implementerar stegen som beskrivs ovan.

Andra viktiga artiklar

Vanliga frågor och svar om liveuppspelning

Se frågorna om liveuppspelning i vanliga frågor och svar.

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: