목요일, 11월 08, 2012

linux에서 hdtv 보기

올해 말로 아날로그 방송이 종료된다고 해서 좀(?) 철지난 Dvico Fusion HDTV 5 lite 카드를 15,000원에 구입했다. 15,000원이면 뭐 거의 공짜나 마찬가지다. 리모콘도 준다.

Dvico Fusion HDTV 5 lite
리눅스에 붙여 쓸 TV 카드와 같은 주변기기는 경험상 아무래도 최신제품 보다는 약간 철지난 제품이 안전하다. 최신제품은 아직 드라이버가 지원되지 않을 가능성이 있기 때문이다. 다행히 Dvico Fusion HDTV 5 lite는 연식이 오래된 대신 2.6대 버전의 커널에 이미 드라이버가 포함되어 있고 별도의 추가 firmware도 필요없다. LinuxTV.org에서 리눅스에서 지원되는 hdtv 카드 목록을 찾아 볼 수 있는데 우리나라는 미국식 ATSC, 유럽은 DVB 방식이다.

hdtv(또는 dvb) 카드를 설치한 후 정상적으로 인식되면 /dev 밑에 dvb 라는 디렉토리가 생긴다--정확히 말하면 udev가 부팅 시에 장치를 인식해 dvb 디렉토리를 만들어 주는 거임. 만약 장치가 인식되지 않아  /dev/dvb 디렉토리가 생성되지 않았다면 커널 모듈에 hdtv 카드 드라이버가 빠져 있는 것이니 커널 컴파일 옵션을 고쳐서 커널 모듈을 재컴파일해줘야 한다.

TV 프로그램은 그냥 mplayer를 쓰기로 했다. 대부분 smplayer를 많이 쓰는 거 같은 데 내 PC와는 궁합이 안맞는지 노이즈가 많이 생기고 시스템이 얼어버리는 현상이 발생했다. 그 전까지 쓰던 tvtime은  아쉽게 아직까지 아날로그만 지원한다. 채널 잡는데 한참 삽질을 했는데, 해답은 의외로(아니면 역시나?) 국내 인터넷에 있었다. 핵심은 /usr/share/dvb/atsc/us-Cable-Standard-center-frequencies-QAM256 파일을 열어서 케이블(유선) 주파수 대역인 QAM256을 공중파 대역인 8VSB로 바꿔주는 거. 자세한 내용은 아래 링크 참조.
참고로 우리집은 스카이tv 같은 케이블 방송을 보지 않고 그냥 아파트 관리사무소에 제공하는 서비스를 이용한다.
https://forum.ubuntu-kr.org/viewtopic.php?t=5506
http://ubuntu.or.kr/viewtopic.php?p=37992#p37992
http://no1linux.com/hottips/992
http://www.ubuntu.or.kr/viewtopic.php?f=19&t=5096

[추가]
8VSB로 바꿔서 dvbscan으로 채널을 잡으면 공중파,  즉 MBC, KBS 1/2, SBS, EBS만 잡힌다. QAM256으로 잡으면 케이블로 재송출되는 공중파를 비롯하여 여타 케이블 방송도 잡히는데 이게 우리 아파트에서는 HD가 아닌 것도 있고, 카드가 비싼 티를 내는 것인지 자꾸 노이즈가 생긴다.

채널을 잡은 뒤에도 해결해야할 문제가 하나 있었다. 처음에 잘 나오는데 약 20분 정도 지나면 화면과 오디오 싱크가 조금씩 어긋나기 시작하면서 시스템 사양이 떨어진다는 메시지와 함께 시스템이 얼어버리는 현상이 발생했다. 하긴 내 시스템이 좀 오래되기는 했다. 시스템 사양은 여기를 참고. 결국 vdpau가 지원되는 nvidia 중고 비디오카드를 하나 구해 hdtv 볼 때는 출력모드를 vdpau로 바꾸고 여러 옵션을 넣었다 뺏다하는 삽질 끝에 마침내 그럭저럭 돌아가게 할 수 있었다. 아래는 삽질로 완성된 mplayer 옵션.
[protocol.dvb] vo=vdpau:deint=4 vc=ffmpeg12vdpau af=scaletempo lavfdopts=probesize=256 lavdopts=threads=2:fast=yes framedrop=yes mc=10 monitoraspect=1.7777
추가로 요건 리모컨 잡는 거
http://nomos.tistory.com/archive/200703

0 Comment: