Come codificare con una trasformazione personalizzata - .NETHow to encode with a custom transform - .NET

logo di servizi multimediali v3media services logo v3


Quando si esegue la codifica con Servizi multimediali di Azure, è possibile iniziare rapidamente con uno dei set di impostazioni predefiniti consigliati in base alle procedure consigliate del settore, come illustrato nell'esercitazione Streaming di file.When encoding with Azure Media Services, you can get started quickly with one of the recommended built-in presets based on industry best practices as demonstrated in the Streaming files tutorial. È anche possibile compilare un set di impostazioni personalizzato in base allo scenario specifico o ai requisiti del dispositivo.You can also build a custom preset to target your specific scenario or device requirements.

ConsiderazioniConsiderations

Quando si creano set di impostazioni personalizzati, si applicano le considerazioni seguenti:When creating custom presets, the following considerations apply:

  • Tutti i valori per altezza e larghezza nel contenuto AVC devono essere multipli di 4.All values for height and width on AVC content must be a multiple of 4.
  • In Servizi multimediali di Azure v3, tutte le velocità in bit di codifica sono in bit al secondo.In Azure Media Services v3, all of the encoding bitrates are in bits per second. Questo è diverso dai set di impostazioni con le API v2, che usava kilobit al secondo come unità.This is different from the presets with our v2 APIs, which used kilobits/second as the unit. Ad esempio, se la velocità in bit in v2 è stata specificata come 128 (kilobit al secondo), in v3 sarebbe impostata su 128000 (bit al secondo).For example, if the bitrate in v2 was specified as 128 (kilobits/second), in v3 it would be set to 128000 (bits/second).

PrerequisitiPrerequisites

Creare un account di Servizi multimediali di Azure.Create a Media Services account

Scaricare l'esempioDownload the sample

Clonare nel computer un repository GitHub contenente l'esempio .NET Core completo usando il comando seguente:Clone a GitHub repository that contains the full .NET Core sample to your machine using the following command:

git clone https://github.com/Azure-Samples/media-services-v3-dotnet.git

L'esempio di set di impostazioni personalizzato si trova nella codifica con un set di impostazioni personalizzato usando la cartella .NET.The custom preset sample is located in the Encoding with a custom preset using .NET folder.

Creare una trasformazione con un set di impostazioni personalizzatoCreate a transform with a custom preset

Quando si crea un nuovo oggetto Transform, è necessario specificare ciò che dovrà generare come output.When creating a new Transform, you need to specify what you want it to produce as an output. Il parametro obbligatorio è costituito da un oggetto TransformOutput, come illustrato nel codice seguente.The required parameter is a TransformOutput object, as shown in the code below. Ogni TransformOutput contiene un parametro Preset.Each TransformOutput contains a Preset. Il set di impostazioni descrive le istruzioni dettagliate delle operazioni di elaborazione video e/o audio da usare per generare l'output TransformOutput desiderato.The Preset describes the step-by-step instructions of video and/or audio processing operations that are to be used to generate the desired TransformOutput. L'oggetto TransformOutput seguente crea impostazioni di output personalizzate per codec e livello.The following TransformOutput creates custom codec and layer output settings.

Quando si crea un oggetto Transform, è necessario verificare se ne esiste già uno tramite il metodo Get, come illustrato nel codice seguente.When creating a Transform, you should first check if one already exists using the Get method, as shown in the code that follows. In Servizi multimediali v3 i metodi Get per le entità restituiscono Null se l'entità non esiste (un controllo senza distinzione tra maiuscole e minuscole per il nome).In Media Services v3, Get methods on entities return null if the entity doesn't exist (a case-insensitive check on the name).

Passaggi successiviNext steps

Streaming di fileStreaming files