동영상 보정을 추가하는 방법(HTML)

[ 이 문서는 Windows 런타임 앱을 작성하는 Windows 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]

VideoStabilization 효과는 핸드헬드 카메라 등에서 촬영한 동영상의 흔들림을 줄이는 데 도움이 됩니다. 라이브 캡처 중에 또는 코드 변환 중 후 처리 단계로서 이 효과를 추가할 수 있습니다.

사전 요구 사항

이 항목에서는 사용자가 JavaScript용 Windows 라이브러리 템플릿을 사용하는 JavaScript를 사용하여 기본 Windows 스토어 앱을 만들 수 있다고 가정합니다. 첫 번째 앱을 만드는 자세한 내용은 JavaScript를 사용하여 첫 번째 Windows 스토어 앱 만들기를 참조하세요.

지침

단계 1: 라이브 캡처 중 동영상 보정 효과 추가

라이브 캡처 중 동영상 보정 효과를 추가하려면 Windows.Media.Capture.AddEffectAsync 메서드를 사용합니다. 이 메서드에는 다음과 같은 매개 변수가 사용됩니다.

  • MediaStreamType - 스트림이 비디오 녹화, 비디오 미리 보기, 오디오, 사진 중 무엇에 대한 것인지를 지정하는 MediaStreamType 열거의 값 중 하나.
  • effectActivationID - 효과를 구현하는 활성화 가능한 런타임 클래스의 클래스 식별자. 런타임 클래스는 IMediaExtension 인터페이스를 구현해야 합니다. Windows.Media 네임스페이스는 VideoEffects 클래스를 제공합니다.
  • effectSettings - 효과에 대한 추가 구성 매개 변수를 포함하는 IPropertySet. 효과에 대해 추가 구성이 필요하지 않으면 이 매개 변수는 null이 됩니다.

여러 효과를 추가하려면 이 메서드를 여러 번 호출할 수 있습니다.

다음 예에서는 장치 원본에서 나오는 원본 스트림에 연결된 효과 체인에 VideoStabilization 효과를 추가합니다. 스트림에서 모든 효과를 지우려면 ClearEffectsAsync 메서드를 호출합니다.

    //
    // 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);

단계 2: 코드 변환 중 동영상 보정 효과 추가

코드 변환 중 동영상 보정 효과를 추가하려면 MediaTranscoder.AddVideoEffect 메서드를 사용하고 효과를 구현하는 활성화 가능한 런타임 클래스의 클래스 식별자를 제공합니다. 여러 효과를 추가하려면 AddVideoEffect를 여러 번 호출할 수 있습니다.

이 예에서는 MediaTranscoder 개체에 VideoStabilization 효과를 추가합니다. 여러 효과를 추가하려면 이 메서드를 여러 번 호출할 수 있습니다. 코드 변환기에서 모든 효과를 지우려면 MediaTranscoder.ClearEffects 메서드를 호출합니다.

//
// 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();

관련 항목

미디어 캡처 샘플

미디어 코드 변환 샘플

Windows.Media.Capture

Windows.Media.Transcoding