Kódování videa a zvuku pomocí Media ServicesEncoding video and audio with Media Services

Termín kódování v Media Services se vztahuje na proces převodu souborů obsahujících digitální video nebo zvuk z jednoho standardního formátu na jiný, s účelem (a) zmenšování velikosti souborů a/nebo (b), která vytváří formát kompatibilní s širokou škálou zařízení a aplikací.The term encoding in Media Services applies to the process of converting files containing digital video and/or audio from one standard format to another, with the purpose of (a) reducing the size of the files, and/or (b) producing a format that's compatible with a broad range of devices and apps. Tento proces je také označován jako komprese videa nebo překódování.This process is also referred to as video compression, or transcoding. Další diskuzi o konceptech najdete v tématu komprese dat a co je kódování a překódování .See the Data compression and the What Is Encoding and Transcoding? for further discussion of the concepts.

Videa se většinou doručují do zařízení a aplikací pomocí postupného stahování nebo streamování s adaptivní přenosovou rychlostí.Videos are typically delivered to devices and apps by progressive download or through adaptive bitrate streaming.

Důležité

Media Services nevyúčtuje zrušené nebo chybové úlohy.Media Services does not bill for canceled or errored jobs. Například úloha, která dosáhla pokroku 50% a je zrušená, se neúčtuje za 50% minut úlohy.For example, a job that has reached 50% progress and is canceled is not billed at 50% of the job minutes. Účtují se vám pouze dokončené úlohy.You are only charged for finished jobs.

  • Aby bylo možné doručit progresivním stažením, můžete použít Azure Media Services k převodu digitálního mediálního souboru (Mezzanine) na soubor MP4 , který obsahuje video kódované pomocí kodeku H. 264 , a zvuk kódovaný pomocí kodeku AAC .To deliver by progressive download, you can use Azure Media Services to convert a digital media file (mezzanine) into an MP4 file, which contains video that's been encoded with the H.264 codec, and audio that's been encoded with the AAC codec. Tento soubor MP4 se zapisuje do Assetu v účtu úložiště.This MP4 file is written to an Asset in your storage account. Můžete použít rozhraní API Azure Storage nebo sady SDK (například úložiště REST API nebo sadu .NET SDK) a stáhnout soubor přímo.You can use the Azure Storage APIs or SDKs (for example, Storage REST API or .NET SDK) to download the file directly. Pokud jste vytvořili výstupní Asset s konkrétním názvem kontejneru v úložišti, použijte toto umístění.If you created the output Asset with a specific container name in storage, use that location. V opačném případě můžete použít Media Services k vypsání adres URL kontejneru assetů.Otherwise, you can use Media Services to list the asset container URLs.
  • Aby bylo možné připravit obsah pro doručování streamování s adaptivní přenosovou rychlostí, musí být soubor Mezzanine kódovaný s více přenosovými rychlostmi (vysoká až nízká).To prepare content for delivery by adaptive bitrate streaming, the mezzanine file needs to be encoded at multiple bitrates (high to low). Aby se zajistil řádný přechod kvality, rozlišení videa se sníží, protože se sníží rychlost.To ensure graceful transition of quality, the resolution of the video is lowered as the bitrate is lowered. Výsledkem je, že se jako kódovací žebřík používá tabulka rozlišení a přenosové rychlosti (viz automaticky generovaná žebřík s adaptivní přenosovou rychlostí).This results in a so-called encoding ladder–a table of resolutions and bitrates (see auto-generated adaptive bitrate ladder). Můžete použít Media Services ke kódování souborů Mezzanine s více přenosovými rychlostmi.You can use Media Services to encode your mezzanine files at multiple bitrates. V takovém případě získáte sadu souborů MP4 a přidružených konfiguračních souborů streamování zapsaných do Assetu v účtu úložiště.In doing so, you'll get a set of MP4 files and associated streaming configuration files written to an Asset in your storage account. Pak můžete použít funkci dynamického balení v Media Services k doručování videa prostřednictvím protokolů streamování, jako jsou MPEG-spojovníky a HLS.You can then use the Dynamic Packaging capability in Media Services to deliver the video via streaming protocols like MPEG-DASH and 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řesměrovat na zařízení nebo aplikace na základě jejich schopností.This requires you to create a Streaming Locator and build streaming URLs corresponding to the supported protocols, which can then be handed off to devices/apps based on their capabilities.

Následující diagram znázorňuje pracovní postup pro kódování na vyžádání s dynamickým balením.The following diagram shows the workflow for on-demand encoding with dynamic packaging.

Pracovní postup pro kódování na vyžádání s dynamickým balením

V tomto tématu najdete pokyny k zakódování obsahu pomocí Media Services V3.This topic gives you guidance on how to encode your content with Media Services v3.

Transformace a úlohyTransforms and jobs

Pro kódování pomocí Media Services V3 potřebujete vytvořit transformaci a úlohu.To encode with Media Services v3, you need to create a Transform and a Job. Transformace definuje recept pro vaše nastavení a výstupy kódování; úloha je instancí receptury.The transform defines a recipe for your encoding settings and outputs; the job is an instance of the recipe. Další informace najdete v tématu Transformace a úlohy.For more information, see Transforms and Jobs.

Při kódování pomocí Media Services použijte předvolby k informování kodéru, jak mají být zpracovány vstupní mediální soubory.When encoding with Media Services, you use presets to tell the encoder how the input media files should be processed. V Media Services V3 použijete ke kódování souborů Standard Encoder.In Media Services v3, you use Standard Encoder to encode your files. Můžete například určit rozlišení videa nebo počet zvukových kanálů, které chcete v zakódovaném obsahu.For example, you can specify the video resolution and/or the number of audio channels you want in the encoded content.

Můžete rychle začít s jedním z doporučených předplatných, které jsou založené na osvědčených postupech, nebo si můžete zvolit vytvoření vlastní předvolby, která bude cílit na konkrétní scénář nebo požadavky na zařízení.You can get started quickly with one of the recommended built-in presets based on industry best practices or you can choose to build a custom preset to target your specific scenario or device requirements. Další informace naleznete v tématu kódování s vlastní transformací.For more information, see Encode with a custom Transform.

Od ledna 2019 se při kódování se standardem Encoder vytvoří soubory MP4 a vytvoří se nový soubor. MPI, který se přidá do výstupního prostředku.Starting with January 2019, when encoding with the Standard Encoder to produce MP4 file(s), a new .mpi file is generated and added to the output Asset. Tento soubor MPI má za cíl zlepšit výkon pro dynamické balení a streamování.This MPI file is intended to improve performance for dynamic packaging and streaming scenarios.

Poznámka

Soubor MPI byste neměli upravovat ani odebírat nebo v rámci služby nemusíte mít žádnou závislost na existenci (nebo ne) takového souboru.You shouldn't modify or remove the MPI file, or take any dependency in your service on the existence (or not) of such a file.

Vytváření vstupu úlohy z adresy URL HTTPSCreating job input from an HTTPS URL

Když odešlete úlohy pro zpracování videí, je nutné sdělit Media Services, kde najít vstupní video.When you submit Jobs to process your videos, you have to tell Media Services where to find the input video. Jednou z možností je určit adresu URL HTTPS jako vstup úlohy.One of the options is to specify an HTTPS URL as a job input. V současné době Media Services V3 nepodporuje kódování bloků přenosu prostřednictvím adres URL protokolu HTTPS.Currently, Media Services v3 doesn't support chunked transfer encoding over HTTPS URLs.

PříkladyExamples

Vytváření vstupu úlohy z místního souboruCreating job input from a local file

Vstupní video se může ukládat jako Asset služby Media Service. v takovém případě vytvoříte vstupní Asset založený na souboru (uložený místně nebo v úložišti objektů BLOB v Azure).The input video can be stored as a Media Service Asset, in which case you create an input asset based on a file (stored locally or in Azure Blob storage).

PříkladyExamples

Kódování místního souboru pomocí vestavěných přednastaveníEncode a local file using built-in presets

Vytváření vstupu úlohy pomocí dílčího výstřižkuCreating job input with subclipping

Při kódování videa můžete určit, že se má zdrojový soubor také oříznout nebo vystřihnout a vytvořit výstup, který má pouze požadovanou část vstupního videa.When encoding a video, you can specify to also trim or clip the source file and produce an output that has only a desired portion of the input video. Tato funkce funguje s libovolnou transformací , která je sestavená buď pomocí BuiltInStandardEncoderPreset nebo předvoleb StandardEncoderPreset .This functionality works with any Transform that's built using either the BuiltInStandardEncoderPreset presets, or the StandardEncoderPreset presets.

Můžete zadat, chcete-li vytvořit úlohu s jedním klipem na vyžádání nebo v živém archivu (zaznamenaná událost).You can specify to create a Job with a single clip of a video on-demand or live archive (a recorded event). Vstup úlohy může být Asset nebo adresa URL protokolu HTTPS.The job input could be an Asset or an HTTPS URL.

Tip

Pokud chcete streamovat sublip videa bez opětovného kódování videa, zvažte použití předem filtrovaných manifestů s dynamickým balíčkem.If you want to stream a sublip of your video without re-encoding the video, consider using Pre-filtering manifests with Dynamic Packager.

PříkladyExamples

Viz příklady:See examples:

Vestavěná přednastaveníBuilt-in presets

Media Services podporuje následující předdefinované předvolby kódování:Media Services supports the following built-in encoding presets:

BuiltInStandardEncoderPresetBuiltInStandardEncoderPreset

BuiltInStandardEncoderPreset se používá k nastavení integrované předvolby pro kódování vstupního videa pomocí kodéru Standard.BuiltInStandardEncoderPreset is used to set a built-in preset for encoding the input video with the Standard Encoder.

V současné době jsou podporovány následující předvolby:The following presets are currently supported:

  • EncoderNamedPreset. AACGoodQualityAudio: vytvoří jeden soubor MP4 obsahující pouze stereofonní zvuk kódovaný v 192 KB/s.EncoderNamedPreset.AACGoodQualityAudio: produces a single MP4 file containing only stereo audio encoded at 192 kbps.

  • EncoderNamedPreset. AdaptiveStreaming (doporučeno): Další informace najdete v tématu Automatické generování žebříku přenosové rychlosti.EncoderNamedPreset.AdaptiveStreaming (recommended): For more information, see auto-generating a bitrate ladder.

  • EncoderNamedPreset. ContentAwareEncoding: zpřístupňuje přednastavení pro kódování zohledňující obsah.EncoderNamedPreset.ContentAwareEncoding: exposes a preset for content-aware encoding. Vzhledem k jakémukoli vstupnímu obsahu se služba pokusí automaticky určit optimální počet vrstev a odpovídající rychlost a nastavení rozlišení pro doručování pomocí adaptivního streamování.Given any input content, the service attempts to automatically determine the optimal number of layers, and appropriate bitrate and resolution settings for delivery by adaptive streaming. Základní algoritmy se budou dál vyvíjet v průběhu času.The underlying algorithms will continue to evolve over time. Výstup bude obsahovat soubory MP4 se zakládaným videem a zvukem.The output will contain MP4 files with video and audio interleaved. Další informace najdete v tématu kódování s ohledem na obsah.For more information, see content-aware encoding.

    Poznámka

    Ujistěte se, že používáte ContentAwareEncoding , který není ContentAwareEncodingExperimental.Make sure to use ContentAwareEncoding not ContentAwareEncodingExperimental.

  • EncoderNamedPreset. H264MultipleBitrate1080p: vytvoří sadu osmi souborů MP4 zarovnaných na skupinu GOP, od 6000 do 400 KB/s a stereofonního zvuku AAC.EncoderNamedPreset.H264MultipleBitrate1080p: produces a set of eight GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. Řešení začíná v 1080p a přejde do 360p.Resolution starts at 1080p and goes down to 360p.

  • EncoderNamedPreset. H264MultipleBitrate720p: vytvoří sadu šesti souborů MP4 zarovnaných na skupinu GOP, od 3400 do 400 KB/s a stereofonního zvuku AAC.EncoderNamedPreset.H264MultipleBitrate720p: produces a set of six GOP-aligned MP4 files, ranging from 3400 kbps to 400 kbps, and stereo AAC audio. Řešení začíná ve formátu 720p a přejde do 360p.Resolution starts at 720p and goes down to 360p.

  • EncoderNamedPreset. H264MultipleBitrateSD: vytvoří sadu pěti souborů MP4 zarovnaných na skupinu GOP, od 1600 do 400 KB/s a stereofonního zvuku AAC.EncoderNamedPreset.H264MultipleBitrateSD: produces a set of five GOP-aligned MP4 files, ranging from 1600 kbps to 400 kbps, and stereo AAC audio. Řešení začíná na 480p a přejde do 360p.Resolution starts at 480p and goes down to 360p.

  • EncoderNamedPreset. H264SingleBitrate1080p: vytvoří soubor MP4, kde video je zakódováno pomocí kodeku H. 264 v 6750 kbps a výšce obrázku 1080 pixelů a stereofonní zvuk je kódovaný pomocí kodeku AAC-LC při 64 kB/s.EncoderNamedPreset.H264SingleBitrate1080p: produces an MP4 file where the video is encoded with H.264 codec at 6750 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps.

  • EncoderNamedPreset. H264SingleBitrate720p: vytvoří soubor MP4, kde video je zakódováno pomocí kodeku H. 264 v 4500 kbps a výšce obrázku 720 pixelů a stereofonní zvuk je kódovaný pomocí kodeku AAC-LC při 64 kB/s.EncoderNamedPreset.H264SingleBitrate720p: produces an MP4 file where the video is encoded with H.264 codec at 4500 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps.

  • EncoderNamedPreset. H264SingleBitrateSD: vytvoří soubor MP4, kde video je zakódováno pomocí kodeku H. 264 v 2200 kbps a výšce obrázku 480 pixelů a stereofonní zvuk je kódovaný pomocí kodeku AAC-LC při 64 kB/s.EncoderNamedPreset.H264SingleBitrateSD: produces an MP4 file where the video is encoded with H.264 codec at 2200 kbps and a picture height of 480 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps.

Pokud chcete zobrazit seznam nejaktuálnějších nastavení, přečtěte si téma integrované předvolby, které se použijí pro kódování videí.To see the most up-to-date presets list, see built-in presets to be used for encoding videos.

Pokud chcete zjistit, jak se používají předvolby, přečtěte si téma nahrávání, kódování a streamování souborů.To see how the presets are used, see Uploading, encoding, and streaming files.

StandardEncoderPresetStandardEncoderPreset

StandardEncoderPreset popisuje nastavení, která se použijí při kódování vstupního videa pomocí kodéru Standard.StandardEncoderPreset describes settings to be used when encoding the input video with the Standard Encoder. Tuto předvolbu použijte při přizpůsobení přednastavení transformace.Use this preset when customizing Transform presets.

PožadavkyConsiderations

Při vytváření vlastních přednastavení platí následující požadavky:When creating custom presets, the following considerations apply:

  • Všechny hodnoty pro výšku a šířku v obsahu AVC musí být násobkem čtyř.All values for height and width on AVC content must be a multiple of four.
  • V Azure Media Services V3 jsou všechny přenosové rychlosti kódování v bitech za sekundu.In Azure Media Services v3, all of the encoding bitrates are in bits per second. To se liší od přednastavení s našimi rozhraními API v2, která jako jednotku používala kilobity za sekundu.This is different from the presets with our v2 APIs, which used kilobits/second as the unit. Pokud je například přenosová rychlost v v2 zadaná jako 128 (kilobit/s), ve verzi V3 by se nastavila na 128000 (bity za sekundu).For example, if the bitrate in v2 was specified as 128 (kilobits/second), in v3 it would be set to 128000 (bits/second).

Přizpůsobení předvolebCustomizing presets

Media Services plně podporuje přizpůsobení všech hodnot v předvolbách, aby splňovaly vaše specifické požadavky na kódování a požadavky.Media Services fully supports customizing all values in presets to meet your specific encoding needs and requirements. Příklady, které ukazují, jak přizpůsobit předvolby kodéru, najdete v následujícím seznamu:For examples that show how to customize encoder presets, see the list below:

PříkladyExamples

Předdefinované schémaPreset schema

V Media Services V3 jsou předvolby silně typované entity v rozhraní API.In Media Services v3, presets are strongly typed entities in the API itself. Definici "schématu" těchto objektů najdete v tématu Open API Specification (nebo Swagger).You can find the "schema" definition for these objects in Open API Specification (or Swagger). Přednastavené definice (například StandardEncoderPreset) můžete zobrazit také v REST API, .NET SDK (nebo v jiné referenční dokumentaci sady Media Services V3 SDK).You can also view the preset definitions (like StandardEncoderPreset) in the REST API, .NET SDK (or other Media Services v3 SDK reference documentation).

Škálování kódování ve verzi 3Scaling encoding in v3

Škálování zpracování médií najdete v tématu škálování pomocírozhraní příkazového řádku.To scale media processing, see Scale with CLI.

FakturaceBilling

Media Services nevyúčtuje zrušené nebo chybové úlohy.Media Services does not bill for canceled or errored jobs. Například úloha, která dosáhla pokroku 50% a je zrušená, se neúčtuje za 50% minut úlohy.For example, a job that has reached 50% progress and is canceled is not billed at 50% of the job minutes. Účtují se vám pouze dokončené úlohy.You are only charged for finished jobs.

Další informace najdete na stránce s cenami.For more information, see pricing.

Položte otázky, sdělte nám svůj názor, Získejte aktualizace.Ask questions, give feedback, get updates

Podívejte se na článek o komunitě Azure Media Services a podívejte se na různé způsoby, jak můžete klást otázky, sdělit svůj názor a získávat aktualizace Media Services.Check out the Azure Media Services community article to see different ways you can ask questions, give feedback, and get updates about Media Services.

Další krokyNext steps