Koda video och ljud med Media Services
Varning
Azure Media Services dras tillbaka den 30 juni 2024. Mer information finns i AMS Pensionsguide.
Tips
Vill du generera miniatyrbilder, sy ihop två videor, subclip en video eller rotera den (bland annat)? Du hittar Media Services-exempelkod på sidan Exempel .
Termen kodning i Media Services gäller för processen att konvertera filer som innehåller digital video och/eller ljud från ett standardformat till ett annat, med syftet att (a) minska storleken på filerna och/eller (b) producera ett format som är kompatibelt med en mängd olika enheter och appar. Den här processen kallas även för videokomprimering eller transkodning. Mer information om begreppen finns i Datakomprimeringoch Vad är kodning och transkodning?
Videor levereras vanligtvis till enheter och appar genom progressiv nedladdning eller via direktuppspelning med anpassningsbar bithastighet.
Viktigt
Media Services fakturerar inte för avbrutna jobb eller jobb som utlöser fel. Till exempel debiteras inte ett jobb som har nått 50 % förlopp och avbryts vid 50 % av jobbminuter. Du debiteras bara för slutförda jobb.
- Om du vill leverera med progressiv nedladdning kan du använda Azure Media Services för att konvertera en digital mediefil (mezzanin) till en MP4-fil , som innehåller video som har kodats med H.264-codec och ljud som har kodats med AAC-codec . Den här MP4-filen skrivs till en tillgång i ditt lagringskonto. Du kan använda Azure Storage-API:er eller SDK:er (till exempel Storage REST API eller .NET SDK) för att ladda ned filen direkt. Om du har skapat utdatatillgången med ett specifikt containernamn i lagringen använder du den platsen. Annars kan du använda Media Services för att visa url:er för tillgångscontainern.
- För att förbereda innehåll för leverans via direktuppspelning med anpassningsbar bithastighet måste mezzaninfilen kodas vid flera bithastigheter (hög till låg). För att säkerställa en bra övergång av kvalitet sänks videons upplösning när bithastigheten sänks. Detta resulterar i en så kallad kodningsstege – en tabell med upplösningar och bithastigheter (se stege för automatisk genererad anpassningsbar bithastighet eller använd innehållsmedveten kodningsförinställning). Du kan använda Media Services för att koda dina mezzaninfiler vid flera bithastigheter. När du gör det får du en uppsättning MP4-filer och associerade direktuppspelningskonfigurationsfiler skrivna till en tillgång i ditt lagringskonto. Du kan sedan använda funktionen Dynamisk paketering i Media Services för att leverera videon via strömningsprotokoll som MPEG-DASH och HLS. Detta kräver att du skapar en positionerare för direktuppspelning och skapar strömmande URL:er som motsvarar de protokoll som stöds, som sedan kan överlämnas till enheter/appar baserat på deras funktioner.
Transformeringar och jobb
Om du vill koda med Media Services v3 måste du skapa en transformering och ett jobb. Transformeringen definierar ett recept för dina kodningsinställningar och utdata. jobbet är en instans av receptet. Mer information finns i Transformeringar och jobb.
När du kodar med Media Services använder du förinställningar för att berätta för kodaren hur indatamediefilerna ska bearbetas. I Media Services v3 använder du Standard Encoder för att koda dina filer. Du kan till exempel ange videoupplösningen och/eller antalet ljudkanaler som du vill använda i det kodade innehållet.
Du kan komma igång snabbt med en av de inbyggda förinställningarna baserat på branschens bästa praxis eller så kan du välja att skapa en anpassad förinställning för att rikta in dig på ditt specifika scenario eller dina enhetskrav.
Från och med januari 2019, när du kodar med standardkodaren för att producera MP4-filer, genereras en ny .mpi-fil och läggs till i utdatatillgången. MPI-filen är avsedd att förbättra prestanda för dynamiska paketerings - och strömningsscenarier.
Anteckning
Du bör inte ändra eller ta bort MPI-filen, eller ta något beroende i tjänsten av förekomsten (eller inte) av en sådan fil.
Inbyggda förinställningar
Media Services stöder följande inbyggda kodningsförinställningar:
BuiltInStandardEncoderPreset
BuiltInStandardEncoderPreset används för att ange en inbyggd förinställning för att koda indatavideon med standardkodaren.
Följande inbyggda förinställningar stöds för närvarande:
EncoderNamedPreset.AACGoodQualityAudio: Skapar en enda MP4-fil som endast innehåller stereoljud kodat på 192 kbit/s.
EncoderNamedPreset.AdaptiveStreaming: Detta stöder H.264-kodning för anpassningsbar bithastighet. Mer information finns i Automatisk generering av en stege för bithastighet.
EncoderNamedPreset.H265AdaptiveStreaming : Liknar förinställningen AdaptiveStreaming, men använder HEVC-koden (H.265). Producerar en uppsättning GOP-justerade MP4-filer med H.265-video och stereo-AAC-ljud. Genererar automatiskt en stege för bithastighet baserat på indataupplösning, bithastighet och bildfrekvens. Den automatiskt genererade förinställningen överskrider aldrig indataupplösningen. Om indata till exempel är 720p förblir utdata i bästa fall 720p.
EncoderNamedPreset.ContentAwareEncoding: Exponerar en förinställning för H.264-innehållsmedveten kodning. Skapar en uppsättning GOP-justerade MP4:ar med hjälp av innehållsmedveten kodning. Med tanke på allt indatainnehåll utför tjänsten en inledande enkel analys av indatainnehållet och använder resultaten för att fastställa det optimala antalet lager, lämpliga bithastighets- och upplösningsinställningar för leverans via anpassningsbar direktuppspelning. Den här förinställningen är särskilt effektiv för videor med låg och medelhög komplexitet, där utdatafilerna kommer att ha lägre bithastigheter men med en kvalitet som fortfarande ger tittarna en bra upplevelse. Utdata innehåller MP4-filer med video och ljud interfolierat. Den här förinställningen ger endast utdata upp till 1 080P HD. Om 4K-utdata krävs kan du konfigurera förinställningen med PresetConfigurations med hjälp av egenskapen "maxHeight". Mer information finns i innehållsmedveten kodning.
EncoderNamedPreset.H265ContentAwareEncoding: Exponerar en förinställning för HEVC(H.265) innehållsmedveten kodning. Skapar en uppsättning GOP-justerade MP4:ar med hjälp av innehållsmedveten kodning. Med tanke på allt indatainnehåll utför tjänsten en inledande enkel analys av indatainnehållet och använder resultaten för att fastställa det optimala antalet lager, lämpliga bithastighets- och upplösningsinställningar för leverans via anpassningsbar direktuppspelning. Den här förinställningen är särskilt effektiv för videor med låg och medelhög komplexitet, där utdatafilerna kommer att ha lägre bithastigheter men med en kvalitet som fortfarande ger tittarna en bra upplevelse. Utdata innehåller MP4-filer med video och ljud interfolierat. Den här förinställningen ger utdata på upp till 4 000 HD. Om 8K-utdata krävs kan du konfigurera förinställningen med PresetConfigurations med hjälp av egenskapen "maxHeight".
EncoderNamedPreset.H264MultipleBitrate1080p: producerar en uppsättning med åtta GOP-justerade MP4-filer, från 6 000 kbit/s till 400 kbit/s och stereo-AAC-ljud. Upplösningen börjar på 1080p och går ner till 360p.
EncoderNamedPreset.H264MultipleBitrate720p: producerar en uppsättning av sex GOP-justerade MP4-filer, från 3 400 kbit/s till 400 kbit/s och stereo-AAC-ljud. Lösningen börjar på 720p och går ner till 360p.
EncoderNamedPreset.H264MultipleBitrateSD: producerar en uppsättning med fem GOP-justerade MP4-filer, från 1 600 kbit/s till 400 kbit/s och stereo-AAC-ljud. Upplösningen börjar på 480p och går ner till 360p.
EncoderNamedPreset.H264SingleBitrate1080p: skapar en MP4-fil där videon är kodad med H.264 codec på 6750 kbit/s och en bildhöjd på 1 080 bildpunkter, och stereoljudet kodas med AAC-LC codec på 128 kbit/s. Om du vill ha lägre bithastigheter för ljud kan du skapa en anpassad kodningsförinställning i din transformering och justera samplingsfrekvensen eller kanalantalet för att komma ner till lägre värden för AAC-LC.
EncoderNamedPreset.H264SingleBitrate720p: skapar en MP4-fil där videon är kodad med H.264 codec på 4 500 kbit/s och en bildhöjd på 720 bildpunkter, och stereoljudet kodas med AAC-LC codec på 128 kbit/s. Om du vill ha lägre bithastigheter för ljud kan du skapa en anpassad kodningsförinställning i din transformering och justera samplingsfrekvensen eller kanalantalet för att komma ner till lägre värden för AAC-LC.
EncoderNamedPreset.H264SingleBitrateSD: skapar en MP4-fil där videon är kodad med H.264 codec på 2200 kbit/s och en bildhöjd på 480 bildpunkter, och stereoljudet kodas med AAC-LC codec på 128 kbit/s. Om du vill ha lägre bithastigheter för ljud kan du skapa en anpassad kodningsförinställning i din transformering och justera samplingsfrekvensen eller kanalantalet för att komma ner till lägre värden för AAC-LC.
EncoderNamedPreset.H265SingleBitrate720P: skapar en MP4-fil där videon kodas med HEVC-kodc (H.265) på 1 800 kbit/s och en bildhöjd på 720 bildpunkter, och stereoljudet kodas med AAC-LC codec på 128 kbit/s.
EncoderNamedPreset.H265SingleBitrate1080p: skapar en MP4-fil där videon är kodad med HEVC-kodc (H.265) på 3 500 kbit/s och en bildhöjd på 1 080 bildpunkter, och stereoljudet kodas med AAC-LC codec på 128 kbit/s.
EncoderNamedPreset.H265SingleBitrate4K: skapar en MP4-fil där videon är kodad med HEVC-kodc (H.265) på 9 500 kbit/s och en bildhöjd på 2 160 bildpunkter, och stereoljudet kodas med AAC-LC codec på 128 kbit/s.
Om du vill se listan med mest aktuella förinställningar kan du läsa inbyggda förinställningar som ska användas för kodning av videor.
Anpassade förinställningar
Media Services har fullt stöd för anpassning av alla värden i förinställningar för att uppfylla dina specifika kodningsbehov och krav.
StandardEncoderPreset
StandardEncoderPreset beskriver inställningar som ska användas vid kodning av indatavideon med Standardkodaren. Använd den här förinställningen när du anpassar transformeringsförinställningar.
Överväganden
När du skapar anpassade förinställningar gäller följande överväganden:
- Alla värden för höjd och bredd på AVC-innehåll måste vara en multipel av fyra.
- I Azure Media Services v3 är alla kodningsbithastigheter i bitar per sekund. Detta skiljer sig från förinställningarna med våra v2-API:er, som använde kilobitar/sekund som enhet. Om bithastigheten i v2 till exempel angavs som 128 (kilobitar/sekund) i v3 skulle den anges till 128000 (bitar/sekund).
Förinställt schema
I Media Services v3 är förinställningar starkt skrivna entiteter i själva API:et. Du hittar definitionen "schema" för dessa objekt i Open API Specification (eller Swagger). Du kan också visa förinställda definitioner (till exempel StandardEncoderPreset) i REST API, .NET SDK (eller annan Media Services v3 SDK-referensdokumentation).
Skalningskodning i v3
För konton som skapats med 2020-05-01 eller senare version av API:et eller via Azure Portal krävs inte längre reserverade enheter för skalning och media. Skalning sker automatiskt och hanteras av tjänsten internt.
Fakturering
Media Services fakturerar inte för avbrutna eller felade jobb. Till exempel debiteras inte ett jobb som har nått 50 % förlopp och avbryts vid 50 % av jobbminuter. Du debiteras bara för slutförda jobb.
Mer information finns i priser.
Kodningsexempel
Se den omfattande listan över kodningsexempel.
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:
- Q & A
-
Stack Overflow. Tagga frågor med
azure-media-services
. - @MSFTAzureMedia eller använd @AzureSupport för att begära support.
- Öppna en supportbegäran via Azure Portal.