Voorbeelden van Media Services v3

media services logo v3


Zoekt u Media Services v2-documentatie?

Dit artikel bevat een lijst met alle beschikbare voorbeelden voor Media Services geordend op methode en SDK. Voorbeelden zijn .NET, Node.js (TypeScript), Python en Java, evenals REST met Postman.

Voorbeelden per SDK

U vindt een beschrijving en koppelingen naar de voorbeelden die u mogelijk zoekt op elk van de tabbladen.

Voorbeeld Beschrijving
Account/CreateAccount In het voorbeeld ziet u hoe u een Media Services-account maakt en het primaire opslagaccount instelt, naast geavanceerde configuratie-instellingen, waaronder de allowlist voor sleutelleverings-IP, beheerde identiteit, opslagversleuteling en bring your own encryption key.
VideoEncoding/Encoding_PredefinedPreset In het voorbeeld ziet u hoe u een taak kunt verzenden met behulp van een ingebouwde voorinstelling en http-URL-invoer, uitvoeractiva voor streaming kunt publiceren en resultaten kunt downloaden voor verificatie.
VideoEncoding/Encoding_H264_ContentAware Demonstreert het meest eenvoudige gebruik van H.264-inhoudsbewuste codering zonder beperkingen
VideoEncoding/Encoding_H264_ContentAware_Constrained Demonstreert hoe u de klasse PresetConfigurations gebruikt om het uitvoergedrag van de voorinstelling te beperken
VideoEncoding/Encoding_H264 In het voorbeeld ziet u hoe u een taak kunt verzenden met behulp van een aangepaste vooraf ingestelde H.264-codering en http-URL-invoer, uitvoeractiva voor streaming kunt publiceren en resultaten kunt downloaden voor verificatie.
VideoEncoding/Encoding_HEVC_ContentAware Toont het basisgebruik van de HEVC-codec met inhoudsbewuste codering en geen beperkingen. De klasse PresetConfigurations wordt ook ondersteund voor HEVC en kan worden toegevoegd aan dit voorbeeld
VideoEncoding/Encoding_HEVC In het voorbeeld ziet u hoe u een taak kunt verzenden met behulp van een aangepaste vooraf ingestelde HEVC-codering en http-URL-invoer, uitvoeractiva voor streaming kunt publiceren en resultaten kunt downloaden voor verificatie.
VideoEncoding/Encoding_StitchTwoAssets In het voorbeeld ziet u hoe u een taak kunt verzenden met behulp van de JobInputSequence om twee of meer assets samen te stellen die kunnen worden afgekapt door de begin- of eindtijd. Het resulterende gecodeerde bestand is één video met alle assets die zijn samengeborduurd. In het voorbeeld wordt ook een uitvoeractivum gepubliceerd voor het streamen en downloaden van resultaten voor verificatie.
VideoEncoding/Encoding_SpriteThumbnail In het voorbeeld ziet u hoe u een taak kunt verzenden met behulp van een aangepaste voorinstelling met een miniatuurspretite en http-URL-invoer, uitvoeractiva voor streaming kunt publiceren en resultaten kunt downloaden voor verificatie.
Live/LiveEventWithDVR In dit voorbeeld ziet u eerst hoe u een LiveEvent maakt met een volledig archief van maximaal 25 uur en een filter op de asset met een DVR-venster van vijf minuten. Vervolgens ziet u hoe u het filter gebruikt om een locator voor streaming te maken.
VideoAnalytics/VideoAnalyzer In dit voorbeeld ziet u hoe u een transformatie voor videoanalyse maakt, een videobestand uploadt naar een invoeractivum, een taak met de transformatie indient en de resultaten voor verificatie downloadt.
AudioAnalytics/AudioAnalyzer In dit voorbeeld ziet u hoe u een audio-analyzertransformator maakt, een mediabestand uploadt naar een invoeractivum, een taak met de transformatie indient en de resultaten voor verificatie downloadt.
ContentProtection/BasicAESClearKey In dit voorbeeld wordt gedemonstreerd hoe u een transformatie maakt met de ingebouwde voorinstelling AdaptiveStreaming, een taak indient, een ContentKeyPolicy maakt met behulp van een geheime sleutel, contentKeyPolicy koppelt aan StreamingLocator, een token op aanvraag krijgt en een URL afdrukt om af te spelen in Azure Media Player. Wanneer een stream wordt aangevraagd door een speler, gebruikt Media Services de opgegeven sleutel om uw inhoud dynamisch te versleutelen met AES-128 en gebruikt Azure Media Player het token om te ontsleutelen.
ContentProtection/BasicWidevine In dit voorbeeld wordt gedemonstreerd hoe u een transformatie maakt met de ingebouwde voorinstelling AdaptiveStreaming, een taak indient, een ContentKeyPolicy met Widevine-configuratie maakt met behulp van een geheime sleutel, de ContentKeyPolicy koppelt aan StreamingLocator, een token op halen en een URL afdrukken voor afspelen in een Widevine Player. Wanneer een gebruiker met Widevine beveiligde inhoud aanvraagt, vraagt de spelertoepassing een licentie aan bij de Media Services licentieservice. Als de spelertoepassing is geautoriseerd, ontvangt de speler een licentie van de licentieservice van Media Services. Een Widevine-licentie bevat de ontsleutelingssleutel die door de clientspeler kan worden gebruikt om de inhoud te ontsleutelen en te streamen.
ContentProtection/BasicPlayReady In dit voorbeeld wordt gedemonstreerd hoe u een transformatie maakt met ingebouwde voorinstelling AdaptiveStreaming, een taak indient, een ContentKeyPolicy met PlayReady-configuratie maakt met behulp van een geheime sleutel, contentkeypolicy koppelt aan StreamingLocator, een token op halen en een URL afdrukken voor afspelen in een Azure Media Player. Wanneer een gebruiker playReady-beveiligde inhoud aanvraagt, vraagt de spelertoepassing een licentie aan bij de Media Services licentieservice. Als de spelertoepassing is geautoriseerd, ontvangt de speler een licentie van de licentieservice van Media Services. Een PlayReady-licentie bevat de ontsleutelingssleutel die door de clientspeler kan worden gebruikt om de inhoud te ontsleutelen en te streamen.
ContentProtection/OfflinePlayReadyAndWidevine In dit voorbeeld wordt gedemonstreerd hoe u uw inhoud dynamisch versleutelt met PlayReady en Widevine DRM en hoe u de inhoud kunt afspelen zonder een licentie aan te vragen bij de licentieservice. U ziet hoe u een transformatie maakt met ingebouwde voorinstelling AdaptiveStreaming, een taak indient, een ContentKeyPolicy met open beperking en permanente PlayReady/Widevine-configuratie maakt, ContentKeyPolicy koppelt aan een StreamingLocator en een URL afdrukt om af te spelen.
Streaming/AssetFilters In dit voorbeeld wordt gedemonstreerd hoe u een transformatie maakt met ingebouwde voorinstelling AdaptiveStreaming, een taak indient, een assetfilter en een accountfilter maakt, de filters koppelt aan streaming-locators en URL's afdrukt voor afspelen.
Streaming/StreamHLSAndDASH In dit voorbeeld wordt gedemonstreerd hoe u een transformatie maakt met ingebouwde voorinstelling AdaptiveStreaming, een taak indient, uitvoeractiva publiceert voor HLS- en DASH-streaming.
HighAvailabilityEncodingStreaming Dit voorbeeld bevat richtlijnen en best practices voor een productiesysteem met behulp van codering of analyse op aanvraag. Lezers moeten beginnen met het begeleidende artikel Hoge beschikbaarheid met Media Services en VOD. Er is een afzonderlijk oplossingsbestand beschikbaar voor het HighAvailabilityEncodingStreaming-voorbeeld.
Azure Functions voor Media Services Dit project bevat voorbeelden van Azure Functions verbinding maken met Azure Media Services v3 voor videoverwerking. U kunt Visual Studio 2019 of Visual Studio Code gebruiken om de functies te ontwikkelen en uit te voeren. Er Azure Resource Manager een ARM-sjabloon (GitHub Actions-werkstroom) verstrekt voor de implementatie van de function-resources en om continue implementatie mogelijk te maken.

REST Postman-verzameling

De REST Postman-voorbeelden bevatten een Postman-omgeving en -verzameling die u kunt importeren in de Postman-client. De Postman-verzamelingsvoorbeelden worden aanbevolen om vertrouwd te raken met de API-structuur en hoe deze werkt met Azure Resource Management (ARM), evenals de structuur van aanroepen van de client-SDK's.

Waarschuwing

Het is niet raadzaam om de REST API voor Media Services rechtstreeks in uw eigen bibliotheekcode te verpakken. Als u dit voor productiedoeleinden goed doet, moet u de volledige logica voor opnieuw proberen van Azure Resource Management implementeren en inzicht krijgen in het beheren van langlopende bewerkingen in Azure Resource Management-API's. Dit wordt automatisch afgehandeld door de client-SDK's voor verschillende talen ( .NET, Java, TypeScript, Python, Ruby, enzovoort) en vermindert de kans dat u problemen hebt met rety-logica of mislukte API-aanroepen. De client-SDK's verwerken dit allemaal al voor u. De Postman-verzameling wordt meer aangeboden als een onderwijshulpprogramma en om u te laten zien wat de client-SDK's daadwerkelijk op de kabel doen tijdens de ontwikkeling met de verschillende client-SDK's.