Video en audio coderen met Media Services
Waarschuwing
Azure Media Services wordt op 30 juni 2024 buiten gebruik gesteld. Zie de handleiding voor buitengebruikstelling van AMS voor meer informatie.
Tip
Wilt u miniaturen genereren, twee video's aan elkaar plakken, een video subclip maken of deze draaien (onder andere)? U vindt voorbeeldcode voor Media Services op de pagina Voorbeelden .
De term codering in Media Services is van toepassing op het proces van het converteren van bestanden met digitale video en/of audio van de ene standaardindeling naar een andere, met als doel (a) het verkleinen van de grootte van de bestanden en/of (b) het produceren van een indeling die compatibel is met een breed scala aan apparaten en apps. Dit proces wordt ook wel videocompressie of transcodering genoemd. Zie Gegevenscompressie en Wat is codering en transcodering? voor verdere bespreking van de concepten.
Video's worden doorgaans aan apparaten en apps geleverd door progressief downloaden of via Adaptive Bitrate Streaming.
Belangrijk
Media Services factureert niet voor geannuleerde taken of taken die fouten veroorzaken. Een taak die bijvoorbeeld 50% voortgang heeft bereikt en is geannuleerd, wordt niet gefactureerd voor 50% van de taakminuten. Er worden alleen kosten in rekening gebracht voor voltooide taken.
- Als u progressief wilt downloaden, kunt u Azure Media Services gebruiken om een digitaal mediabestand (mezzanine) te converteren naar een MP4-bestand , dat video bevat die is gecodeerd met de H.264-codec en audio die is gecodeerd met de AAC-codec . Dit MP4-bestand wordt geschreven naar een asset in uw opslagaccount. U kunt de Azure Storage-API's of SDK's (bijvoorbeeld Storage REST API of .NET SDK) gebruiken om het bestand rechtstreeks te downloaden. Als u de uitvoerasset met een specifieke containernaam in de opslag hebt gemaakt, gebruikt u die locatie. Anders kunt u Media Services gebruiken om de URL's van de assetcontainer weer te geven.
- Als u inhoud wilt voorbereiden voor levering door Adaptive Bitrate Streaming, moet het mezzanine-bestand worden gecodeerd met meerdere bitrates (hoog naar laag). Om een probleemloze overgang van kwaliteit te garanderen, wordt de resolutie van de video verlaagd naarmate de bitsnelheid wordt verlaagd. Dit resulteert in een zogenaamde coderingsladder, een tabel met resoluties en bitrates (zie automatisch gegenereerde adaptieve bitrate-ladder of gebruik de vooraf ingestelde inhoudsbewuste codering). U kunt Media Services gebruiken om uw mezzanine-bestanden met meerdere bitrates te coderen. Als u dit doet, ontvangt u een set MP4-bestanden en bijbehorende streamingconfiguratiebestanden die zijn geschreven naar een asset in uw opslagaccount. Vervolgens kunt u de mogelijkheid Dynamisch verpakken in Media Services gebruiken om de video te leveren via streamingprotocollen zoals MPEG-DASH en HLS. Hiervoor moet u een streaming-locator maken en streaming-URL's bouwen die overeenkomen met de ondersteunde protocollen, die vervolgens kunnen worden doorgegeven aan apparaten/apps op basis van hun mogelijkheden.
Transformaties en taken
Als u wilt coderen met Media Services v3, moet u een transformatie en een taak maken. De transformatie definieert een recept voor uw coderingsinstellingen en -uitvoer; de taak is een exemplaar van het recept. Zie Transformaties en taken voor meer informatie.
Bij het coderen met Media Services gebruikt u voorinstellingen om de encoder te laten weten hoe de invoermediabestanden moeten worden verwerkt. In Media Services v3 gebruikt u Standard Encoder om uw bestanden te coderen. U kunt bijvoorbeeld de videoresolutie en/of het aantal audiokanalen opgeven dat u in de gecodeerde inhoud wilt opnemen.
U kunt snel aan de slag met een van de ingebouwde voorinstellingen op basis van aanbevolen procedures voor de branche of u kunt ervoor kiezen om een aangepaste voorinstelling te maken die is afgestemd op uw specifieke scenario of apparaatvereisten.
Vanaf januari 2019 wordt bij het coderen met de Standard Encoder om MP4-bestanden te produceren een nieuw MPi-bestand gegenereerd en toegevoegd aan de uitvoerasset. Dit MPI-bestand is bedoeld om de prestaties voor dynamische pakketten en streamingscenario's te verbeteren.
Notitie
U mag het MPI-bestand niet wijzigen of verwijderen, of afhankelijkheid in uw service nemen van het bestaan (of niet) van een dergelijk bestand.
Ingebouwde voorinstellingen
Media Services ondersteunt de volgende ingebouwde coderingsvoorinstellingen:
BuiltInStandardEncoderPreset
BuiltInStandardEncoderPreset wordt gebruikt om een ingebouwde voorinstelling in te stellen voor het coderen van de invoervideo met de Standard Encoder.
De volgende ingebouwde voorinstellingen worden momenteel ondersteund:
EncoderNamedPreset.AACGoodQualityAudio: produceert één MP4-bestand met alleen stereoaudio gecodeerd met 192 kbps.
EncoderNamedPreset.AdaptiveStreaming: Dit ondersteunt H.264 Adaptive Bitrate-codering. Zie Automatisch een bitrate-ladder genereren voor meer informatie.
EncoderNamedPreset.H265AdaptiveStreaming : vergelijkbaar met de preset AdaptiveStreaming, maar maakt gebruik van de HEVC-codec (H.265). Produceert een set GOP-uitgelijnde MP4-bestanden met H.265-video en stereo-AAC-audio. Er wordt automatisch een bitrate-ladder gegenereerd op basis van de invoerresolutie, bitsnelheid en framesnelheid. De automatisch gegenereerde voorinstelling overschrijdt nooit de invoerresolutie. Als de invoer bijvoorbeeld 720p is, blijft de uitvoer maximaal 720p.
EncoderNamedPreset.ContentAwareEncoding: maakt een voorinstelling beschikbaar voor H.264-codering met inhoudsbewuste codering. Produceert een set OP GOP's afgestemde MP4's met behulp van inhoudsbewuste codering. Op basis van invoerinhoud voert de service een initiële lichtgewicht analyse van de invoerinhoud uit en gebruikt de resultaten om het optimale aantal lagen, de juiste bitrate- en resolutie-instellingen te bepalen voor levering door adaptieve streaming. Deze voorinstelling is met name effectief voor video's met lage en gemiddelde complexiteit, waarbij de uitvoerbestanden lagere bitrates hebben, maar met een kwaliteit die nog steeds een goede ervaring biedt aan kijkers. De uitvoer bevat MP4-bestanden met video en audio interleaved. Deze voorinstelling produceert alleen uitvoer tot 1080P HD. Als 4K-uitvoer vereist is, kunt u de voorinstelling configureren met PresetConfigurations met behulp van de eigenschap 'maxHeight'. Zie codering met inhoudsbewuste inhoud voor meer informatie.
EncoderNamedPreset.H265ContentAwareEncoding: maakt een voorinstelling beschikbaar voor hevc-inhoudsbewuste codering (H.265). Produceert een set OP GOP's afgestemde MP4's met behulp van inhoudsbewuste codering. Op basis van invoerinhoud voert de service een initiële lichtgewicht analyse van de invoerinhoud uit en gebruikt de resultaten om het optimale aantal lagen, de juiste bitrate- en resolutie-instellingen te bepalen voor levering door adaptieve streaming. Deze voorinstelling is met name effectief voor video's met lage en gemiddelde complexiteit, waarbij de uitvoerbestanden lagere bitrates hebben, maar met een kwaliteit die nog steeds een goede ervaring biedt aan kijkers. De uitvoer bevat MP4-bestanden met video en audio interleaved. Deze voorinstelling produceert uitvoer tot 4K HD. Als 8K-uitvoer vereist is, kunt u de voorinstelling configureren met PresetConfigurations met behulp van de eigenschap 'maxHeight'.
EncoderNamedPreset.H264MultipleBitrate1080p: produceert een set van acht OP GOP-afgestemde MP4-bestanden, variërend van 6000 kbps tot 400 kbps, en stereo AAC-audio. De resolutie begint bij 1080p en gaat omlaag naar 360p.
EncoderNamedPreset.H264MultipleBitrate720p: produceert een set van zes OP GOP-afgestemde MP4-bestanden, variërend van 3400 kbps tot 400 kbps, en stereo AAC-audio. De resolutie begint bij 720p en gaat omlaag naar 360p.
EncoderNamedPreset.H264MultipleBitrateSD: produceert een set van vijf OP GOP-afgestemde MP4-bestanden, variërend van 1600 kbps tot 400 kbps, en stereo AAC-audio. De resolutie begint bij 480p en gaat omlaag naar 360p.
EncoderNamedPreset.H264SingleBitrate1080p: produceert een MP4-bestand waarbij de video is gecodeerd met H.264-codec op 6750 kbps en een afbeeldingshoogte van 1080 pixels, en de stereoaudio is gecodeerd met AAC-LC-codec van 128 kbps. Als u lagere bitrates voor audio wilt, kunt u een aangepaste coderingsinstelling maken in uw transformatie en de samplingfrequentie of het aantal kanalen aanpassen om lagere waarden voor AAC-LC te krijgen.
EncoderNamedPreset.H264SingleBitrate720p: produceert een MP4-bestand waarbij de video is gecodeerd met H.264-codec op 4500 kbps en een afbeeldingshoogte van 720 pixels, en de stereoaudio wordt gecodeerd met AAC-LC-codec op 128 kbps. Als u lagere bitrates voor audio wilt, kunt u een aangepaste coderingsinstelling maken in uw transformatie en de samplingfrequentie of het aantal kanalen aanpassen om lagere waarden voor AAC-LC te krijgen.
EncoderNamedPreset.H264SingleBitrateSD: produceert een MP4-bestand waarbij de video is gecodeerd met H.264-codec bij 2200 kbps en een afbeeldingshoogte van 480 pixels, en de stereoaudio is gecodeerd met AAC-LC-codec op 128 kbps. Als u lagere bitrates voor audio wilt, kunt u een aangepaste coderingsinstelling maken in uw transformatie en de samplingfrequentie of het aantal kanalen aanpassen om lagere waarden voor AAC-LC te krijgen.
EncoderNamedPreset.H265SingleBitrate720P: produceert een MP4-bestand waarbij de video is gecodeerd met HEVC-codec (H.265) op 1800 kbps en een afbeeldingshoogte van 720 pixels, en de stereoaudio is gecodeerd met AAC-LC-codec van 128 kbps.
EncoderNamedPreset.H265SingleBitrate1080p: produceert een MP4-bestand waarbij de video is gecodeerd met HEVC-codec (H.265) op 3500 kbps en een afbeeldingshoogte van 1080 pixels, en de stereoaudio is gecodeerd met AAC-LC-codec op 128 kbps.
EncoderNamedPreset.H265SingleBitrate4K: produceert een MP4-bestand waarbij de video is gecodeerd met HEVC-codec (H.265) op 9500 kbps en een afbeeldingshoogte van 2160 pixels, en de stereoaudio is gecodeerd met AAC-LC-codec van 128 kbps.
Aangepaste voorinstellingen
Media Services biedt volledige ondersteuning voor het aanpassen van alle waarden in vooraf ingestelde instellingen om te voldoen aan uw specifieke coderingsbehoeften en -vereisten.
StandardEncoderPreset
StandardEncoderPreset beschrijft de instellingen die moeten worden gebruikt bij het coderen van de invoervideo met de Standard Encoder. Gebruik deze voorinstelling bij het aanpassen van transformatie-voorinstellingen.
Overwegingen
Bij het maken van aangepaste voorinstellingen zijn de volgende overwegingen van toepassing:
- Alle waarden voor hoogte en breedte in AVC-inhoud moeten een veelvoud van vier zijn.
- In Azure Media Services v3 zijn alle coderingsbitrates in bits per seconde. Dit verschilt van de voorinstellingen met onze v2-API's, die kilobits/seconde als eenheid gebruikten. Als de bitrate in v2 bijvoorbeeld is opgegeven als 128 (kilobits/seconde), wordt deze in v3 ingesteld op 128000 (bits/seconde).
Vooraf ingesteld schema
In Media Services v3 zijn voorinstellingen sterk getypte entiteiten in de API zelf. U vindt de definitie van het schema voor deze objecten in Open API-specificatie (of Swagger). U kunt de vooraf ingestelde definities (zoals StandardEncoderPreset) ook weergeven in de REST API, .NET SDK (of andere media services v3 SDK-referentiedocumentatie).
Codering schalen in v3
Voor accounts die zijn gemaakt met de 2020-05-01 of latere versie van de API of via de Azure Portal, zijn schalen en gereserveerde media-eenheden niet meer vereist. Schalen wordt automatisch uitgevoerd en intern verwerkt door de service.
Billing
Media Services brengt geen kosten in rekening voor geannuleerde of mislukte taken. Een taak die bijvoorbeeld 50% van de voortgang heeft bereikt en is geannuleerd, wordt niet gefactureerd voor 50% van de taakminuten. Er worden alleen kosten in rekening gebracht voor voltooide taken.
Zie prijzen voor meer informatie.
Coderingsvoorbeelden
Zie de uitgebreide lijst met coderingsvoorbeelden.
Help en ondersteuning
U kunt contact opnemen met Media Services met vragen of onze updates op een van de volgende manieren volgen:
- Q & A
-
Stack Overflow. Tag vragen met
azure-media-services
. - @MSFTAzureMedia of gebruik @AzureSupport om ondersteuning aan te vragen.
- Open een ondersteuningsticket via de Azure Portal.