MBC의 비디오서버 ‘eXerver’

MBC의 비디오서버 ‘eXerver’

1122

MBC의 비디오서버 ‘eXerver’

 

MBC기술연구소 김성우 차장

 

2008년 하반기에 MBC는 방송 자료를 HD포맷으로 보관, 관리하기 위해 HD 아카이브 시스템 구축을 추진키로 하였다. 이를 위해 필수적인 인제스트(Ingest) 비디오 서버와 플레이아웃(Playout) 비디오 서버를 어떤 장비로 선정할지 고민하였는데, 외산장비 도입과 자체개발 추진을 비교 검토한 끝에 기술연구소에서 개발하는 것으로 결정하였다. 기술연구소에서는 이미 2007년 비디오 서버 개발을 추진하여 관련 기술을 일부 확보하고 있었고, 이미 ‘MBC DDR’이라는 이름으로 단순한 녹화와 재생이 가능한 서버를 개발, 부조와 중계차 등에서 사용중에 있었다.

 

1.   기획

기술연구소에서는 자체 기술로 개발키로 결정한 후 하드웨어와 소프트웨어에 대한 검토를 시작하였다. 하드웨어는 기존에 사용해 오던 시스템으로 구성키로 하고, HP의 워크스테이션에 내부 저장장치로 SAS(Serial Attached SCSI) 하드디스크를 RAID로 구성하였다. 또한 주요 구성품인 비디오 보드는 계속 개발에 사용해 오던 Matrox사의 Xmio2보드로 결정하였는데, 이 보드는 다양한 HD/SD비디오 포맷을 지원하고 있고, SDK는 복잡하지만 한번 개발하면 활용도가 뛰어나기 때문에 여러모로 장점이 많은 보드라고 판단해서였다. 다만 비디오 코덱 처리를 소프트웨어로 하기 때문에 최대 성능을 위해 워크스테이션을 당시 최대 사양인 Dual Quad Core CPU로 장착해야 했다.

소프트웨어는 이전 서버 개발에 사용한 설계를 과감하게 포기하고 전혀 새로운 개념으로 접근하였다. 먼저 인제스트와 플레이아웃을 기능적으로 분리하여 2개의 서버프로그램(‘eXerver Recorder’‘eXerver Player’)으로 만들었는데, 이는 각 프로그램의 기능을 단순화시키고 안정성이 확보될 수 있도록 하기 위해서였다. 또한 각 서버는 Stand-Alone 모드와 On-Line모드로 동작할 수 있도록 하였고, Xmio2 보드의 장점을 살려 한 장비가 여러 비디오 포맷을 지원하도록 하였다.

 

2.   기능

 먼저 eXerver가 지원하는 비디오 포맷은 다음과 같다.

l  HD : XDCAM HD 50M(MXF-Op1a), DVCPRO HD(MOV, MXF-Op1a, MXF-Atom),

Uncompressed HD

l  SD : D10/IMX (MXF-Op1a), DVCPRO 50, Uncompressed SD


        이 포맷들은 동작중 설정 변경만으로 다른 포맷으로 지원 가능하며,
eXerver Player는 같은 해상도면 포맷에 관계없이 재생할 수 있다.


   eXerver Recorder
는 인제스트하면서 동시에 저해상도 파일(Proxy File)을 동시에 생성하여 추후자료 검색에 사용될 수 있게 하였다. 저해상도 파일은 WMV, MOV, DV25 등의 포맷을 지원하며 해상도 조정이 가능하다. 또한 인제스트시에 Open Duration 녹화도 가능하며, 오디오는 Embedded AES/EBU 인코딩을 지원한다.

eXerver Player In/Out Points를 지정하여 Duration 재생이 가능하고, 서버의 기본적인 기능인Shuttle, Fast-Forward, Rewind, Loop 등을 지원하고, 현재 인제스트하고 있는 동영상을 곧바로 재생(Time Delayed Instant Replay)하여 보여줄 수도 있다. 또한 설정을 통해 Clean Video Time Code Burned Video를 다른 채널을 통해 동시에 출력할 수도 있다. 내부적으로는 Switch Play로 동작하기 때문에 Play List를 이용하여 여러 개의 동영상 파일을 연속적으로 Seamless하게 재생 하는 것도 가능하다.

1대의 시스템에서 eXerver Recorder Player를 동시에 실행할 수 있는데, 비디오 포맷의 종류에 따라 HD의 경우 1-인제스트/2-플레이아웃, 2-인제스트/2-플레이아웃을 동시에 사용하는 것도 가능하다.

eXerver Recorder Player는 직관적인 사용자 인터페이스 화면(그림1.)으로 되어 있어 누구나 손쉽게 사용할 수 있고, 입력 비디오나 출력 비디오를 UI상에서 볼 수 있으며 서버의 상태도 UI상에서 모니터링이 가능토록 되어 있다. 모니터링 기능도 제공하는데 인제스트나 플레이 아웃시 비디오의 프레임 드롭이 발생하거나, 입력 비디오 불안 등 내외부 환경으로 인한 오동작 상태를 즉시에 보여준다.

또 하나의 큰 장점은 단순하면서도 직관적인 프로토콜을 제공하여 외부 제어 기능이 다양해지도록 해 eXerver의 활용도가 높도록 하였다. 각자 요구에 맞는 응용프로그램을 개발하여 eXerver를 제어하면 다양한 용도의 서버시스템으로 활용할 수 있다. 또한 네트워크로 서버의 상태(Status)를 실시간으로 제공하여 제어프로그램을 통한 시스템 구성에서도 안정적으로 동작할 수 있게 하였다.

 

3.   활용

eXerver의 개발자는 4명으로 구성하여 추진하였으며, 5개월(2008.10~2009.2)만에 개발 완료하였고 이후 eXerver2달간의 안정성 시험을 통해 2009 51일부터 MBC 본사 HD아카이브 시스템에 사용되어 지고 있다. 현재까지 연중무휴, 24시간으로 운영되고 있는데 무사고로 동작하고 있다.

현재 본사에서는 실시간 인제스트용으로 서버(eXerver Recorder)4대가 동시에 가동되고 있는데, 2대는 Main/Backup으로 동작하며 본사 HD 아카이브용 비디오 포맷인 XDCAM HD 50M로 녹화하고 있고, 1대는 DVCPRO HD, 나머지 1대는 SD IMX로 동시에 녹화하고 있다.(그림2.) 또한 VCR과 인제스트 서버를 연결하여 과거 테이프로 보관된 자료들을 아카이브에 수록하는 용도로도 3대가 사용되고 있다. 판단했다. 이 두 경우 모두 본사의 APC(Automatic Program Control)의 관리단말에 의해 제어를 받아 동작하도록 되어 있고 SAN(Storage Area Network)을 통해 직접 저장장치에 인제스트하고 있다.

eXerver Player도 인제스트된 영상들을 직접 SAN을 통해 재생하여 iMBC, IPTV 등 외부 콘텐츠제공용으로 3대가 가동되고 있다.

 

 

4.   발전

자막기에 응용프로그램으로 스포츠코더를 개발하듯이 eXerver를 제어하는 어플리케이션을 개발하면 다양한 용도의 서버로 활용할 수 있다. 이미 송출서버 스타일의 제어프로그램을 시험적으로 개발하여 eXerver를 송출서버로도 활용할 수 있도록 하였다.(여기에서는 다음 동영상 파일의 프리뷰를 별도의 비디오 출력로 확인하고 미리 재생할 수 있도록 하였다.) eXerver의 제어용 프로토콜이 다양하고 단순하기 때문에 누구든지 쉽게 자신이 원하는 용도로 eXerver를 사용할 수 있을 것이다.

이제 기술연구소에서는 eXerver 개발을 바탕으로 ‘VCR대체용 서버시스템을 개발하고 있다. 이는 거의 새로운 시스템을 개발하는 것이지만, eXerver 개념처럼 단순하게 동작하면서도 안정적이고 다양하게 활용될 수 있는 방송장비가 되도록 개발할 예정이다.