Aplicaciones de Windows
Contraer la tabla de contenido
Expandir la tabla de contenido

Cómo agregar estabilización de vídeo (aplicaciones de la Tienda Windows con JavaScript y HTML)

El efecto VideoStabilization puede ayudar a reducir la inestabilidad en el vídeo, por ejemplo, de una cámara de mano. Puedes insertar este efecto durante una captura en directo o agregarlo como un paso de posprocesamiento durante la transcodificación.

Requisitos previos

En este tema, se supone que puedes crear una aplicación de la Tienda Windows desarrollada para Windows con JavaScript que use la plantilla de la Biblioteca de Windows para JavaScript. Si necesitas ayuda para crear tu primera aplicación, consulta el tema sobre cómo crear tu primera aplicación de la Tienda Windows con JavaScript.

Instrucciones

Paso 1: Agregar el efecto de estabilización de vídeo durante la captura en directo

Para agregar el efecto de estabilización de vídeo durante la captura en directo, usa el método Windows.Media.Capture.AddEffectAsync. Este método toma los siguientes parámetros:

  • MediaStreamType - Uno de los valores de la enumeración MediaStreamType que especifica si la secuencia es para grabación de vídeo, vista previa de vídeo, audio o foto.
  • effectActivationID - El identificador de la clase en tiempo de ejecución activable que implementa el efecto. La clase en tiempo de ejecución debe implementar la interfaz IMediaExtension. El espacio de nombres Windows.Media proporciona una clase VideoEffects.
  • effectSettings - Un IPropertySet que contiene parámetros de configuración adicionales para el efecto. Si no se necesita realizar ninguna configuración adicional para el efecto, este parámetro debe ser nulo.

Puedes llamar varias veces a este método para agregar varios efectos.

En este ejemplo se agrega un efecto VideoStabilization a la cadena de efectos adjuntos a la secuencia de origen proveniente del origen de dispositivo. También se llama al método ClearEffectsAsync para borrar todos los efectos de la secuencia.


    //
    // Create a Media Capture object and add VideoStabilization.
    //

    oMediaCapture = new Windows.Media.Capture.MediaCapture();
    oMediaCapture.initializeAsync().then(function (result) {
        createProfile();
    }, errorHandler);
    // captureMgr is a MediaCapture object defined elsewhere
    capturMgr.addEffectAsync(
        Windows.Media.Capture.MediaStreamType.videoRecord,
        "Windows.Media.VideoEffects.VideoStabilization",
        null);


    //
    // To clear all the effects from this stream type, use ClearEffectsAsync.
    //
    var clearEffectsOperation = oMediaCapture.clearEffectsAsync(Windows.Media.Capture.MediaStreamType.videoRecord);


Paso 2: Agregar el efecto de estabilización de vídeo durante la transcodificación

Para agregar el efecto de estabilización durante la transcodificación, usa el método MediaTranscoder.AddVideoEffect y proporciona el identificador de la clase en tiempo de ejecución activable que implementa el efecto. Puedes llamar varias veces a AddVideoEffect para agregar varios efectos.

En este ejemplo se agrega el efecto VideoStabilization al objeto MediaTranscoder. Puedes llamar varias veces a este método para agregar diversos efectos. Llama al método MediaTranscoder.ClearEffects para borrar todos los efectos del transcodificador.


//
// Create a Transcoder object and add VideoStabilization.
//

var oTranscoder = new Windows.Media.Transcoding.MediaTranscoder();

oTranscoder.addVideoEffect("Windows.Media.VideoEffects.VideoStabilization");


//
// To clear all the effects from this stream type, use ClearEffects.
//
oTranscoder.clearEffects();


Temas relacionados

Muestra de captura de multimedia
Muestra de transcodificación de multimedia
Windows.Media.Capture
Windows.Media.Transcoding

 

 

Mostrar:
© 2018 Microsoft