LG의 Xcanvas의 특징 중 대표적인 것이 타임머신 기능이다. 흔히 PVR(Personal Video Recording)이라 불리는 기능으로, 방송을 하드디스크에 편리하게 녹화해서 볼 수 있게 해준다. LG가 이 기능에 타임머신이란 브랜드를 붙인 이유는 단순히 녹화하고 재생하는데서 끝나지 않고 실시간으로 지나간 방송을 되돌려서 볼 수 있도록 해주기 때문이다.
Xcanvas의 타임머신 기능이 나온지도 벌써 몇 년이 지나서 지금은 3세대에 와 있다. 3세대에서는 녹화된 컨텐트를 편집할 수 있는 기능은 빠진 대신에 외부USB HDD를 붙여서 내장HDD의 용량 한계를 극복해서 백업을 받을 수도 있고, 외장 USB HDD로 부터 직접 재생도 가능하도록 하는 기능이 추가되었다. 편집 기능이 빠진 것은 매우 아쉬운 점이지만 외장 HDD사용을 가능하게 한 것은 매우 환영할만한 발전으로, HD방송의 경우 10시간 남짓한 분량만 내장HDD에 기록 가능하기 때문에 기존에는 보존하고 싶은 녹화물 때문에 점점 내장 HDD가 차버리고 언젠가는 1~2시간 분량의 공간으로 녹화하고 지우는 것을 반복해야 하는 사태에 직면하던 아쉬움을 말끔히 해소해 준다고 할 수 있다. 실제로 PC에서 HDD용량을 늘려도 늘려도 동영상을 채우다 보면 늘 용량 부족에 시달리게 된다는 점을 생각하면 합리적인 선택이라고 생각된다.
게다가 (잘 알려져 있는 기능은 아니지만) 외장HDD에 복사된 컨텐츠는 PC로 가져가서 볼 수도 있다. 그냥 가능한 것은 아니고, LG에서 제공하는 전용 재생프로그램(Windows용 Xcanvas player)을 사용하면 된다. PC에서 곰플레이어나 KMPlayer같은 일반적인 동영상 플레이어를 사용할 수 없는 이유는 TV에서 녹화용으로 사용하는 HDD는 file system을 Linux의 EXT3를 사용하기 때문에 그냥은 PC에서는 인식조차 되지 않기 때문이다. 참고로 Xcanvas에서 처음 USB HDD를 연결하면 자체 file system으로 완전히 새로 formatting해버리는 과정이 실행되어 Xcanvas전용 HDD로 만들어 버린다. 따라서 Xcanvas용 HDD는 PC에서는 인식되지도 않고 그냥은 사용할 수도 없는 것이다.
그러나 앞서 언급된대로 file system을 뭘 사용하는지가 알려져 있다면 얼마든지 PC에서 이를 추출하는 것도 가능하다. 이런 가능성을 내가 처음 알게 된 것은 "[[사용기]] LG 3세대 타임머신 녹화영상 PC 에서 시청 및 편집방법" 이란 글을 발견하면서였다. 여기서 이 글의 일부를 인용한다.
"Xcanvas player 설명서에서 뭔가 크게 손을 댄 것처럼 거창하게 읊고는 있지만, LG 타임머신은 리눅스 Ext3 파일시스템을 쓰고 있고, 이 시스템이 오픈소스지만 상당한 리눅스 프로그래머가 아니면 개조하기가 좀 어렵다는 것입니다. 단지 리눅스 ext3 파일 시스템을 읽을 수만 있다면 윈도 시스템에서도 쉽게 인식할 수 있을 것이라고 봤습니다. 그리고 그 예상은 정확히 일치했습니다. 예상은 했지만 너무 단순하네요. "
이제 PC에서 파일을 추출할 방법은 찾았으니 변환은 시간문제 ^^.
이 글에서는 Xcanvas에서 내장 HDD에 녹화한 프로그램을 최종적으로 Windows PC에서 볼 수 있는 AVI파일로 변환하는 과정을 다음과 같이 단계별로 설명하고자 한다.
STEP 1 TV에서 프로그램을 녹화한다.
STEP 2 내장 HDD에 저장된 녹화물을 외장 HDD로 복사한다. 참고로 외장HDD는 40GB이상을 사용해야 한다. 최초 연결시 TV에서 자체 포맷(Linux EXT3)으로 포맷된다. 일단 포맷이 되면 그 담부터 자동으로 인식해서 연결했다 뗐다 자유롭게 사용할 수 있다.
STEP 3 PC에 EXT3파일 시스템 디스크를 읽을 수 있는 프로그램을 설치한다. Explore2fs란 프로그램인데 http://linuxer.pe.kr/88 에서 다운받을 수 있다.
잠깐! Vista 사용자에게는 너무나 중요한 주의사항
지금부터 설명되는 모든 소프트웨어는 반드시 관리자 권한으로 실행해야 합니다. 로그인을 관리자 권한으로 했더라도 실행때마다 아래의 예와 같이 실행파일을 right click해서 관리자 권한 실행을 해줘야 합니다.
그 이유는 여기서 사용되는 프로그램들은 정식으로 설치된 것이 아니므로 Vista의 보안 메카니즘에 의해 그냥 실행하면 관리자권한이 부여되지 않기 때문입니다. 그래서 관리자 권한이 아닌 상태에서 실행된 프로그램은 아래에서 설명된 것 처럼 동작하지 않습니다. 매우 중요한 사항이니 명심하세요.
Explore2fs를 구동하고, TV에서 복사된 컨텐츠를 담고 있는 HDD를 USB포트에 연결하면 이 HDD의 내부를 들여다 볼 수 있다. 저장된 영상물 각각이 별도의 폴더에 담겨 있는걸 볼 수 있다. 어차피 지금부터는 무슨 폴더가 무슨 방송녹화물이었는지는 알 수 없으므로 STEP2에서 외장HDD로 복사할때 저장된 프로그램의 순서를 메모하거나 잘 외워둘 필요가 있다. 가장 최근 녹화물이 가장 높은 숫자의 폴더에 들어있다.
내가 원하는 컨텐츠가 담긴 폴더에 들어가면 아래와 같이 여러 개의 이름모를 파일들이 존재함을 볼 수 있는데, 이 중에서 마지막이 STR로 끝나는 파일이 동영상 파일이다.
- 00000003PIF
- 0000000300000000DAT
- 0000000300000001IDX
- 0000000300000001STR
- 0000000300000001THM
확장자는 없지만 MPEG2+AC3 bit-stream이 담긴 동영상 파일이므로 이를 PC로 복사한다. 확장자는 임의로 지정하거나 없어도 된다. 어차피 이 후의 변환 과정에서 사용하는데는 아무 문제없다.
STEP 3 나중에 동영상을 PC friendly하게 변환하는데는 유명한 VirtualDubMod란 프로그램을 사용할 예정인데, VirtualDubMod가 지금 복사된 MPEG2파일을 (확장자와 상관없이) 바로 인식을 하지 못하므로 중간에 약간의 변환 과정이 필요하게 되는데, 이때 일차로 필요한 프로그램이 DGIndex란 것이다. DGIndex가 뭘하는 넘인가 궁금한 분들을 위해 소개글을 그대로 인용하자면
DGIndex, part of the DGMPGDec package, is primarily designed to create an index of an MPEG video stream, containing the location of each frame in the input stream, and some additional information about each frame. This index, or project file, is used by the companion Avisynth filter DGDecode to provide frame-accurate serving of the video via an Avisynth script. DGIndex is able to decode and index most MPEG1/2 streams including elementary streams, program streams, VOBs, VCDs, SVCDs, PVA files, and transport streams. Additional features include: video demuxing (m1v/m2v), audio demuxing (ac3, dts, aac, mpa, and lpcm), optimized iDCTs, luminance filtering, cropping, and more.
라고 되어 있는데 한마디로 나중의 비디오 처리의 선결작업으로 MPEG비디오 stream에 index란걸 만들어 주고 오디오는 demux시켜 주는 넘 되시겠다. 더 쉽게 말하자면 비디오와 오디오를 분리해서 정리해 준다 정도로만 이해하면 되겠다.
STEP3~5에서 사용되는 프로그램들 (DGIndex, VFAPIConv, VirtualDubMod)
hdtv-rip.zip
DGIndex를 실행시키고 아까 저장해논 MPEG파일을 Open하면 이런 에러가 뜨는데 무시해 버린다.
다음 과정으로 Stream 메뉴에서 Detect PIDs : RAW를 선택한다.
Detect PIDs:Raw 메뉴를 실행하면 다음과 같은 창이 뜨고, 여기서 어떤 비디오와 오디오
최종적으로 File메뉴에서 Save Project로 작업을 완료하면 d2v와 ac3 확장자를 가진 파일이 생성된다. D2v에는 video에 관한 정보가 담기고, ac3에는 audio stream이 담기게 된다.
STEP 4 다음 스텝은 준비된 비디오 인덱스정보를 이용하여 VirtualDubMod가 인식할 수 있는 형태로 변환해 주는 과정이다. 이를 위해 VFAPIConv라는 프로그램이 동원된다. 이 프로그램은 앞단계에서 저장한 d2v파일을 이용해 가상의 AVI 파일을 만든다. 동작은 간단하다. 메뉴에서 Add file을 선택해서 step3에서 만든 d2v파일을 열고 Convert 명령만 주면 끝이다.
이 작업은 순식간에 이루어지며, 실제로 만들어진 AVI파일은 매우 작은 사이즈이다. 왜냐하면 실제 데이터는 최초의 TS파일이 그대로 가지고 있고, 이 AVI파일은 VirtualDubMod가 작업을 처리하기 위한 매개체, 즉 AVI포맷 인식 용도로만 작동할 뿐이기 때문이다.이미 오디오 데이터는 이미 추출되어 있으므로 이 과정에서는 오디오에 대해서는 아무런 조치를 하지 않는다.
'멀티미디어방' 카테고리의 다른 글
다시 시도해 보자 (0) | 2012.01.16 |
---|---|
TV타임머신에 저장된 파일 빼내기-1차시도 실패 (0) | 2012.01.14 |
ximnd 실행시 JVM 에러가 발생됨- 조치하는 방법 (0) | 2011.03.21 |
R510-N.A242K 노트북 OS Vistar -> XP 변경하기 (0) | 2009.12.16 |
PDF 파일 빌드 에러를 잡아내다. (0) | 2009.10.19 |