Este artículo proviene de un motor de traducción automática.

Exprésese

Exprésese - Codificación de vídeos con Microsoft Expression Encoder 3 SDK

Adam Miller

En una de Mis escenas de la película favorita de todo el tiempo, Clark W. Griswold (Chevrolet Chase en “ vacaciones de Navidad ”) obtiene capturado en su ático aunque ocultar Navidad presenta. Para mantener activo, donaciones rosas guantes, sombrero verde y un color marrón pelo robaran extraída de un arcón partículas de polvo. En la parte inferior de la pecho busca las películas caseras en su juventud y pasa el tiempo que les inspeccionando (con lágrimas en entrecerró los ojos), el uso de un proyector de la película antigua.

Películas domésticas han recorrido un largo camino desde entonces, pero las personas todavía se deben tratar con uno de los mismos problemas: ¿Cómo mostrar la película a amigos y familiares? Sitios como YouTube, Vimeo y Facebook hacer uso compartido más fácil; pero en 100-plus megabytes por minuto de vídeo de alta definición, al obtener los datos en dichos sitios puede ser una tarea que requiere mucho tiempo. Es probable que sean el dispositivo portátil, el sistema de juegos o centro de soporte de cine en casa aún no puede reproducir el archivo. Para resolver estos problemas, deberá convertir el vídeo a otro formato. Este proceso se conoce como la codificación.

Acerca de Expression Encoder

El Microsoft vídeo herramienta de codificación, 3 de Expression Encoder, es parte de la familia de productos para la creación de atractivas interfaces de usuario para las aplicaciones de escritorio y Web de Expression. Expression Encoder en versiones gratuitas y de pagadas; la versión de pago es parte de 3 Suite (599 dólares) de Expression Studio y Expression Web 3 Suite (149 dólares). La descarga gratuita no es compatible con la codificación Smooth Streaming de Silverlight o H.264 de vídeo o uso de H.264 vídeo como un origen, pero lo le permite codificar archivos de vídeo de Windows Media y tiene un buen SDK. Muchos de los ejemplos de código en este artículo requieren el pago 
version del programa; sin embargo, volverá a generar todos los ejemplos de código de la versión gratuita del SDK. Sólo recibirá un InvalidMediaException o un FeatureNotAvailableException cuando se ejecuta.

Si no está listo para comprar Expression Suite, puede comenzar con Expression Encoder, descargue la versión gratuita de microsoft.com/expression de . También está disponible como parte de la suscripción Expression Professional a MSDN o en Visual Studio Professional con suscripción Premium a MSDN. Amplia gama de formatos de entrada y los destinos de salida compatibles es un robar relativa, tenga en cuenta que 149 dólares para un aplicación de software con este conjunto de características de codificación de vídeo profesional. Las soluciones similares de codificación de vídeo pueden costar ascendente de 3.000 dólares.

Sin importar la versión que elija, deberá instalar la QFE de codificador de 3. Agrega compatibilidad con otros tipos de archivos y dispositivos de entrada, mejora el rendimiento en determinadas situaciones y incluye las correcciones de errores poco importantes. En la página de Expression Encoder en el sitio Web de Microsoft Expression se puede encontrar el programa de instalación QFE.

Formatos compatibles

Formatos de vídeo de entrada compatibles son:

  • Windows Media Video (.wmv)
  • Vídeo de DVD (.vob)
  • MPEG (.mpg, .mpeg)
  • Audio Video Interleave (.avi)
  • Microsoft Digital Video Recording (.dvr-ms)

Los siguientes formatos (más de un puñado de otros formatos) agrega la versión de pago:

  • MPEG-4 (. mp4, M4V)
  • QuickTime (.mov)
  • HD de AVC (.mts)
  • Vídeo de dispositivos móviles (. 3GP, .3g2)

La mayor parte, Expression Encoder es compatible con Reproductor de Windows Media puede reproducir ningún archivo de medios. Si desea que más archivos de soporte (y poder reproducirlas en el Reproductor de Windows Media), puede instalar un paquete de códec, por ejemplo, K-Lite Codec Pack (codecguide.com ) o Comunidad combinada Codec Pack (cccp-project.net de ). Ambas se basan en el proyecto de ffdshow de código abierto y va a agregar compatibilidad con archivos codificados VP6 Flash (.flv), vídeo H.264 en el contenedor de Matroska (.mkv) y los archivos de vídeo Ogg (.ogg).

La versión gratuita de Expression Encoder admite sólo el VC-1 de Microsoft como un códec de salida. Sin embargo, aún así puede codificar los vídeos de Silverlight (sólo la velocidad de bits único), Xbox 360, Zune y Zune HD. Además, el códec VC-1 no es slouch; su compresión es adecuado (si no es mejor en determinadas situaciones) como H.264. Actualización para el pago de la versión permite salida Silverlight Smooth Streaming vídeo (multi-velocidad de bits), así como H.264, lo que significa que puede codificar los vídeos que pueda reproducir en iPhone, PS3, Flash player (versión 10 admite H.264/.mp4) y innumerables otros dispositivos.

Codificación 101

Compatibilidad con ciertos dispositivos de salida requiere cambiar algunas de las opciones de perfil de vídeo, por lo que debe comprender los conceptos básicos de codificación de vídeo. Volver a codificar vídeo es realmente el proceso de descompresión de un vídeo y volver a comprimir mediante el códec de otro o cambiantes manualmente los atributos como tamaño, la relación de aspecto o la velocidad de fotogramas. Aunque existen métodos de compresión sin pérdida de datos, se utilizan rara vez porque los archivos de vídeo resultantes todavía bastante grandes. Por lo tanto, para reducir la cantidad de espacio necesario para almacenar el vídeo (y, por tanto, transferir), un algoritmo, conocido como un códec, se utiliza para comprimir y descomprimir el vídeo. La secuencia de vídeo comprimida, a continuación, se almacena de acuerdo con una especificación que se conoce como un contenedor (como, por ejemplo, WMV o MP4). Contenedores y los códecs a menudo no son una exclusiva de un contrato, por lo que aunque el códec más comunes que se encuentra en el contenedor MP4 H.264, se podrían utilizar otros códecs.

Velocidad de bits, expresado en kilobits por segundo, define la cantidad de datos debe utilizarse para almacenar el vídeo comprimido. Reducir la velocidad de bits indica que el codificador para comprimir el vídeo a una velocidad superior, degradar la calidad de vídeo. Hay diferentes formas para indicar que el codificador a cómo determinar la velocidad de bits del vídeo. La forma más sencilla es utilizar una velocidad constante (CBR), que obliga a que el codificador para utilizar la misma cantidad de datos para cada segundo de vídeo. Se puede utilizar una velocidad de bits variable (VBR) para indicar que el codificador cuál debería ser la velocidad de bits total del archivo, pero el codificador puede elevar o disminuir la velocidad de bits en función de la cantidad de datos necesarios para una determinada sección del vídeo. Velocidad de bits variable restringida es similar a VBR sin restricciones, excepto en que se proporciona no sólo a una velocidad de bits promedio para usar, sino también a una velocidad de bits máxima no puede superarse.

Velocidad de bits variable restringida es útil cuando la codificación de vídeo Silverlight Smooth Streaming. Ayuda a garantizar que la velocidad de bits no supera el ancho de banda del cliente, obligar al cliente para solicitar una secuencia de menor calidad. CBR y VBR indican la cantidad de compresión para utilizar al especificar un tamaño de archivo de vídeo en general.

Como alternativa, puede indicar a utilizar una VBR de calidad con el codificador. En lugar de especificar el tamaño total del vídeo, especifica un porcentaje de calidad (es decir, la cantidad de datos) de la fuente descomprimida vídeo conservar. Se tardan menos datos para conservar una buena calidad de un dibujo animado, por ejemplo, que para un tipo o el vídeo de relleno de acción. Por lo tanto, si dispone de un origen de alta calidad y su objetivo es convertir el origen a otro formato y mantener la calidad óptima, considere el uso de VBR de calidad con. Estas definiciones son sólo el punta del iceberg, pero son fundamentales para elegir la configuración de salida. Cuando se aplican a los ejemplos de código, encontrará las definiciones de codificación adicionales a lo largo de este artículo.

Con el SDK

Para seguir los ejemplos de código, deberá utilizar un buena calidad vídeo. Si no tiene ningún vídeo de alta resolución anotarlas, se pueden obtener algunos vídeos de alta definición interesante de microsoft.com/windows/windowsmedia/musicandvideo/hdvideo/contentshowcase.aspx de . Usaré el vídeo de adrenalina Rush como origen para estos ejemplos.

Después de instalar Expression Encoder 3, cree un nuevo proyecto de Visual Studio C# Console Application. Agregar referencias a Microsoft.Expression.Encoder.dll y Microsoft.Expression.Encoder.Utilities.dll, que se encuentra en \Microsoft Expression\Encoder 3\SDK de programa (x 86) \Archivos de programa. También tendrá que agregar una referencia a WindowsBase, que encontrará en la ficha .NET del cuadro de diálogo Agregar referencias. La mayoría de las clases utilizadas estarán en el espacio de nombres Microsoft.Expression.Encoder, por lo tanto, agregue el uso de una instrucción para la misma.

El primer elemento para crear una instancia será un objeto MediaItem. El constructor MediaItem toma una cadena como único parámetro al constructor. Pasar la ruta de acceso al archivo que está utilizando como origen para el proyecto de codificación:

MediaItem src = new MediaItem(@"C:\WMdownloads\AdrenalineRush.wmv");

Crear un objeto MediaItem toma sólo un segundo o dos. El SDK está haciendo una gran cantidad de trabajo en segundo plano, sin embargo, la recopilación de información sobre el origen de vídeo, como, por ejemplo, el alto, ancho, la velocidad de fotogramas (la frecuencia que se deben mostrar las imágenes individuales en la pantalla) y duración. También se recopila información acerca de la secuencia de audio en este momento.

A continuación cree una instancia de la clase de trabajo (que tiene sólo un constructor sin parámetros) y agregar su MediaItem a su lista de MediaItems. La clase de trabajo actúa como administrador para los formatos de salida deseado (conocida como perfiles):

Job job = new Job();
job.MediaItems.Add(src);

Ahora es necesario indicar el trabajo de los perfiles de audio y vídeo a usar durante la codificación, la forma más fácil es utilizar uno de los perfiles que se define en la interfaz de usuario. Para crear un vídeo para el disco duro de Zune, por ejemplo, puede utilizar la programación de VC1ZuneHD:

job.ApplyPreset(Presets.VC1ZuneHD);

Por último, especifique un directorio de resultados e iniciar el proceso de codificación:

job.OutputDirectory = @"C:\EncodedFiles";
job.Encode();

El archivo Program.cs debe ser similar a de figura 1.

Figura 1 de la creación de un vídeo de alta definición de Zune

using Microsoft.Expression.Encoder;

namespace TestApp
{
  class Program
  {
      static void Main(string[] args)
      {
          MediaItem src = new MediaItem
              (@"C:\WMdownloads\AdrenalineRush.wmv");
          Job job = new Job();
          job.MediaItems.Add(src);
          job.ApplyPreset(Presets.VC1ZuneHD);
          job.OutputDirectory = @"C:\EncodedFiles";
          job.Encode();
      }
  }
}

Hay una cosa más que hacer antes de ejecutar la aplicación: Si está utilizando una versión de 64 bits de Windows, debe modificar el proyecto para generar para x 86. En la barra de menús de Visual Studio, seleccione el proyecto y propiedades de (nombre del proyecto). En el cuadro de diálogo, seleccione la ficha de la generación y cambiar el destino de la plataforma de “ cualquier CPU ” “ x 86. ”

Ahora está listo para ejecutar la aplicación y crear un vídeo puede reproducir en el disco duro de Zune. El proceso de codificación tardará algunos minutos en completarse y consume mucho CPU. Ventajas de codificación de vídeo desde el que se va a una tarea calculada paralela, por lo que los equipos multinúcleo tienen una gran ventaja aquí.

Expression Encoder también incluye los valores predeterminados para la codificación para los servicios en línea como, por ejemplo, YouTube, Vimeo y Facebook. vídeo de 720p registrado de la cámara digital de Panasonic Lumix DMC-ZS3 consume aproximadamente 110 MB por minuto de vídeo grabado. Convierte el vídeo mediante el disco duro de YouTube predefinida (también el programa de 720p) reduce el vídeo sólo 16 MB. Esto facilita mucho más eficaz para cargar y almacenar de forma local. Lo convierte en un archivo. mp4 también, es compatible con muchos programas de edición más vídeo.

Configuración personalizada

Para manualmente producen el mismo resultado como el VC1ZuneHD preestablecido, deberá utilizar código similar de de figura 2 para establecer el profiles.For de audio y vídeo en el código en del 2 de la figura para compilar, es necesario agregar referencias a Microsoft.Expression.Encoder.Utilities y System.Drawing. Agregar también instrucciones using para Microsoft.Expression.Encoder.Profiles y System.Drawing. El OutputFormat, esencialmente, especifica que el contenedor para el archivo de resultados. Digo esencialmente porque la codificación para que Silverlight funciona sólo un poco diferente (tal como explicaré en breve).

La figura 2 de vídeo y la configuración del perfil de audio de alta definición de Zune

MediaItem src = new MediaItem(@"C:\WMdownloads\AdrenalineRush.wmv");

src.OutputFormat = new WindowsMediaOutputFormat();

src.OutputFormat.VideoProfile = new AdvancedVC1VideoProfile();
src.OutputFormat.VideoProfile.Bitrate = new 
    VariableConstrainedBitrate(1000, 1500);
src.OutputFormat.VideoProfile.Size = new Size(480, 272);
src.OutputFormat.VideoProfile.FrameRate = 30;
src.OutputFormat.VideoProfile.KeyFrameDistance = new TimeSpan(0, 0, 4);
src.OutputFormat.AudioProfile = new WmaAudioProfile();
src.OutputFormat.AudioProfile.Bitrate = new 
    VariableConstrainedBitrate(128, 192);
src.OutputFormat.AudioProfile.Codec = AudioCodec.WmaProfessional;
src.OutputFormat.AudioProfile.BitsPerSample = 24;


Job job = new Job();
job.MediaItems.Add(src);
job.OutputDirectory = @"C:\EncodedFiles";
job.Encode();

El VideoProfile especifica el códec de vídeo que utiliza, junto con la configuración detallada para utilizar al codificar. De forma similar, la AudioProfile especifica el códec de audio para que se utilice junto con sus valores. Al construir un VariableConstrainedBitrate, el primer parámetro especifica la velocidad de transmisión promedio y el segundo parámetro especifica la velocidad de bits máxima. La configuración de tamaño indica que el vídeo codificado debe caber en el cuadro de. El tamaño ajustado correctamente el vídeo Rush de adrenalina es realmente 480 x 272 para conservar la relación de aspecto, pero si especifica 480 x 480 el vídeo resultante todavía sería 272 x 480.

La figura 2 del KeyFrameDistance propiedad hace referencia a un concepto de codificación de vídeo que todavía no he tratado. La las obras de codificación de vídeo más consiste en almacenar únicamente los cambios de un marco a la siguiente, en lugar de toda la imagen para cada fotograma de vídeo. Los fotogramas clave son los marcos que contienen toda la imagen. Este código creará los fotogramas clave cada cuatro segundos. Los fotogramas clave se creará automáticamente cuando hay grandes cambios en el vídeo como, por ejemplo, un cambio de la escena, pero también se debe crear a intervalos predefinidos para admitir la búsqueda en la película durante la reproducción.

Transmisión por secuencias suave de Silverlight

Smooth Streaming de Silverlight, se cambia dinámicamente la velocidad de bits del archivo multimedia se reproduce en función de las condiciones actuales de la red. Consta de un proyecto de Smooth Streaming de vídeos individuales que se almacenan en archivos .ismv, así como los archivos de metadatos de .ism y .ismc que admitan la reproducción de Smooth Streaming.

Para crear un proyecto de Smooth Streaming de Silverlight, se deben realizar varios cambios. En primer lugar, cambie el KeyFrameDistance a dos segundos. El vídeo se reproducirá aún si se deja el KeyFrameDistance en cuatro segundos, pero es posible que observe interrupciones en la reproducción cuando el Reproductor cambia de velocidades de bits bajas. El Reproductor de Silverlight solicitará el vídeo en fragmentos de dos segundos, por lo que es más coherente si hay un fotograma clave en el principio de cada solicitud de la reproducción. También hay que agregar la línea siguiente:

src.OutputFormat.VideoProfile.SmoothStreaming = true;

Establecer SmoothStreaming true indica que el codificador de salida de los vídeos a los archivos de .ismv y crear los archivos .ism y ismc. Tener sólo una velocidad de bits no es un proyecto de transmisión por secuencias suave, por lo tanto, para crear velocidades de bits múltiples resultado elevadas, deberá agregar varias secuencias para la VideoProfile. Ello permite utilizar código similar de de figura 3.

La figura 3 de Adición suave de Silverlight Streaming

MediaItem src = new MediaItem(@"C:\WMdownloads\AdrenalineRush.wmv");
src.OutputFormat = new WindowsMediaOutputFormat();

src.OutputFormat.VideoProfile = new AdvancedVC1VideoProfile();
src.OutputFormat.VideoProfile.KeyFrameDistance = new TimeSpan(0, 0, 2);
src.OutputFormat.VideoProfile.SmoothStreaming = true;
src.OutputFormat.VideoProfile.Streams.Clear();
src.OutputFormat.VideoProfile.Streams.Add(new StreamInfo(new 
    VariableConstrainedBitrate(2000, 3000), new Size(1280, 720)));
src.OutputFormat.VideoProfile.Streams.Add(new StreamInfo(new 
    VariableConstrainedBitrate(1400, 1834), new Size(848, 476)));
src.OutputFormat.VideoProfile.Streams.Add(new StreamInfo(new 
    VariableConstrainedBitrate(660, 733), new Size(640, 360)));

src.OutputFormat.AudioProfile = new WmaAudioProfile();
src.OutputFormat.AudioProfile.Bitrate = new 
    VariableConstrainedBitrate(128, 192);
src.OutputFormat.AudioProfile.Codec = AudioCodec.WmaProfessional;
src.OutputFormat.AudioProfile.BitsPerSample = 24;

Job job = new Job();
job.MediaItems.Add(src);
job.OutputDirectory = @"C:\EncodedFiles";
job.Encode();

Aquí el código especifica tres diferentes velocidades de bits bajas y tamaños para 
encode. Para calidad óptima, es necesario reduce la velocidad de bits se reduce el tamaño del vídeo. Al especificar su propio velocidades de bits bajas, puede utilizar la configuración de IIS Smooth Streaming en la interfaz de usuario de Expression Encoder 3. Tenga en cuenta que no es posible obtener la calidad al codificar un vídeo con una resolución mayor que el archivo de código fuente. Y sólo tiene sentido codificar a una velocidad de bits mayor que el archivo de código fuente si utiliza un método de compresión más débil. Si el SDK se puede determinar la velocidad de bits del archivo de origen, estará presente en la propiedad de perfil SourceVideo del MediaItem:

int bitrate = ((ConstantBitrate)src.SourceVideoProfile.Bitrate).Bitrate;

Si el SDK no puede obtener la velocidad de bits del archivo de origen, se puede obtener una estimación bastante estrecha en función del tamaño de archivo. La fórmula es:

Velocidad de bits aproximado en kb/s = (tamaño del archivo en kilobytes * 8 / vídeo duración en segundos)-velocidad de bits de audio en kb/s

Puede utilizar la clase System.IO.FileInfo para obtener el tamaño de archivo de código fuente y el SDK para obtener la duración (propiedad MediaItem.FileDuration) y, posiblemente, la velocidad de bits de audio. Si no conoce la velocidad de bits de audio, utilice 128 ó 160 para estimar (mayoría velocidades de bits bajas audio están comprendido entre 64 y 192); es posible que también se puede obtener la velocidad de bits de audio en la ventana de propiedades del Reproductor de Windows Media (pulse ALT para mostrar el menú, a continuación, el archivo | propiedades).

Supervisión de progreso

Debido a un trabajo de codificación puede tardar horas en completarse, resulta útil poder ver el progreso de la codificación. El SDK proporciona una manera sencilla de supervisar el proceso de codificación a través de un evento que se puede agregar un controlador para:

job.EncodeProgress += new EventHandler<EncodeProgressEventArgs>(OnProgress);

Agregue un método similar al siguiente para controlar el evento:

static void OnProgress(object sender, EncodeProgressEventArgs e)
{
  Console.Clear();
  Console.WriteLine((100 * (e.CurrentPass - 1) + e.Progress) / e.TotalPasses + "%");
}

Codificación Multi-PASS es un concepto nuevo relevante para este ejemplo de código. Cuando se utiliza una velocidad de bits variable de codificación, el proceso se realiza en dos pasos, conocidos como pasa de . Durante el primer paso, el vídeo de origen se analiza para determinar qué artículos son más complejos y se podría beneficiar de una mayor velocidad de bits. Durante el segundo paso, el vídeo se codifica utilizando la información obtenida durante el primer paso. Por lo tanto, si utiliza una velocidad de bits constante, es necesario utilizar las propiedades CurrentPass o TotalPasses de la clase EncodeProgressEventArgs.

La combinación de vídeos

Si desea codificar sólo una parte de un vídeo o combinar varios vídeos en uno solo, el SDK proporciona soporte técnico. Para modificar el inicio y deje tiempo para un elemento de medios de origen, puede modificar la propiedad de clips. Para codificar sólo los primeros seis segundos de un vídeo, utilizar código similar al:

src.Sources[0].Clips[0].StartTime = new TimeSpan(0);
src.Sources[0].Clips[0].EndTime = new TimeSpan(0, 0, 6);

Para agregar otros vídeos como archivos de código fuente, se pueden anexar vídeos adicionales a la propiedad de orígenes de su MediaItem. Esto codifica los archivos de origen en pedido para un único archivo de salida:

MediaItem src = new MediaItem(@"C:\WMdownloads\AdrenalineRush.wmv");
src.Sources.Add(new Source(@"C:\WMdownloads\Video2.wmv"));

Codificación en directo

Expression Encoder también admite la codificación de orígenes en directo, como una cámara Web. El concepto (y el código) están similares a la codificación de archivos de vídeo, pero utiliza un conjunto de clases diferente. Éstos se encuentran en el espacio de nombres Microsoft.Expression.Encoder.Live.

La primera clase que se utiliza es LiveJob. LiveJob funciona como identificadores de Encoder.Job—it el trabajo de codificación del vídeo. Sin embargo, en un escenario directo la OutputFormat es una propiedad de LiveJob en lugar de un objeto MediaItem (que no es necesario). Cuando se crea una instancia de un objeto LiveJob, se buscan dispositivos de entrada de vídeo conectadas al equipo y rellenar las propiedades VideoDevices y AudioDevices. Puede utilizar como un origen de entrada para el codificador. En la figura 4 se muestra un ejemplo.

La figura 4 de codificación de vídeo Live

using (LiveJob job = new LiveJob())
{
  LiveDevice videoDevice = job.VideoDevices[0];
  LiveDevice audioDevice = job.AudioDevices[0];
  LiveDeviceSource liveSource = job.AddDeviceSource(videoDevice, 
      audioDevice);
  job.ActivateSource(liveSource);
  WindowsMediaBroadcastOutputFormat outputFormat = new 
     WindowsMediaBroadcastOutputFormat();
  outputFormat.BroadcastPort = 8080;
  job.OutputFormat = outputFormat;
  Console.WriteLine("Press enter to stop encoding...");
  job.StartEncoding();
  Console.ReadLine();
  Console.WriteLine("Stopping");
  job.StopEncoding();
}

Va a iniciar una sesión de codificación activa mediante una cámara Web (si tiene uno conectado) y de difusión, en el equipo local en el puerto 8080. Para ver la codificación en directo, abra el Reproductor de Windows Media y seleccione Archivo | Abrir dirección URL y escriba mms://localhost:8080. Después de algunos, almacenamiento en búfer debe ver el vídeo desde una cámara Web, aunque verá un retraso de 20 a 30 segundos debido a que el tiempo necesario para codificar y transportar la secuencia. Podría utilizar este vídeo como origen para los servicios de multimedia de IIS o de servicios de Windows Media para difundir en el mundo.

Herramientas adicionales

Si no está seguro de si la configuración de codificación que ha elegido le proporcionará la calidad de salida que necesita, la interfaz de usuario de Expression Encoder 3 proporciona una característica útil que llama A comparación A/B. Esto le permite codificar de cinco segundos de la actual posición de reproducción de vídeo que rodea. El vídeo codificado, aparecerá la pantalla dividida con el origen de vídeo (ver de figura 5), para poder comparar fácilmente la calidad del vídeo codificado con el original.

La figura 5 A comparación A/B en Expression Encoder 3

image: A/B Compare in Expression Encoder

Puede guardar la configuración actual como un valor predeterminado definido por el usuario haga clic en edición | Guardar configuración actual como valor predefinido. El valor predeterminado se almacenará como un archivo XML, que se puede utilizar con el SDK:

job.ApplyPreset(@"C:\WMdownloads\NewPreset.xml");

Si ya está pensando en lo fácil que sería automatizar el proceso de conversión de vídeo con una aplicación de consola, observe en el módulo de PowerShell convertir-Media de Expression Encoder, disponible en convertmedia.codeplex.com de . En este módulo de PowerShell se ajusta el SDK del codificador de Expression, que proporciona una interfaz de codificación de la línea de comandos sin escribir ningún código. Al igual que con todos los proyectos de CodePlex, es código abierto.

Espero que ahora entender la terminología básicas relacionadas con la codificación de vídeo y puede tomar decisiones informadas acerca de qué códec y la velocidad de bits se utiliza. También sabrá cómo utilizar el SDK de Expression Encoder 3 para codificar los vídeos de destinos específicos, como Xbox 360, iPhone y Silverlight, así como el vídeo de transmisión por secuencias en directo. Por lo tanto, no espere a que se capturó en el desván como Clark w Griswold para obtener el valor de sus vídeos domésticos y las memorias olvidadas. Para convertirlos en un formato que se que sean accesibles para el mundo.

Adam Miller es ingeniero de software para Nebraska Global en Lincoln, Neb. Puede seguir de blog de Miller en blog.milrr.com de.

Gracias al siguiente experto técnico para este artículo: Ben Rush