Live streamen met Azure Media Services v3
Zoekt u Media Services v2-documentatie?
Azure Media Services kunt u livegebeurtenissen leveren aan uw klanten in de Azure-cloud. Als u uw livegebeurtenissen wilt streamen Media Services, hebt u het volgende nodig:
Een camera die wordt gebruikt om de livegebeurtenis vast te leggen.
Zie Eenvoudige en draagbare configuratie van gebeurtenisvideo's voor installatie-ideeën.Als u geen toegang hebt tot een camera, kunnen hulpprogramma's zoals Telestream Wirecast worden gebruikt om een livefeed van een videobestand te genereren.
Een live video-encoder die signalen van een camera (of een ander apparaat, zoals een laptop) converteert naar een bijdragefeed die naar een Media Services. De bijdragefeed kan signalen bevatten die betrekking hebben op reclame, zoals SCTE-35-markeringen.
Zie Encoders voor live streamen voor een lijst met aanbevolen coderingen voor live streamen. Bekijk ook deze blog: Productie van live streamen met OBS.Onderdelen in Media Services, waarmee u de livegebeurtenis kunt opnemen, bekijken, verpakken, registreren, versleutelen en uitzenden naar uw klanten of naar een CDN voor verdere distributie.
Voor klanten die inhoud willen leveren aan grote internetgebruikers, raden we u aan om CDN streaming-eindpunt in te stellen.
Dit artikel bevat een overzicht en richtlijnen voor live streamen met Media Services en koppelingen naar andere relevante artikelen.
Notitie
U kunt de Azure Portal om v3-livegebeurtenissen te beheren, v3-assets weer te geven en informatie te krijgen over het openen van API's. Gebruik voor alle andere beheertaken (bijvoorbeeld Transformaties en taken) de REST API , CLIof een van de ondersteunde SDK's.
Dynamische verpakking en levering
Met Media Services kunt u profiteren van dynamische verpakking,waarmee u livestreams in MPEG DASH-, HLS- en Smooth Streaming-indelingen kunt bekijken en uitzenden vanuit de bijdragefeed die naar de service wordt verzonden. Uw kijkers kunnen de livestream afspelen met elke HLS-, DASH- of Smooth Streaming compatibele spelers. U kunt Azure Media Player in uw webtoepassingen of mobiele toepassingen gebruiken om uw stream in elk van deze protocollen te leveren.
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.
Notitie
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 sporen, indelingen, bitrates en presentatietijdvensters te bepalen dat naar de spelers wordt verzonden. Zie filters en dynamische manifesten voor meer informatie.
Typen livegebeurtenissen
Livegebeurtenissen zijn verantwoordelijk voor het opnemen en verwerken van de live videofeeds. Een livegebeurtenis kan worden ingesteld op een pass-through (een on-premises live-encoder verzendt een stroom met meerdere bitsnelheden) of live-codering (een on-premises live-encoder verzendt een stream met één bitsnelheid). Zie Livegebeurtenissen en live-uitvoervoor meer informatie over live streamen in Media Services v3.
Pass-through
Wanneer u de pass-through 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 voor de livegebeurtenis (met behulp van RTMP of een gefragmenteerd MP4-invoerprotocol). De livegebeurtenis voert vervolgens de binnenkomende videostreams door naar de dynamische packager (streaming-eindpunt) zonder verdere transcoderen. Een dergelijke pass-through livegebeurtenis is geoptimaliseerd voor langlopende livegebeurtenissen of 24x365 lineair live streamen.
Live Encoding
Wanneer u cloudcoderen gebruikt met Media Services, configureert u uw on-premises live-encoder voor het verzenden van een enkele bitrate video als bijdragefeed (maximaal 32 Mbps aggregatie) naar de livegebeurtenis (met behulp van RTMP of gefragmenteerd MP4-invoerprotocol). De livegebeurtenis transcodeert de binnenkomende single-bitrate stream in meerdere bitrate videostreams met verschillende resoluties om de levering te verbeteren en maakt deze beschikbaar voor levering aan afspeelapparaten via standaardprotocollen zoals MPEG-DASH, Apple HTTP Live Streaming (HLS) en Microsoft Smooth Streaming.
Livetranscriptie (preview)
Livetranscriptie is een functie die u kunt gebruiken met livegebeurtenissen die pass-through of live codering 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 te transcriberen naar tekst. Deze tekst wordt vervolgens beschikbaar gesteld voor levering, samen met video en audio in MPEG-DASH- en HLS-protocollen.
Notitie
Livetranscriptie is momenteel beschikbaar als preview-functie in VS - west 2.
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
Zorg ervoor Media Services het streaming-eindpunt (oorsprong) wordt uitgevoerd in uw Media Services account.
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 streamen.
Wanneer autostart is ingesteld op true, wordt de livegebeurtenis direct na het maken gestart. De facturering begint zodra de livegebeurtenis wordt uitgevoerd. U moet expliciet Stoppen aanroepen voor de resource van de livegebeurtenis om verdere facturering te stoppen. Zie livegebeurtenissen en facturering voor meer informatie.Haal de opname-URL('s) op en configureer uw on-premises encoder om de URL te gebruiken voor het verzenden van de bijdragefeed.
Zie aanbevolen live-encoders.Haal de preview-URL op en gebruik deze om te controleren of de invoer van de encoder daadwerkelijk wordt ontvangen.
Maak een nieuw assetobject.
Elke live-uitvoer is gekoppeld aan een asset, die wordt gebruikt om de video vast te leggen in de gekoppelde Azure Blob Storage-container.
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 live-uitvoer verwijdert, verwijdert u de onderliggende asset en inhoud in de asset niet.
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.
Vermeld de paden op de streaming-locator om de URL's terug te krijgen die moeten worden gebruikt (deze zijn deterministisch).
Haal de hostnaam op voor het streaming-eindpunt (Oorsprong) van waaraf u wilt streamen.
Combineer de URL uit stap 8 met de hostnaam in stap 9 om de volledige URL op te halen.
Als u wilt stoppen met het weergeven van uw livegebeurtenis, moet u stoppen met het streamen van de gebeurtenis en de streaming-locator verwijderen.
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 meer 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 stream op aanvraag. Als de livegebeurtenis is gestopt, worden er geen kosten in rekening gebracht.
De asset waarin 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 beschreven voor het implementeren van de hierboven beschreven stappen.
Andere belangrijke artikelen
- Aanbevolen live-encoders
- Een cloud-DVR gebruiken
- Functievergelijking van typen livegebeurtenissen
- Statussen en facturering
- Latentie
- Quota en limieten