Uso di più file di input e proprietà del componente con il codificatore PremiumUsing multiple input files and component properties with Premium Encoder

PanoramicaOverview

In alcuni scenari potrebbe essere necessario personalizzare le proprietà del componente, specificare contenuto Clip List XML oppure inviare più file di input durante l'invio di un'attività con il processore di contenuti multimediali del flusso di lavoro Premium del codificatore multimediale .There are scenarios in which you might need to customize component properties, specify Clip List XML content, or send multiple input files when you submit a task with the Media Encoder Premium Workflow media processor. Di seguito sono riportati alcuni esempi:Some examples are:

  • Sovrapporre testo sul video e impostare il valore del testo, ad esempio la data corrente, in fase di esecuzione per ogni video di input.Overlaying text on video and setting the text value (for example, the current date) at runtime for each input video.
  • Personalizzare il contenuto Clip List XML per specificare uno o più file di origine, con o senza trimming e così via.Customizing the Clip List XML (to specify one or several source files, with or without trimming, etc.).
  • Sovrapporre un logo al video di input durante la codifica del video.Overlaying a logo image on the input video while the video is encoded.
  • Codifica di più lingue per l'audio.Multiple audio language encoding.

Per indicare a Flusso di lavoro Premium del codificatore multimediale che verranno modificate alcune proprietà nel flusso di lavoro quando si crea l'attività o si inviano più file di input, è necessario usare una stringa di configurazione contenente setRuntimeProperties e/o transcodeSource.To let the Media Encoder Premium Workflow know that you are changing some properties in the workflow when you create the task or send multiple input files, you have to use a configuration string that contains setRuntimeProperties and/or transcodeSource. Questo argomento ne illustra l'uso.This topic explains how to use them.

Sintassi della stringa di configurazioneConfiguration string syntax

La stringa di configurazione da impostare nell'attività di codifica usa un documento XML simile al seguente:The configuration string to set in the encoding task uses an XML document that looks like this:

<?xml version="1.0" encoding="utf-8"?>
<transcodeRequest>
  <transcodeSource>
  </transcodeSource>
  <setRuntimeProperties>
    <property propertyPath="Media File Input/filename" value="VideoFileName.mp4" />
  </setRuntimeProperties>
</transcodeRequest>

Di seguito è riportato il codice C# che legge la configurazione XML da un file, la aggiorna con il nome di file video corretto e la passa all'attività di un processo:The following is the C# code that reads the XML configuration from a file, update it with the right video filename and passes it to the task in a job:

string premiumConfiguration = ReadAllText(@"D:\home\site\wwwroot\Presets\SetRuntime.xml").Replace("VideoFileName", myVideoFileName);

// Declare a new job.
IJob job = _context.Jobs.Create("Premium Workflow encoding job");

// Get a media processor reference, and pass to it the name of the 
// processor to use for the specific task.
IMediaProcessor processor = GetLatestMediaProcessorByName("Media Encoder Premium Workflow");

// Create a task with the encoding details, using a string preset.
ITask task = job.Tasks.AddNew("Premium Workflow encoding task",
                              processor,
                              premiumConfiguration,
                              TaskOptions.None);

// Specify the input assets
task.InputAssets.Add(workflow); // workflow asset
task.InputAssets.Add(video); // video asset with multiple files

// Add an output asset to contain the results of the job. 
// This output is specified as AssetCreationOptions.None, which 
// means the output asset is not encrypted. 
task.OutputAssets.AddNew("Output asset", AssetCreationOptions.None);

Personalizzazione delle proprietà del componenteCustomizing component properties

Proprietà con un valore sempliceProperty with a simple value

In alcuni casi è utile personalizzare una proprietà del componente insieme al file del flusso di lavoro che verrà eseguito dal flusso di lavoro Premium del codificatore multimediale.In some cases, it is useful to customize a component property together with the workflow file that is going to be executed by Media Encoder Premium Workflow.

Si supponga che sia stato progettato un flusso di lavoro che sovrappone testo ai video e che il testo, ad esempio la data corrente, debba essere impostato in fase di esecuzione.Suppose you designed a workflow that overlays text on your videos, and the text (for example, the current date) is supposed to be set at runtime. Questa operazione può essere eseguita inviando il testo da impostare come nuovo valore della proprietà text del componente di sovrapposizione dell'attività di codifica.You can do this by sending the text to be set as the new value for the text property of the overlay component from the encoding task. Questo meccanismo consente di modificare altre proprietà di un componente nel flusso di lavoro, ad esempio la posizione o il colore della sovrapposizione, la velocità in bit del codificatore AVC e così via.You can use this mechanism to change other properties of a component in the workflow (such as the position or color of the overlay, the bitrate of the AVC encoder, etc.).

setRuntimeProperties viene usato per sostituire una proprietà nei componenti del flusso di lavoro.setRuntimeProperties is used to override a property in the components of the workflow.

Esempio:Example:

<?xml version="1.0" encoding="utf-8"?>
  <transcodeRequest>
    <setRuntimeProperties>
      <property propertyPath="Media File Input/filename" value="MyInputVideo.mp4" />
      <property propertyPath="/primarySourceFile" value="MyInputVideo.mp4" />
      <property propertyPath="Optional Text Overlay/Text To Image Converter/text" value="Today is Friday the 13th of May, 2016"/>
  </setRuntimeProperties>
</transcodeRequest>

Proprietà con un valore XMLProperty with an XML value

Per impostare una proprietà che prevede un valore XML, incapsulare usando <![CDATA[ and ]]>.To set a property that expects an XML value, encapsulate by using <![CDATA[ and ]]>.

Esempio:Example:

<?xml version="1.0" encoding="utf-8"?>
  <transcodeRequest>
    <setRuntimeProperties>
      <property propertyPath="/primarySourceFile" value="start.mxf" />
      <property propertyPath="/inactiveTimeout" value="65" />
      <property propertyPath="clipListXml" value="xxx">
      <extendedValue><![CDATA[<clipList>
        <clip>
          <videoSource>
            <mediaFile>
              <file>start.mxf</file>
            </mediaFile>
          </videoSource>
          <audioSource>
            <mediaFile>
              <file>start.mxf</file>
            </mediaFile>
          </audioSource>
        </clip>
        <primaryClipIndex>0</primaryClipIndex>
        </clipList>]]>
      </extendedValue>
      </property>
      <property propertyPath="Media File Input Logo/filename" value="logo.png" />
    </setRuntimeProperties>
  </transcodeRequest>

Nota

Non inserire un ritorno a capo subito dopo <![CDATA[.Make sure not to put a carriage return just after <![CDATA[.

Valore di propertyPathpropertyPath value

Negli esempi precedenti, il valore di propertyPath era "/Media File Input/filename", o "/inactiveTimeout" oppure "clipListXml".In the previous examples, the propertyPath was "/Media File Input/filename" or "/inactiveTimeout" or "clipListXml". Si tratta in genere del nome del componente seguito dal nome della proprietà.This is, in general, the name of the component, then the name of the property. Il percorso può avere più o meno livelli, ad esempio "/primarySourceFile" perché la proprietà è alla radice del flusso di lavoro o "/Video Processing/Graphic Overlay/Opacity" perché la sovrimpressione è in un gruppo.The path can have more or fewer levels, like "/primarySourceFile" (because the property is at the root of the workflow) or "/Video Processing/Graphic Overlay/Opacity" (because the Overlay is in a group).

Per verificare il percorso e il nome della proprietà, usare il pulsante di azione immediatamente accanto a ogni proprietà.To check the path and property name, use the action button that is immediately beside each property. È possibile fare clic su questo pulsante di azione e selezionare Modifica.You can click this action button and select Edit. Verrà visualizzato il nome effettivo della proprietà e lo spazio dei nomi immediatamente sopra.This will show you the actual name of the property, and immediately above it, the namespace.

Azione/modifica

Proprietà

Più file di inputMultiple input files

Ogni attività inviata al flusso di lavoro Premium del codificatore multimediale richiede due asset:Each task that you submit to the Media Encoder Premium Workflow requires two assets:

  • il primo è un asset di flusso di lavoro che contiene un file di flusso di lavoro.The first one is a Workflow Asset that contains a workflow file. È possibile progettare file di flusso di lavoro usando Progettazione flussi di lavoro.You can design workflow files by using the Workflow Designer.
  • il secondo è un asset multimediale che contiene i file multimediali da codificare.The second one is a Media Asset that contains the media file(s) that you want to encode.

Quando si inviano più file multimediali al flusso di lavoro Premium del codificatore multimediale , si applicano i vincoli seguenti:When you're sending multiple media files to the Media Encoder Premium Workflow encoder, the following constraints apply:

  • Tutti i file multimediali devono essere nello stesso asset multimediale.All the media files must be in the same Media Asset. L'uso di più asset multimediali non è supportato.Using multiple Media Assets is not supported.
  • È necessario impostare il file primario nell'asset multimediale. Si tratta idealmente del file video principale che il codificatore dovrà elaborare.You must set the primary file in this Media Asset (ideally, this is the main video file that the encoder is asked to process).
  • È necessario passare al processore dati di configurazione che includono l'elemento setRuntimeProperties e/o transcodeSource.It is necessary to pass configuration data that includes the setRuntimeProperties and/or transcodeSource element to the processor.
    • setRuntimeProperties viene usato per sostituire la proprietà Filename o un'altra proprietà nei componenti del flusso di lavoro.setRuntimeProperties is used to override the filename property or another property in the components of the workflow.
    • transcodeSource viene usato per specificare il contenuto Clip List XML.transcodeSource is used to specify the Clip List XML content.

Connessioni nel flusso di lavoro:Connections in the workflow:

  • se si usano uno o più componenti Media File Input e si prevede di usare setRuntimeProperties per specificare il nome del file, non collegare il pin del componente file primario ai componenti Media File Input.If you use one or several Media File Input components and plan to use setRuntimeProperties to specify the file name, then do not connect the primary file component pin to them. Assicurarsi che non esistano collegamenti tra l'oggetto file primario e i componenti Media File Input.Make sure that there is no connection between the primary file object and the Media File Input(s).
  • Se si preferisce usare Clip List XML e un componente Media Source è possibile collegare entrambi.If you prefer to use Clip List XML and one Media Source component, then you can connect both together.

Nessun collegamento dal file di origine primario a Media File Input

Non sono presenti collegamenti dal file primario ai componenti di Media File Input se si usa setRuntimeProperties per impostare la proprietà Filename.There is no connection from the primary file to Media File Input component(s) if you use setRuntimeProperties to set the filename property.

Collegamento da Clip List XML a Clip List Source

È possibile collegare Clip List XML a Media Source e usare transcodeSource.You can connect Clip List XML to Media Source and use transcodeSource.

Personalizzazione di Clip List XMLClip List XML customization

È possibile specificare contenuto Clip List XML nel flusso di lavoro, in fase di esecuzione, usando transcodeSource nel codice XML della stringa di configurazione.You can specify the Clip List XML in the workflow at runtime by using transcodeSource in the configuration string XML. Questa operazione richiede che il pin di Clip List XML sia collegato al componente Media Source nel flusso di lavoro.This requires the Clip List XML pin to be connected to the Media Source component in the workflow.

<?xml version="1.0" encoding="utf-16"?>
  <transcodeRequest>
    <transcodeSource>
      <clipList>
        <clip>
          <videoSource>
            <mediaFile>
              <file>video-part1.mp4</file>
            </mediaFile>
          </videoSource>
          <audioSource>
            <mediaFile>
              <file>video-part1.mp4</file>
            </mediaFile>
          </audioSource>
        </clip>
        <primaryClipIndex>0</primaryClipIndex>
      </clipList>
    </transcodeSource>
    <setRuntimeProperties>
      <property propertyPath="Media File Input Logo/filename" value="logo.png" />
    </setRuntimeProperties>
  </transcodeRequest>

Per specificare /primarySourceFile per usare questa proprietà per l'assegnazione di un nome ai file di output con espressioni, è consigliabile passare Clip List XML come proprietà, dopo la proprietà /primarySourceFile, per evitare che Clip List venga sostituito dall'impostazione di /primarySourceFile.If you want to specify /primarySourceFile to use this property to name the output files by using 'Expressions', then we recommend passing the Clip List XML as a property after the /primarySourceFile property, to avoid having the Clip List be overridden by the /primarySourceFile setting.

<?xml version="1.0" encoding="utf-8"?>
  <transcodeRequest>
    <setRuntimeProperties>
      <property propertyPath="/primarySourceFile" value="c:\temp\start.mxf" />
      <property propertyPath="/inactiveTimeout" value="65" />
      <property propertyPath="clipListXml" value="xxx">
      <extendedValue><![CDATA[<clipList>
        <clip>
          <videoSource>
            <mediaFile>
              <file>c:\temp\start.mxf</file>
            </mediaFile>
          </videoSource>
          <audioSource>
            <mediaFile>
              <file>c:\temp\start.mxf</file>
            </mediaFile>
          </audioSource>
        </clip>
        <primaryClipIndex>0</primaryClipIndex>
        </clipList>]]>
      </extendedValue>
      </property>
      <property propertyPath="Media File Input Logo/filename" value="logo.png" />
    </setRuntimeProperties>
  </transcodeRequest>

Con altro trimming preciso al fotogramma:With additional frame-accurate trimming:

<?xml version="1.0" encoding="utf-8"?>
  <transcodeRequest>
    <setRuntimeProperties>
      <property propertyPath="/primarySourceFile" value="start.mxf" />
      <property propertyPath="/inactiveTimeout" value="65" />
      <property propertyPath="clipListXml" value="xxx">
      <extendedValue><![CDATA[<clipList>
        <clip>
          <videoSource>
            <trim>
              <inPoint fps="25">00:00:05:24</inPoint>
              <outPoint fps="25">00:00:10:24</outPoint>
            </trim>
            <mediaFile>
              <file>start.mxf</file>
            </mediaFile>
          </videoSource>
          <audioSource>
            <trim>
              <inPoint fps="25">00:00:05:24</inPoint>
              <outPoint fps="25">00:00:10:24</outPoint>
            </trim>
            <mediaFile>
              <file>start.mxf</file>
            </mediaFile>
          </audioSource>
        </clip>
        <primaryClipIndex>0</primaryClipIndex>
        </clipList>]]>
      </extendedValue>
      </property>
      <property propertyPath="Media File Input Logo/filename" value="logo.png" />
    </setRuntimeProperties>
  </transcodeRequest>

Esempio 1: Sovrapporre un'immagine sul videoExample 1 : Overlay an image on top of the video

PresentazionePresentation

Si consideri un esempio in cui si vuole sovrapporre un logo al video di input durante la codifica del video.Consider an example in which you want to overlay a logo image on the input video while the video is encoded. In questo esempio, il video di input è denominato "Microsoft_HoloLens_Possibilities_816p24.mp4" e il logo è denominato "logo.png".In this example, the input video is named "Microsoft_HoloLens_Possibilities_816p24.mp4" and the logo is named "logo.png". Eseguire la procedura seguente:You should perform the following steps:

  • Creare un asset del flusso di lavoro con il file del flusso di lavoro. L'esempio è riportato di seguito.Create a Workflow Asset with the workflow file (see the following example).
  • Creare un asset multimediale contenente due file: MyInputVideo.mp4 come file primario e MyLogo.png.Create a Media Asset, which contains two files: MyInputVideo.mp4 as the primary file and MyLogo.png.
  • Inviare un'attività al processore di contenuti multimediali del flusso di lavoro Premium del codificatore multimediale con gli asset di input precedenti e specificare la stringa di configurazione seguente.Send a task to the Media Encoder Premium Workflow media processor with the above input assets and specify the following configuration string.

Configurazione:Configuration:

<?xml version="1.0" encoding="utf-16"?>
  <transcodeRequest>
    <setRuntimeProperties>
      <property propertyPath="Media File Input/filename" value="Microsoft_HoloLens_Possibilities_816p24.mp4" />
      <property propertyPath="/primarySourceFile" value="Microsoft_HoloLens_Possibilities_816p24.mp4" />
      <property propertyPath="Media File Input Logo/filename" value="logo.png" />
    </setRuntimeProperties>
  </transcodeRequest>

Nell'esempio precedente, il nome del file video viene invitato al componente Media File Input e alla proprietà primarySourceFile.In the example above, the name of the video file is sent to the Media File Input component and the primarySourceFile property. Il nome del file di logo viene inviato a un altro componente Media File Input, connesso al componente di sovrimpressione grafica.The name of the logo file is sent to another Media File Input that is connected to the graphic overlay component.

Nota

Il nome del file video viene inviato alla proprietà primarySourceFileThe video file name is sent to the primarySourceFile property. per usare questa proprietà nel flusso di lavoro, ad esempio per compilare il nome file di output con espressioni.The reason for this is to use this property in the workflow for building the correct output file name using Expressions, for example.

Procedura dettagliata di creazione del flusso di lavoroStep-by-step workflow creation

Di seguito sono descritti i passaggi per creare un flusso di lavoro che ha due file come input: un video e un'immagine.Here are the steps to create a workflow that takes two files as input: a video and an image. L'immagine verrà sovrapposta sul video.It will overlay the image on top of the video.

Aprire Progettazione flussi di lavoro e selezionare File > New Workspace (Nuova area di lavoro) > Transcode Blueprint.Open Workflow Designer and select File > New Workspace > Transcode Blueprint.

Il nuovo flusso di lavoro visualizzerà 3 elementi:The new workflow shows three elements:

  • Primary Source FilePrimary Source File
  • Clip List XMLClip List XML
  • Output File/AssetOutput File/Asset

Nuovo flusso di lavoro della codifica

Nuovo flusso di lavoro della codificaNew Encoding Workflow

Per accettare il file multimediale di input, iniziare aggiungendo un componente Media File Input.In order to accept the input media file, start with adding a Media File Input component. Per aggiungere un componente al flusso di lavoro, cercarlo nella casella di ricerca del repository e trascinare la voce desiderata sul riquadro della finestra di progettazione.To add a component to the workflow, look for it in the Repository search box and drag the desired entry onto the designer pane.

Aggiungere quindi il file video da usare per la progettazione del flusso di lavoro.Next, add the video file to be used for designing your workflow. A questo scopo, fare clic sul riquadro dello sfondo in Progettazione flussi di lavoro e cercare la proprietà Primary Source File (File di origine primario) nel riquadro delle proprietà a destra.To do so, click the background pane in Workflow Designer and look for the Primary Source File property on the right-hand property pane. Fare clic sull'icona della cartella e selezionare il file video appropriato.Click the folder icon and select the appropriate video file.

File di origine primario

File di origine primarioPrimary File Source

Specificare quindi il file video nel componente Media File Input.Next, specify the video file in the Media File Input component.

Origine Media File Input

Origine Media File InputMedia File Input Source

Al termine dell'operazione, il componente Media File Input esaminerà il file e popolerà i pin di output per riflettere il file esaminato.As soon as this is done, the Media File Input component will inspect the file and populate its output pins to reflect the file that it inspected.

Il passaggio successivo consiste nell'aggiungere un componente "Video Data Type Updater" (Strumento di aggiornamento tipo dati video) per specificare lo spazio colore Rec.709.The next step is to add a "Video Data Type Updater" to specify the color space to Rec.709. Aggiungere un set "Convertitore formato video" impostato per Layout dati/Tipo layout = Planare configurabile.Add a "Video Format Converter" that is set to Data Layout/Layout type = Configurable Planar. Il flusso video verrà così convertito in un formato che può essere usato come origine del componente di sovrapposizione.This will convert the video stream to a format that can be taken as a source of the overlay component.

Strumento di aggiornamento tipo dati video e Convertitore formato video

Strumento di aggiornamento tipo dati video e Convertitore formato videoVideo Data Type Updater and Format Converter

Layout type = Configurable Planar (Tipo layout = Planare configurabile)

Il tipo di layout è Planare configurabileLayout type is Configurable Planar

Aggiungere quindi un componente di sovrapposizione video e collegare il pin del video non compresso al pin del video non compresso del componente Media File Input.Next, add a Video Overlay component and connect the (uncompressed) video pin to the (uncompressed) video pin of the media file input.

Aggiungere un altro Media File Input per caricare il file del logo, fare clic sul componente e rinominarlo in "Media File Input Logo", selezionare un'immagine, ad esempio un file con estensione png, nella proprietà del file.Add another Media File Input (to load the logo file), click on this component and rename it to "Media File Input Logo", and select an image (a .png file for example) in the file property. Collegare il pin dell'immagine non compressa al pin dell'immagine non compressa della sovrimpressione.Connect the Uncompressed image pin to the Uncompressed image pin of the overlay.

Componente della sovrimpressione e origine del file di immagine

Componente della sovrimpressione e origine del file di immagineOverlay component and image file source

Per modificare la posizione del logo sul video, ad esempio per posizionare il logo al 10% di distanza dall'angolo superiore sinistro del video, deselezionare la casella di controllo Input manuale.If you want to modify the position of the logo on the video (for example, you might want to position it at 10 percent off of the top left corner of the video), clear the "Manual Input" check box. È possibile deselezionare questa opzione perché si usa Media File Input per fornire il file del logo al componente della sovrimpressione.You can do this because you are using a Media File Input to provide the logo file to the overlay component.

Posizione della sovrimpressione

Posizione della sovrimpressioneOverlay position

Per codificare il flusso video in H.264, aggiungere i componenti AVC Video Encoder e AAC Encoder all'area di progettazione.To encode the video stream to H.264, add the AVC Video Encoder and AAC encoder components to the designer surface. Collegare i pin.Connect the pins. Configurare il codificatore AAC e selezionare Conversione formato audio/Set di impostazioni: 2.0 - S, D.Set up the AAC encoder and select Audio Format Conversion/Preset : 2.0 (L, R).

Codificatori audio e video

Codificatori audio e videoAudio and Video Encoders

Aggiungere ora i componenti ISO Mpeg-4 Multiplexer e File Output e collegare i pin come illustrato.Now add the ISO Mpeg-4 Multiplexer and File Output components and connect the pins as shown.

Multiplexer MP4 e file di output

Multiplexer MP4 e file di outputMP4 multiplexer and file output

È necessario definire il nome del file di output.You need to set the name for the output file. Fare clic sul componente File Output e modificare l'espressione per il file:Click the File Output component and edit the expression for the file:

${ROOT_outputWriteDirectory}\${ROOT_sourceFileBaseName}_withoverlay.mp4

Nome file di output

Nome file di outputFile output name

È possibile eseguire il flusso di lavoro in locale per verificare che venga eseguito correttamente.You can run the workflow locally to check that it is running correctly.

Al termine, è possibile eseguire il flusso di lavoro in Servizi multimediali di Azure.After it finishes, you can run it in Azure Media Services.

Preparare prima un asset in Servizi multimediali di Azure con due file: il file video e il logo.First, prepare an asset in Azure Media Services with two files in it: the video file and the logo. Usare a tal fine .NET o l'API REST.You can do this by using the .NET or REST API. È anche possibile eseguire l'operazione con il portale di Azure o nello strumento di Esplorazione di Servizi multimediali di Azure (AMSE).You can also do this by using the Azure portal or Azure Media Services Explorer (AMSE).

Questa esercitazione illustra come gestire gli asset con AMSE.This tutorial shows you how to manage assets with AMSE. Esistono due modi per aggiungere file a un asset:There are two ways to add files to an asset:

  • Creare una cartella locale, copiare i due file al suo interno e trascinare la cartella nella scheda Asset .Create a local folder, copy the two files in it, and drag and drop the folder to the Asset tab.
  • Caricare il file video come asset, quindi visualizzare le informazioni sull'asset, passare alla scheda File e caricare un altro file (logo).Upload the video file as an asset, display the asset information, go to the files tab, and upload an additional file (logo).

Nota

Impostare un file primario nell'asset, ovvero il file video principale.Make sure to set a primary file in the asset (the main video file).

File di asset nello strumento di esplorazione di Servizi multimediali di Azure

File di asset nello strumento di esplorazione di Servizi multimediali di AzureAsset files in AMSE

Selezionare l'asset e scegliere di codificarlo con il codificatore Premium.Select the asset and choose to encode it with Premium Encoder. Caricare il flusso di lavoro e selezionarlo.Upload the workflow and select it.

Fare clic sul pulsante per passare i dati al processore, quindi aggiungere il codice XML seguente per impostare le proprietà di runtime:Click the button to pass data to the processor, and add the following XML to set the runtime properties:

Codificatore Premium nello strumento di esplorazione di Servizi multimediali di Azure

Codificatore Premium nello strumento di esplorazione di Servizi multimediali di AzurePremium Encoder in AMSE

Incollare quindi i dati XML seguenti.Then, paste the following XML data. È necessario specificare il nome del file video per Media File Input e primarySourceFile.You need to specify the name of the video file for both the Media File Input and primarySourceFile. Specificare anche il nome del file del logo.Specify the name of the file name for the logo too.

<?xml version="1.0" encoding="utf-16"?>
  <transcodeRequest>
    <setRuntimeProperties>
      <property propertyPath="Media File Input/filename" value="Microsoft_HoloLens_Possibilities_816p24.mp4" />
      <property propertyPath="/primarySourceFile" value="Microsoft_HoloLens_Possibilities_816p24.mp4" />
      <property propertyPath="Media File Input Logo/filename" value="logo.png" />
    </setRuntimeProperties>
  </transcodeRequest>

setRuntimeProperties

setRuntimePropertiessetRuntimeProperties

Se si usa .NET SDK per creare ed eseguire l'attività, questi dati XML devono essere passati come stringa di configurazione.If you use the .NET SDK to create and run the task, this XML data has to be passed as the configuration string.

public ITask AddNew(string taskName, IMediaProcessor mediaProcessor, string configuration, TaskOptions options);

Al termine del processo, il file MP4 nell'asset di output visualizzerà la sovrimpressione.After the job is complete, the MP4 file in the output asset displays the overlay!

Sovrimpressione sul video

Sovrimpressione sul videoOverlay on the video

È possibile scaricare il flusso di lavoro di esempio da GitHub.You can download the sample workflow from GitHub.

Esempio 2: Codifica di più lingue per l'audioExample 2 : Multiple audio language encoding

Un esempio di flusso di lavoro per la codifica di più lingue per l'audio è disponibile in GitHub.An example of multiple audio language encoding workfkow is available in GitHub.

La cartella contiene un flusso di lavoro di esempio che può essere usato per codificare un file MXF in un asset con più file MP4 con più tracce audio.This folder contains a sample workflow which can be used to encode a MXF file to a multi MP4 files asset with multiple audio tracks.

Il flusso di lavoro presuppone che il file MXF contenga una traccia audio. Le tracce audio aggiuntive dovranno essere passate come file audio separati (WAV, MP4 e così via).This workflow assumes that the MXF file contains one audio track ; the additional audio tracks should be passed as seperate audio files (WAV or MP4...).

Per effettuare la codifica, seguire questa procedura:To encode, please follow these steps:

  • Creare un asset di Servizi multimediali con il file MXF e i file audio (da 0 a 18).Create a Media Services asset with the MXF file and the Audio files (0 to 18 audio files).
  • Verificare che il file MXF sia impostato come file primario.Make sure that the MXF file is set as a primary file.
  • Creare un processo e un'attività con il processore del codificatore del flusso di lavoro Premium.Create a job and a task using the Premium Workflow Encoder processor. Usare il flusso di lavoro fornito (MultiMP4-1080p-19audio-v1.workflow).Use the workflow provided (MultiMP4-1080p-19audio-v1.workflow).
  • Passare i dati di setruntime.xml all'attività. Se si usa lo strumento di esplorazione di Servizi multimediali di Azure, usare il pulsante "pass xml data to the workflow" (passa dati xml a flusso di lavoro).Pass the setruntime.xml data to the task (if you use Azure Media Services Explorer, use the “pass xml data to the workflow” button).
    • Aggiornare i dati XML per specificare i nomi file e i tag di lingua corretti.Please update the XML data to specify the correct file names and languages tags.
    • Il flusso di lavoro include componenti audio con nome da Audio 1 ad Audio 18.The workflow has audio components named Audio 1 to Audio 18.
    • Per il tag di lingua è supportata la specifica RFC5646.RFC5646 is supported for the language tag.
<?xml version="1.0" encoding="utf-16"?>
<transcodeRequest>
  <setRuntimeProperties>
    <property propertyPath="Media File Input Video/filename" value="MainVideo.mxf" />
    <property propertyPath="Language/language_code" value="en" />
    <property propertyPath="/primarySourceFile" value="MainVideo.mxf" />
    <property propertyPath="Audio 1/Media File Input/filename" value="french-audio.wav" />
    <property propertyPath="Audio 1/Language/language_code" value="fr" />
    <property propertyPath="Audio 2/Media File Input/filename" value="german-audio.wav" />
    <property propertyPath="Audio 2/Language/language_code" value="de" />
    <property propertyPath="Audio 3/Media File Input/filename" value="japanese-audio.wav" />
    <property propertyPath="Audio 3/Language/language_code" value="ja" />
  </setRuntimeProperties>
</transcodeRequest>
  • L'asset codificato conterrà tracce audio in più lingue e tali tracce saranno selezionabili in Azure Media Player.The encoded asset will contain multi language audio tracks and these tracks should be selectable in Azure Media Player.

Vedere ancheSee also

Percorsi di apprendimento di Media ServicesMedia Services learning paths

Altre informazioni sui percorsi di apprendimento di Servizi multimediali di Azure:Read about the Azure Media Services learning paths:

Fornire commenti e suggerimentiProvide feedback

Usare il forum di suggerimenti degli utenti per fornire commenti e suggerimenti su come migliorare Servizi multimediali di Azure.Use the User Voice forum to provide feedback and make suggestions on how to improve Azure Media Services. È anche possibile passare direttamente a una delle categorie seguenti:You also can go directly to one of the following categories: