Live streamen met Azure Media Services v3

Media Services-logo v3


Waarschuwing

Azure Media Services wordt op 30 juni 2024 buiten gebruik gesteld. Zie de Handleiding voor buitengebruikstelling van AMS voor meer informatie.

Met Azure Media Services kunt u livegebeurtenissen leveren aan uw klanten in de Azure-cloud. Als u livegebeurtenissen wilt streamen met Media Services, moet u een live video-encoder instellen waarmee signalen van een camera (of een ander apparaat, zoals een laptop) worden geconverteerd naar een bijdragefeed die naar Media Services wordt verzonden. De bijdragefeed kan signalen bevatten met betrekking tot advertenties, zoals SCTE-35-markeringen. Zie Live streaming-encoders voor een lijst met aanbevolen encoders voor live streamen.

Als u nog geen on-premises encoder hebt gebruikt, probeert u de quickstart Een Azure Media Services-livestream maken met OBS .

Dynamische verpakking en levering

Met Media Services kunt u profiteren van dynamische pakketten, waarmee u uw livestreams kunt bekijken en uitzenden in MPEG DASH-, HLS- en Smooth Streaming-indelingen vanuit de bijdragefeed. Uw kijkers kunnen de livestream afspelen met elke HLS-, DASH- of Smooth Streaming-compatibele spelers. Bekijk de lijst met geteste spelers en probeer de Media Services-voorbeelden van spelers van derden.

Typen livegebeurtenissen

Livegebeurtenissen worden live videofeeds opgenomen en verwerkt. Een livegebeurtenis kan worden ingesteld op een van de volgende opties:

Pass-through

Wanneer u de passthrough-livegebeurtenis (basic of standard) gebruikt, vertrouwt u op uw on-premises live encoder om een videostream met meerdere bitrates te genereren en deze te verzenden als bijdragefeed aan de livegebeurtenis (met behulp van RTMP of fragmented-MP4-invoerprotocol). De livegebeurtenis geeft vervolgens de binnenkomende videostroom door aan de dynamische veredeling (streaming-eindpunt) zonder verdere verwerking. Een passthrough-livegebeurtenis is geoptimaliseerd voor langlopende livegebeurtenissen of 24x365 lineair live streamen.

pass through streaming

Live Encoding

Als u livecodering wilt gebruiken, configureert u uw on-premises live encoder om een video met één bitsnelheid (maximaal 32 Mbps aggregaat) naar de livegebeurtenis te verzenden (met behulp van HET RTMP- of fragmented-MP4-invoerprotocol). Met de livegebeurtenis wordt de binnenkomende single bitrate stream omgezet in meerdere bitrate videostreams met verschillende resoluties. Dit verbetert de levering voor afspeelapparaten met industriestandaard protocollen zoals MPEG-DASH, Apple HTTP Live Streaming (HLS) en Microsoft Smooth Streaming.

live codering streaming

Opties voor livegebeurtenissen

Dynamische versleuteling

Met dynamische versleuteling kunt u uw live- of on-demand inhoud dynamisch versleutelen met AES-128 of een van de drie belangrijkste DRM-systemen (Digital Rights Management): Microsoft PlayReady, Google Widevine en Apple FairPlay. Media Services biedt ook een service voor het leveren van AES-sleutels en DRM-licenties (PlayReady, Widevine en FairPlay) aan geautoriseerde klanten. Zie dynamische versleuteling voor meer informatie.

Widevine is een service van Google Inc. en is onderworpen aan de servicevoorwaarden en het privacybeleid van Google Inc.

Dynamisch filteren

Dynamisch filteren wordt gebruikt om het aantal nummers, indelingen, bitrates en presentatietijdvensters te bepalen die naar de spelers worden verzonden. Zie filters en dynamische manifesten voor meer informatie.

Live transcriptie

Livetranscriptie is een functie die u kunt gebruiken met livegebeurtenissen die passthrough of livecodering zijn. Zie livetranscriptie voor meer informatie. Wanneer deze functie is ingeschakeld, gebruikt de service de functie Spraak-naar-tekst van Cognitive Services om de gesproken woorden in de binnenkomende audio in tekst te transcriberen. Deze tekst wordt vervolgens beschikbaar gesteld voor levering, samen met video en audio in MPEG-DASH- en HLS-protocollen.

Belangrijk

Gebruik GOP-grootten van 2 seconden voor livegebeurtenissen. U moet GOP-grootten van 4 seconden of lager gebruiken voor passthrough-livegebeurtenissen met livetranscripties om de juiste transcriptiegegevens te verkrijgen. Als u ervoor kiest om een hogere GOP-grootte te gebruiken, kunnen de transcriptiegegevens defecten hebben, bijvoorbeeld ontbrekende inhoud.

Beveiligingsoverwegingen voor ondertiteling, ondertitels en levering van getimede metagegevens

De dynamische versleuteling en DRM-functies van Azure Media Services hebben limieten om rekening mee te houden bij het beveiligen van de levering van inhoud met livetranscripties, bijschriften, ondertitels of getimede metagegevens. De DRM-subsystemen, waaronder PlayReady, FairPlay en Widevine, bieden geen ondersteuning voor de versleuteling en licentieverlening van tekstsporen. Het ontbreken van DRM-versleuteling voor tekstsporen beperkt de mogelijkheid om de inhoud van livetranscripties, handmatig ingevoegde bijschriften, geüploade ondertitels of getimede metagegevenssignalen die als afzonderlijke nummers kunnen worden ingevoegd, te beveiligen.

Volg deze richtlijnen om uw bijschriften, ondertitels of getimede metagegevenstracks te beveiligen:

  1. Gebruik AES-128 Sleutelversleuteling wissen. Wanneer u AES-128 clear key encryption inschakelt, kunnen de tekstsporen worden geconfigureerd om te worden versleuteld met behulp van een volledige envelopversleutelingstechniek die hetzelfde versleutelingspatroon volgt als de audio- en videosegmenten. Deze segmenten kunnen vervolgens worden ontsleuteld door een clienttoepassing nadat de ontsleutelingssleutel is aangevraagd bij de Media Services Key Delivery-service met behulp van een geverifieerd JWT-token. Deze methode wordt ondersteund door Azure Media Player, maar wordt mogelijk niet op alle apparaten ondersteund en kan enige ontwikkelwerkzaamheden aan de clientzijde vereisen om ervoor te zorgen dat deze op alle platforms slaagt.
  2. Gebruik CDN-tokenverificatie om de tekstsporen (ondertiteling, bijschriften, metagegevens) te beveiligen die worden geleverd met korte tokenized URL's die zijn beperkt tot geo, IP of andere configureerbare instellingen in de CDN-portal. Schakel de CDN-beveiligingsfuncties in met Verizon Premium CDN of andere CDN van derden die zijn geconfigureerd om verbinding te maken met uw Media Services-streaming-eindpunten.

Waarschuwing

Als u een van de bovenstaande richtlijnen niet volgt, zijn uw ondertitels, bijschriften of tekst met getimede metagegevens toegankelijk als niet-versleutelde inhoud die kan worden onderschept of gedeeld buiten het beoogde clientleveringspad. Dit kan leiden tot gelekte informatie. Als u zich zorgen maakt over de inhoud van de bijschriften of ondertitels die worden gelekt in een scenario voor veilige levering, neemt u contact op met het ondersteuningsteam van Media Services voor meer informatie over de bovenstaande richtlijnen voor het beveiligen van de levering van inhoud.

Werkstroom voor live streamen

Als u de werkstroom voor live streamen in Media Services v3 wilt begrijpen, moet u eerst de volgende concepten bekijken en begrijpen:

Algemene stappen

  1. Controleer in uw Media Services-account of het streaming-eindpunt (origin) wordt uitgevoerd.

  2. Maak een livegebeurtenis.
    Bij het maken van de gebeurtenis kunt u opgeven dat deze automatisch wordt gestart. U kunt de gebeurtenis ook starten wanneer u klaar bent om te beginnen met streamen.
    Wanneer autostart is ingesteld op true, wordt de livegebeurtenis direct na het maken gestart. De facturering wordt gestart zodra de livegebeurtenis wordt uitgevoerd. U moet expliciet Stop aanroepen op de livegebeurtenisresource om verdere facturering te stoppen. Zie livegebeurtenisstatussen en facturering voor meer informatie.

  3. Haal de opname-URL('s) op en configureer uw on-premises encoder om de URL te gebruiken om de bijdragefeed te verzenden.
    Zie aanbevolen live coderingsprogramma's.

  4. Haal de preview-URL op en gebruik deze om te controleren of de invoer van de encoder daadwerkelijk wordt ontvangen.

  5. Maak een nieuw assetobject .

    Elke live-uitvoer is gekoppeld aan een asset, die wordt gebruikt om de video op te nemen in de bijbehorende Azure Blob Storage-container.

  6. Maak een live-uitvoer en gebruik de assetnaam die u hebt gemaakt, zodat de stream kan worden gearchiveerd in de asset.

    Live-uitvoer starten zodra ze zijn gemaakt en stoppen wanneer ze worden verwijderd. Wanneer u de liveuitvoer verwijdert, verwijdert u de onderliggende asset en inhoud in de asset niet.

  7. Maak een streaming-locator met de ingebouwde streamingbeleidstypen.

    Als u de live-uitvoer wilt publiceren, moet u een streaming-locator maken voor de gekoppelde asset.

  8. Vermeld de paden op de streaming-locator om de URL's terug te krijgen die moeten worden gebruikt (deze zijn deterministisch).

  9. Haal de hostnaam op voor het streaming-eindpunt (Origin) van waaruit u wilt streamen.

  10. Combineer de URL uit stap 8 met de hostnaam in stap 9 om de volledige URL op te halen.

  11. Als u wilt stoppen met het weergeven van uw livegebeurtenis , moet u stoppen met het streamen van de gebeurtenis en de streaming-locator verwijderen.

  12. Als u klaar bent met het streamen van gebeurtenissen en de resources wilt opruimen die eerder zijn ingericht, volgt u de volgende procedure.

    • Stop het pushen van de stream vanuit het coderingsprogramma.
    • Stop de livegebeurtenis. Zodra de livegebeurtenis is gestopt, worden er geen kosten in rekening gebracht. Als u het kanaal opnieuw wilt starten, wordt dezelfde URL voor opnemen gebruikt, zodat u het coderingsprogramma niet opnieuw hoeft te configureren.
    • U kunt uw streaming-eindpunt stoppen, tenzij u het archief van uw livegebeurtenis wilt blijven leveren als een on-demand stream. Als de livegebeurtenis is gestopt, worden er geen kosten in rekening gebracht. Als het streaming-eindpunt echter nog steeds wordt uitgevoerd, worden er kosten in rekening gebracht.

De asset waarnaar de live-uitvoer wordt gearchiveerd, wordt automatisch een asset op aanvraag wanneer de live-uitvoer wordt verwijderd. U moet alle live-uitvoer verwijderen voordat een livegebeurtenis kan worden gestopt. U kunt een optionele vlag removeOutputsOnStop gebruiken om live-uitvoer automatisch te verwijderen bij het stoppen.

Tip

Zie de zelfstudie live streamen. In het artikel wordt de code onderzocht waarmee de hierboven beschreven stappen worden geïmplementeerd.

Andere belangrijke artikelen

Veelgestelde vragen over live streamen

Bekijk de vragen over live streamen in de veelgestelde vragen.

Help en ondersteuning

U kunt contact opnemen met Media Services als u vragen hebt of onze updates op een van de volgende manieren volgen: