반응형


예전에 SKY HDTV6 PCI 를 리눅스에서 사용하는 방법에 대해 올린적이 있습니다. 바로 이 링크 인데요.

특별히 추가된 내용은 아니고 우분투 9.10 설치한 김에 설정해 주다가 알게 된 내용을 잡담형식으로 적어 볼까 합니다. 한마디로 잡담이고 몰라도 사는데 지장없고 티비보는데 지장없는 내용이지요.



mplayer 로 tv를 볼때 그냥 실행하면 음성이 안나옵니다. 이걸 해결하려면 아래의 명령을 줘야 하죠.

arecord -D hw:1,0 -f dat | aplay &


그런데 저 내용중 hw: 다음의 숫자가 제가 저 글을 쓸당시에 문제였는데 심심해서 'man arecord' 를 해보니 대충 알겠더군요.

'arecod -l'

명령을 콘솔에서 쳐보면 저의 경우 다음과 같은 내용이 나옵니다.

**** CAPTURE 하드웨어 장치 목록 ****
0 카드: SB [HDA ATI SB], 0 장치: ALC883 Analog [ALC883 Analog]
  하위장치: 1/1
  하위장치 #0: subdevice #0
0 카드: SB [HDA ATI SB], 2 장치: ALC883 Analog [ALC883 Analog]
  하위장치: 1/1
  하위장치 #0: subdevice #0
1 카드: CX8801 [Conexant CX8801], 0 장치: CX88 Digital [CX88 Digital]
  하위장치: 1/1
  하위장치 #0: subdevice #0

제 능력으론 왜 0번이 2개나 나오는지 알 수 없으나 그건 중요한게 아니죠. 어쨌던 CX8801 이 티비카드와 상관있다는 정도는 눈치챌수 있으니까요. 그렇다면 이걸 이용해 간단히 스크립트로 만들면 아무때나 쓸 수 있겠지요.

왜 이런짓을 했냐 하면, 제 경우 예전에는 저 하드웨어의 숫자가 컴퓨터 켤때마다 달라지는 경우가 있곤 했거든요. 9.10에서도 그럴지는 모르겠지만 마침 심심한김에(?) 간단히 쉘스크립트로 만들어 보기로 했습니다. 하지만 전 쉘스크립트를 전혀 모르기땜에 고생 좀 했습니다. 오랜만에 안하던짓을 했더니 피곤하네요. --;

!/bin/bash

soundno=`arecord -l | grep CX8801 | awk '{print $1}'`
arecord -D hw:$soundno,0 -f dat | aplay

exit 0

위가 쉘의 내용입니다. 실망에 기가차서 웹브라우저를 끄는 모습이 선합니다만...^^; 사실 별거 아니지만 그냥 이렇게 쉘 스크립트를 만들어 쓰고 있습니다. 뭐...그래도 나름 실용적이지 않습니까? ^^;

저 쉘에서 뒤에 '&' 를 안붙인건 그냥 컨트롤+C로 중지시키고 싶을때 중지시키기 위함입니다. 티비보는동안 쉘 하나를 열어놔야 한다는 점이 좀 그렇지만 kill 로 죽이는게 귀찮아서 말이죠. 사실 이것도 찾아서 kill 로 지우는 스크립트를 만들어 보기도 했는데 그냥 컨트롤+C 로 죽이는것도 나쁘지 않다는 생각이 들어서....



참고로 mplayer 관련 쉘스크립트도 올려 놓습니다. 예? 이젠 기대도 안한다고요? 그래도 쉘스크립트 처음이라 힘들었다고요!!!

#!/bin/bash

ch=$1

if [ -z $1 ]
then
    ch=11
fi

mplayer tv:// -tv driver=v4l2:device=/dev/video0:channel=$ch:chanlist=us-cable:norm=NTSC-M:forceaudio:immediatemode=0

exit 0

그렇습니다. 내용은 단순 그 자체입니다. 그냥 스크립트를 실행하면 채널 11번이 기본이고요. 스크립트에 숫자를 줘서 실행하면 그 채널로 뜨게 했습니다. h 와 k 키로 70여개의 채널을 계속 눌러서 옮겨가기는 너무 힘들더라고요. --;

이 스크립트 파일명을 만일 'mtv' 라고 했다면, 그냥 쉘에서 'mtv' 를 치면 채널 11번이, 'mtv 30' 을 입력하면 30번 채널이 나올것입니다.



쉘스크립트 처음만드는게 왜 힘들었냐 하면...이 쉘스크립트는 파이썬이나 루비와 같은 고등(?) 스크립트와 달리 띄어쓰기 하나에도 매우 민감한 녀석이더라고요. 변수에 값하나 할당하는것도 힘들었다니깐요. if 문 뒤쪽 ']' 도 앞의 $1 뒤에 한칸 안띄워 줬다고 얼마나 까탈스럽게 굴던지...변수에 값을 할당할땐 변수앞에 $ 을 안쓴다는걸 몰라서 얼마나 헤맸는데요. --;

뭐...어쨌던 별로 해결된건 없지만...귀찮긴 마찬가지고 말이죠. 하긴 위쪽 사운드 스크립트 같은 경우 부팅시 자동실행되도록 해 놓을 수도 있겠지만 굳이 그럴꺼 까진 없고...TV 보기엔 tvtime 이 더 좋긴 한데 이건 화질이 못봐줄 수준이고 말이죠. mplayer로 tv 보는건 좀 불편한데...

좋은 방법이나 프로그램 있으시면 알려주시면 감사하겠습니다....





+ Recent posts