Kódování videa a zvuku pomocí Media Services
Upozornění
Služba Azure Media Services bude vyřazena 30. června 2024. Další informace najdete v průvodci vyřazením AMS.
Tip
Chcete generovat miniatury, spojit dvě videa dohromady, subclip video nebo ho otočit (mimo jiné)? Ukázkový kód služby Media Services najdete na stránce Ukázky .
Termín kódování ve službě Media Services se vztahuje na proces převodu souborů obsahujících digitální video nebo zvuk z jednoho standardního formátu do jiného s cílem (a) zmenšit velikost souborů a/nebo (b) vytvořit formát, který je kompatibilní s širokou škálou zařízení a aplikací. Tento proces se označuje také jako komprese videa nebo překódování. Další informace o konceptech najdete v tématech Komprese data Co je kódování a transkódování?
Videa se obvykle do zařízení a aplikací doručují progresivním stahováním nebo streamováním s adaptivní přenosovou rychlostí.
Důležité
Služba Media Services neúčtuje zrušené úlohy ani úlohy, které vyvolají chyby. Například úloha, která dosáhla 50% průběhu a je zrušená, se neúčtuje po 50 % minut úlohy. Účtují se vám jenom dokončené úlohy.
- K zajištění progresivního stahování můžete pomocí služby Azure Media Services převést soubor digitálního média (mezzanine) na soubor MP4 , který obsahuje video kódované kodekem H.264 a zvuk kódovaný kodekem AAC . Tento soubor MP4 se zapíše do prostředku ve vašem účtu úložiště. K přímému stažení souboru můžete použít rozhraní API nebo sady SDK služby Azure Storage (například Storage REST API nebo .NET SDK). Pokud jste vytvořili výstupní prostředek s konkrétním názvem kontejneru v úložišti, použijte toto umístění. V opačném případě můžete k výpisu adres URL kontejneru prostředků použít Media Services.
- Aby bylo možné připravit obsah na doručení pomocí streamování s adaptivní přenosovou rychlostí, musí být soubor mezzanine kódován s několika přenosovými rychlostmi (od vysoké po nízké). Aby byl zajištěn bezproblémový přechod kvality, snižuje se při snížení přenosové rychlosti rozlišení videa. Výsledkem je takzvaný kódovací žebřík – tabulka rozlišení a přenosových rychlostí (viz automaticky vygenerovaný žebřík adaptivní přenosové rychlosti nebo použijte předvolbu kódování s podporou obsahu). Pomocí služby Media Services můžete zakódovat soubory mezzanine s více přenosovými rychlostmi. Tím získáte sadu souborů MP4 a přidružených konfiguračních souborů streamování zapisovaných do prostředku ve vašem účtu úložiště. Pak můžete použít funkci dynamického balení ve službě Media Services k doručování videa prostřednictvím protokolů streamování, jako jsou MPEG-DASH a HLS. To vyžaduje, abyste vytvořili lokátor streamování a vytvořili adresy URL streamování odpovídající podporovaným protokolům, které se pak dají předat zařízením nebo aplikacím na základě jejich možností.
Transformace a úlohy
Pokud chcete kódovat pomocí Media Services v3, musíte vytvořit transformaci a úlohu. Transformace definuje recept pro nastavení a výstupy kódování. úloha je instancí receptu. Další informace najdete v tématu Transformace a úlohy.
Při kódování pomocí Media Services použijete předvolby, které kodérovi sdělí, jak se mají zpracovávat vstupní multimediální soubory. Ve službě Media Services v3 použijete ke kódování souborů standardní kodér. Můžete například zadat rozlišení videa nebo počet zvukových kanálů, které chcete mít v zakódovaném obsahu.
Můžete rychle začít s některou z předdefinovaných předvoleb na základě osvědčených postupů v oboru nebo můžete vytvořit vlastní předvolbu, která bude cílit na váš konkrétní scénář nebo požadavky na zařízení.
Od ledna 2019 se při kódování pomocí standardního kodéru pro vytváření souborů MP4 vygeneruje nový soubor .mpi, který se přidá do výstupního prostředku. Tento soubor MPI je určen ke zlepšení výkonu pro scénáře dynamického balení a streamování.
Poznámka
Soubor MPI byste neměli upravovat ani odebírat ani ve vaší službě spoléhat na existenci (nebo ne) takového souboru.
Předdefinované předvolby
Služba Media Services podporuje následující předdefinované předvolby kódování:
BuiltInStandardEncoderPreset
BuiltInStandardEncoderPreset slouží k nastavení předdefinované předvolby pro kódování vstupního videa pomocí standardního kodéru.
V současné době jsou podporovány následující předdefinované předvolby:
EncoderNamedPreset.AACGoodQualityAudio: Vytvoří jeden soubor MP4 obsahující pouze stereofonní zvuk kódovaný rychlostí 192 kb/s.
EncoderNamedPreset.AdaptiveStreaming: Podporuje kódování H.264 s adaptivní přenosovou rychlostí. Další informace najdete v tématu automatické generování žebříku přenosové rychlosti.
EncoderNamedPreset.H265AdaptiveStreaming : Podobá se předvolbě AdaptiveStreaming, ale používá kodek HEVC (H.265). Vytvoří sadu souborů MP4 zarovnaných s gop s videem H.265 a stereo zvukem AAC. Automaticky generuje žebřík přenosové rychlosti na základě vstupního rozlišení, přenosové rychlosti a snímkové frekvence. Automaticky vygenerovaná předvolba nikdy nepřekročí rozlišení vstupu. Pokud je například vstup 720p, zůstane výstup v nejlepším případě 720p.
EncoderNamedPreset.ContentAwareEncoding: Zveřejňuje předvolbu pro kódování H.264 podporující obsah. Vytvoří sadu sad MP4 zarovnaných s gop pomocí kódování s vědomím obsahu. Vzhledem k jakémukoli vstupnímu obsahu služba provede počáteční jednoduchou analýzu vstupního obsahu a pomocí výsledků určí optimální počet vrstev, odpovídající přenosovou rychlost a nastavení rozlišení pro doručování adaptivním streamováním. Tato předvolba je zvláště účinná u videí s nízkou a střední složitostí, kde budou výstupní soubory s nižší přenosovou rychlostí, ale v kvalitě, která stále poskytuje dobré prostředí pro diváky. Výstup bude obsahovat soubory MP4 s prokládáním videa a zvuku. Tato předvolba vytváří výstup až do 1080P HD. Pokud je vyžadován výstup 4K, můžete nakonfigurovat předvolbu pomocí presetConfigurations pomocí vlastnosti "maxHeight". Další informace najdete v tématu Kódování s informacemi o obsahu.
EncoderNamedPreset.H265ContentAwareEncoding: Zveřejňuje předvolbu pro kódování HEVC (H.265) podporující obsah. Vytvoří sadu sad MP4 zarovnaných s gop pomocí kódování s vědomím obsahu. Vzhledem k jakémukoli vstupnímu obsahu služba provede počáteční jednoduchou analýzu vstupního obsahu a pomocí výsledků určí optimální počet vrstev, odpovídající přenosovou rychlost a nastavení rozlišení pro doručování adaptivním streamováním. Tato předvolba je zvláště účinná u videí s nízkou a střední složitostí, kde budou výstupní soubory s nižší přenosovou rychlostí, ale v kvalitě, která stále poskytuje dobré prostředí pro diváky. Výstup bude obsahovat soubory MP4 s prokládáním videa a zvuku. Tato předvolba vytváří výstup až 4K HD. Pokud je vyžadován výstup 8K, můžete nakonfigurovat předvolbu s PresetConfigurations pomocí vlastnosti "maxHeight".
EncoderNamedPreset.H264MultipleBitrate1080p: vytvoří sadu osmi souborů MP4 zarovnaných s GOP, od 6000 kb/s do 400 kb/s a stereofonního zvuku AAC. Rozlišení začíná na 1080p a přejde na 360p.
EncoderNamedPreset.H264MultipleBitrate720p: vytvoří sadu šesti souborů MP4 zarovnaných s GOP v rozsahu od 3400 kb/s do 400 kb/s a stereofonního zvuku AAC. Rozlišení začíná na 720p a přejde na 360p.
EncoderNamedPreset.H264MultipleBitrateSD: vytvoří sadu pěti souborů MP4 zarovnaných s GOP, od 1600 kb/s do 400 kb/s a stereofonního zvuku AAC. Rozlišení začíná na 480p a přejde na 360p.
EncoderNamedPreset.H264SingleBitrate1080p: Vytvoří soubor MP4, ve kterém je video kódováno kodekem H.264 rychlostí 6750 kb/s a výškou obrázku 1080 pixelů a stereofonní zvuk je kódován kodekem AAC-LC rychlostí 128 kb/s. Pokud chcete snížit přenosovou rychlost zvuku, můžete v transformaci vytvořit vlastní předvolbu kódování a upravit vzorkovací frekvenci nebo počet kanálů tak, aby se dostaly na nižší hodnoty pro AAC-LC.
EncoderNamedPreset.H264SingleBitrate720p: Vytvoří soubor MP4, ve kterém je video kódováno kodekem H.264 rychlostí 4500 kb/s a výškou obrázku 720 pixelů a stereofonní zvuk je kódován kodekem AAC-LC rychlostí 128 kb/s. Pokud chcete snížit přenosovou rychlost zvuku, můžete v transformaci vytvořit vlastní předvolbu kódování a upravit vzorkovací frekvenci nebo počet kanálů tak, aby se dostaly na nižší hodnoty pro AAC-LC.
EncoderNamedPreset.H264SingleBitrateSD: vytvoří soubor MP4, ve kterém je video kódováno kodekem H.264 rychlostí 2200 kb/s a výškou obrázku 480 pixelů a stereofonní zvuk je kódován kodekem AAC-LC rychlostí 128 kb/s. Pokud chcete snížit přenosovou rychlost zvuku, můžete v transformaci vytvořit vlastní předvolbu kódování a upravit vzorkovací frekvenci nebo počet kanálů tak, aby se dostaly na nižší hodnoty pro AAC-LC.
EncoderNamedPreset.H265SingleBitrate720P: Vytvoří soubor MP4, ve kterém je video kódováno kodekem HEVC (H.265) rychlostí 1800 kb/s a výškou obrázku 720 pixelů a stereofonní zvuk je kódován kodekem AAC-LC rychlostí 128 kbps.
EncoderNamedPreset.H265SingleBitrate1080p: Vytvoří soubor MP4, ve kterém je video kódováno kodekem HEVC (H.265) rychlostí 3500 kb/s a výškou obrázku 1080 pixelů a stereofonní zvuk je kódován kodekem AAC-LC rychlostí 128 kbps.
EncoderNamedPreset.H265SingleBitrate4K: Vytvoří soubor MP4, ve kterém je video kódováno kodekem HEVC (H.265) rychlostí 9500 kb/s a výškou obrázku 2160 pixelů a stereofonní zvuk je kódován kodekem AAC-LC rychlostí 128 kb/s.
Pokud chcete zobrazit seznam nejaktuálnějších předvoleb, podívejte se na předdefinované předvolby, které se mají použít pro kódování videí.
Vlastní předvolby
Služba Media Services plně podporuje přizpůsobení všech hodnot v předvolbách tak, aby vyhovovaly vašim konkrétním požadavkům a požadavkům na kódování.
StandardEncoderPreset
StandardEncoderPreset popisuje nastavení, která se mají použít při kódování vstupního videa pomocí standardního kodéru. Tuto předvolbu použijte při přizpůsobení předvoleb transformace.
Požadavky
Při vytváření vlastních předvoleb platí následující aspekty:
- Všechny hodnoty pro výšku a šířku obsahu AVC musí být násobek čtyř.
- Ve službě Azure Media Services v3 jsou všechny přenosové rychlosti kódování v bitech za sekundu. To se liší od předvoleb s našimi rozhraními API v2, které jako jednotku používaly kilobity za sekundu. Pokud by například přenosová rychlost ve v2 byla zadána jako 128 (kilobitů za sekundu), ve verzi 3 by byla nastavená na 128000 (bitů za sekundu).
Přednastavené schéma
Ve službě Media Services v3 jsou přednastavené entity silného typu v samotném rozhraní API. Definici schématu pro tyto objekty najdete ve specifikaci Open API (nebo Swagger). Přednastavené definice (například StandardEncoderPreset) můžete zobrazit také v rozhraní REST API, sadě .NET SDK (nebo jiné referenční dokumentaci k sadě Media Services v3 SDK).
Škálování kódování ve verzi 3
U účtů vytvořených pomocí 2020-05-01 nebo novější verze rozhraní API nebo prostřednictvím Azure Portal se už rezervované jednotky škálování a médií nevyžadují. Škálování bude automatické a služba bude zpracovávat interně.
Fakturace
Služba Media Services neúčtuje zrušené nebo chybové úlohy. Například úloha, která dosáhla 50% průběhu a je zrušená, se neúčtuje po 50 % minut úlohy. Účtují se vám jenom dokončené úlohy.
Další informace najdete v tématu ceny.
Ukázky kódování
Podívejte se na rozsáhlý seznam ukázek kódování.
Získání nápovědy a podpory
Media Services můžete kontaktovat s dotazy nebo sledovat naše aktualizace jedním z následujících způsobů:
- Q & A
-
Stack Overflow Označit otázky pomocí
azure-media-services
. - @MSFTAzureMedia nebo použijte @AzureSupport a požádejte o podporu.
- Otevřete lístek podpory prostřednictvím Azure Portal.