인코딩 프로세스 자동화
|
Andrea Pruneda
Microsoft New Media Platforms Division
Microsoft Windows Media 9 시리즈에는 오디오 및 비디오를 Windows Media Format의 파일 및 스트림으로 변환해주는 강력한 도구인 Windows Media Encoder가 들어 있습니다. 최종 사용자들은 Windows Media Encoder의 사용자 인터페이스를 활용하여 인코딩 세션을 구성할 수 있으며, 이 세션에는 오디오 및 비디오 입력 소스, 출력 및 사용할 인코딩 프로필 등을 지정하는 작업이 포함되어 있습니다. 또한 비디오를 잘라내어 크기를 재조정하고 메타데이터 속성을 추가하며 사전 처리 설정을 지정할 수 있습니다.
|
| Microsoft Windows Media Encoder 9 시리즈 및 Microsoft Windows Media Encoder 9 Series SDK를 사용하면 오디오 및 비디오를 Windows Media 기반 콘텐트로 변환할 수 있습니다. 이 문서에서는 Windows Media Encoder SDK와 그 샘플 응용 프로그램을 활용하여 이 프로세스를 자동화할 수 있는 다양한 방법을 설명합니다. |
|
Windows Media Encoder는 사용자 지정 인코딩 응용 프로그램을 만들려는 개발자들이 이용할 수 있는 Windows Media Encoder SDK를 기반으로 하고 있습니다. SDK는 C++, Microsoft Visual Basic, Microsoft Visual Basic Scripting Edition (VBScript), Microsoft JScript를 비롯해 Microsoft .NET Framework가 지원하는 모든 프로그래밍 언어를 지원합니다. 또한 개발자들은 이 인코딩 프로세스를 다양한 방식으로 자동화할 수 있는데, 바로 이 문제가 이 문서글의 주제이기도 합니다.
|
이 문서는 다음과 같은 항목을 통해 인코딩 프로세스 자동화 방법을 설명합니다.
페이지 맨 위로
Windows Media Batch Encoder는 Microsoft Visual Basic .NET으로 작성된 샘플 응용 프로그램입니다. 이 프로그램은 프로세스 자동화를 처음 배우는 데 사용될 목적으로 제작되었으므로, 자신의 요건에 맞게 소스 코드를 수정할 수 있습니다.
샘플에서는 일련의 파일들을 각 파일마다 인코딩 세션을 구성하지 않고 인코딩하는 방법을 보여줍니다. 리스트에 추가한 각 파일은 필요에 따라 각각 다른 설정을 갖고 있습니다. 예를 들어 각 파일마다 다른 프로필을 사용할 수 있습니다. 이 샘플에 포함된 또 다른 중요한 기능들을 활용하면 2패스 인코딩을 수행하고, 비디오 사전 처리를 지정하며, 기존의 DRM 프로필을 활용하여 디지털 저작권 관리(DRM) 보호 기능을 추가할 수 있습니다.
인코딩을 시작하면 샘플 응용 프로그램에는 완료 퍼센트 및 인코딩 상태 등과 같은 상태 정보가 표시됩니다. 인코딩 중에 비디오 출력을 미리 볼 수도 있습니다. 배치 인코딩 목록을 설정한 다음에는 인코딩 세션을 저장하여 이를 다시 사용할 수 있는데, 이 기능은 같은 파일을 정기적으로 인코딩하는 경우에 유용합니다.

그림 1. Windows Media Batch Encoder 샘플
이 샘플은 Windows Media Encoder SDK를 설치한 \WMSDK\WMEncSDK9\Samples\vb\batcher 폴더에 있습니다. 자세한 사항은 Windows Media Encoder SDK 도움말의 배치 인코딩 항목을 참조하십시오.
페이지 맨 위로
이 Command Line Encoder 샘플은 VBScript로 작성되었으며 명령줄에서 인코딩 세션을 실행할 수 있도록 해줍니다. 많은 명령줄 매개 변수들이 제공되므로 대부분의 인코딩 기능을 활용할 수 있습니다. CBR 또는 VBR 인코딩을 지정할 수 있으며 사용자 지정 프로필을 만들 수 있습니다. 인코딩 프로세스를 자동화하려는 경우에도 필요한 명령들을 원하는 수만큼 일괄 처리 파일(.bat)에 작성하면 됩니다. 예를 들어 일괄 처리 파일에 다음과 같은 텍스트를 저장할 수 있습니다.
cscript.exe wmcmd.vbs -input C:\My-clips\Mymovie.avi -output C:\My-clips-coded\Mymovie-640x480-vbr095.wmv -v_mode 2 -v_quality 95 -v_keydist 30 -v_preproc 5
cscript.exe wmcmd.vbs -input C:\My-clips\Mymovie.avi -output C:\My-clips-coded\Mymovie-320x240-vbr097.wmv -v_mode 2 -v_quality 97 -v_keydist 30 -v_preproc 5 -v_width 320 -v_height 240
cscript.exe wmcmd.vbs -input C:\My-clips\Mymovie.avi -output C:\My-clips-coded\Mymovie-640x480-cbr2.wmv -v_mode 1 -v_bitrate 1000000 -v_keydist 30 -v_buffer 10000 -v_quality 100 -v_preproc 5
cscript.exe wmcmd.vbs -input C:\My-clips\Mymovie.avi -output C:\My-clips-coded\Mymovie-320x240-cbr2.wmv -v_mode 1 -v_bitrate 500000 -v_keydist 30 -v_buffer 10000 -v_quality 100 -v_preproc 5 -v_width 320 -v_height 240
이 유틸리티를 이용하면 여러분의 컴퓨터에서 사용 가능한 소스 장치 뿐 아니라 사용 가능한 오디오 및 비디오 코덱도 열거할 수 있습니다.
이 샘플(wmcmd.vbs)은 Windows Media Encoder SDK가 설치된 \WMSDK\WMEncSDK9\Samples\vb\wmcmd 폴더에 있으며 필요할 때마다 수정할 수 있습니다. 명령 창에서 CScript.exe로 샘플을 실행하십시오. 모든 명령줄 매개 변수와 그 기능을 담은 전체 목록을 보려면 다음 명령 줄과 함께 스크립트를 실행합니다.
CScript.exe wmcmd.vbs /?
페이지 맨 위로
원격 관리 샘플은 C#으로 작성되었으며 LAN 또는 인터넷을 통해 원거리 컴퓨터에서 실행되는 인코딩 응용 프로그램을 모니터링하는 방법을 보여 줍니다.
예를 들어 실행되는 인코딩 응용 프로그램의 인스턴스가 여럿이라면, 샘플 응용 프로그램은 그 인코딩 응용 프로그램들을 열거한 다음 그들의 상태를 한 페이지에서 모니터링할 수 있게 해줍니다. 누락된 샘플, 현재 비트 전송률, CPU 사용률 등을 모니터링할 수 있습니다.
이 샘플에서는 클라이언트가 원거리에서 실행되는 인코딩 응용 프로그램의 상태를 모니터링할 수 있도록 해주는 웹 서비스를 사용합니다. 일반적으로 원격 관리를 구성하는 데에는 다음과 같은 세 종류의 컴퓨터를 사용합니다.
- 설치된 웹 서비스와 함께 인코딩 응용 프로그램을 실행하는 컴퓨터
- 인코더 웹 서비스를 호출하는 ASPX 페이지가 들어 있는 웹 서버로 기능하는 컴퓨터.
- 클라이언트 컴퓨터로 기능해서 웹 서버에 연결하여 인코딩 응용 프로그램을 모니터링하는 컴퓨터(예를 들어 Microsoft Internet Explorer를 사용함)
이러한 웹 서비스를 사용하면, 클라이언트 컴퓨터에서 실행할 수 있는 코드를 .NET Framework가 지원하는 모든 프로그래밍 언어로 작성하여 웹 서비스와 커뮤니케이션할 수 있으므로 더욱 폭넓은 유연성을 확보할 수 있습니다. 웹 서비스 또한 LAN 및 인터넷을 통해 원활히 작동합니다. 이 샘플을 출발 지점으로 삼아 모니터링 페이지를 수동으로 새로 고침하는 것이 아니라 자동으로 업데이트할 수 있는 코드를 작성할 수 있습니다. 아니면 DHTML WebService 동작을 활용하여 인코더 웹 서비스를 직접 호출할 수 있습니다. 또한 원격 인코딩 응용 프로그램을 구성 및 제어할 수 있는 메서드를 추가하여 이 기능을 웹 서비스의 일부로 제공할 수 있습니다.
아래 그림은 인코딩 응용 프로그램을 모니터링하는 데 사용되는 샘플 ASPX 페이지입니다.

그림 2. 인코딩 응용 프로그램 모니터링을 위한 원격 클라이언트(Remote Client) 페이지
이 샘플은 Windows Media Encoder SDK를 설치한 \WMSDK\WMEncSDK9\Samples\c#\remadmin 폴더에 있습니다. 원격 관리에 대한 자세한 내용은 Windows Media Encoder SDK 도움말을 참조하십시오. DHTML WebService의 동작에 대한 자세한 사항은 MSDN Online의 WebService 동작
페이지를 참조하십시오.
페이지 맨 위로
SDK 샘플 응용 프로그램 외에도 다음과 같은 기능들을 추가하여 인코딩 프로세스를 자동화하는 데 활용할 수 있습니다.
- 통계. 인코딩 프로세스의 상태를 모니터링하는 데 도움이 됩니다. 이 기능은 인코딩 응용 프로그램이 원격 컴퓨터에서 실행되는 경우에 유용합니다.
- 스트림 편집. 스트림을 분리하고 다시 결합할 수 있습니다. 예를 들어 여러 비트 전송률로 인코딩된 파일을 만들었다가 나중에 스트림 편집 기능을 이용하여 각 비트 전송률에 따라 별도의 파일들을 만들 수 있습니다.
- 기본 편집. 시작 및 종료 시간을 트리밍하고 메타데이터, 표식 및 스크립트를 추가하여 인코딩된 파일로 작업할 수 있습니다. 예를 들어 인코딩 프로세스의 끝 부분에 기본 편집 기능을 추가하여 메타데이터 속성을 추가할 수 있습니다.
페이지 맨 위로
Windows Media Encoder SDK에 대한 자세한 사항은 Windows Media Encoder SDK 도움말을 참조하십시오. 이 SDK는 MSDN Online에서 다운로드할 수 있습니다.
페이지 맨 위로
사용권에 대한 고지 사항
본 문서에 수록된 정보는 발행일 현재 논의된 사안에 대한 Microsoft Corporation의 현재 입장을 나타냅니다. Microsoft는 변화하는 시장 상황에 부응해야 하므로 이 문서를 Microsoft측의 의무로 해석해서는 안 되며 발행일 이후에 제공되는 모든 정보의 정확성을 보장할 책임은 없습니다.
이 문서는 오직 정보를 제공하기 위한 것입니다. Microsoft는 이 문서에서 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
모든 해당 저작권법을 준수하는 것은 사용자의 책임입니다. 저작권에서의 권리와는 별도로, 이 문서의 어떠한 부분도 Microsoft의 명시적인 서면 허가 없이는 복사하거나 검색 시스템에 저장 및 도입할 수 없으며 어떤 형식이나 수단(전자, 기계, 복사기에 의한 복사, 녹음 또는 기타)을 통해서도 또는 어떤 목적으로도 전송될 수 없습니다.
Microsoft는 이 문서에 관련된 특허권, 상표권, 저작권, 또는 기타 지적 재산권 등을 보유할 수도 있습니다. 서면 사용권 계약에 따라 Microsoft로부터 귀하에게 명시적으로 제공된 권리 이외에, 이 문서의 제공은 귀하에게 이러한 특허권, 상표권, 저작권, 또는 기타 지적 재산권 등에 대한 어떠한 사용권도 허여하지 않습니다.
© 2002 Microsoft Corporation. All rights reserved.
Microsoft, MS-DOS, Windows, Windows Media, Windows NT, ActiveSync, ActiveX, Direct3D, DirectDraw, DirectInput, DirectMusic, DirectPlay, DirectShow, DirectSound, DirectX, FrontPage, JScript, Microsoft Press, MSN, NetShow, Outlook, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual InterDev, Visual J++, Visual Studio, WebTV, Win32, Win32 등은 미국, 대한민국 및/또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
여기에 인용된 실제 회사와 제품 이름은 해당 소유자의 상표일 수 있습니다.
페이지 맨 위로
|