今天解決在Ubuntu 7.04上用電視卡看電視的問題。
剛買不久的電視卡是廣寰的類比電視PCI CARD全球豪華版,這張卡的型號是PVR-TV 7131,使用的晶片是Philips SAA7131。Ubuntu 7.04安裝好後會自動將這張卡辨認為7134,型號不同但驅動程式可共用,但還需做一些調整,才能順利抓到cable訊號。
準備用來看電視的軟體是tvtime,用synaptic套件管理程式即可安裝。
首先調整驅動程式,終端機下指令開啟:
sudo gedit /etc/modprobe.d/saa7134 |
加入:
options saa7134 card=65 tuner=54 alsa=1 |
其中card和tuner的編號可至此頁尋找一下電視卡的型號,改好後存檔,再開:
sudo gedit /etc/modules |
在檔案結尾處加上:
saa7134 |
存檔,重新開機後啟動tvtime,此時應該可以看到影像了,但卻沒有聲音,從google大神那邊得知解決方式,打開tvtime以後,在終端機下指令:
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay - |
這個指令馬上就讓電視卡開口講話了,可是在聲音上有一些秒差,看起來還是怪怪的,再試另外一種方法:
先安裝sox,終端機裡下指令:
sudo apt-get install sox |
sox套件裝好後,一樣先開tvitme,然後再下指令:
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | sox -q -c 2 -r 32000 -w -t wav - -t alsa hw:0,0 |
到此,畫面正常,聲音正常,唯一的缺點就是每次看電視時就得執行一次上面那行指令,而且不能把執行指令的終端機關掉,否則電視就會變啞巴。
update: 上述兩句讓電視發聲的指令,有時候還是會出捶,所以也可以用下面這個指令,聲音和影像會對得更精準:
sox -q -c 2 -s -w -r 32000 -t ossdsp /dev/dsp1 -t ossdsp -w -r 32000 /dev/dsp |
版主你好
請問PVR-TV 7131有Linux版的驅動嗎?
還有看電視時是否可以用別的軟體(像是一般的多媒體播放器)來播放?
@nome,經過上文中的修正程序後,linux可以識別這塊卡,不用另外安裝驅動。
一般的多媒體播放器不含電視功能,因此無法直接播放,建議還是用專用的軟體播放,例如tvtime
@小邱,我也是初學者 🙂 ,很高興能幫到你的忙。
我是個自由軟體初學者
很感謝您的文章分享
讓我的廣圜電視卡也可以看奧運中華隊比賽了
謝謝
@Popo,謝謝你,你才是真強人~~
有空我會試試看你說的做法。
但聲道的問題我就沒研究了 😳
現在最困擾的還是remote control跟5.1聲道的問題~~
要怎樣才可以RUN 5.1 Channel 呢?
更正~~對你來說~~語法應該改成這樣
ps -efww|grep sox|grep -v grep|cut -c 9-15|xargs kill -9
ps -efww|grep tvtime|grep -v grep|cut -c 9-15|xargs kill -9
先殺掉sox在殺掉tvtime
至於啟動的語法~~就不用在多說了吧^_^~~~
還有一招完美法~~~
你在console下打ps -aux 或是 ps -ef
都可以看到以下的東西
ubuntu 7064 6.0 0.4 37304 10108 ? R 21:27 0:03 tvtime
ubuntu 7065 0.0 0.0 3984 1296 pts/0 S 21:28 0:00 arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE
ubuntu 7066 1.4 0.0 4512 1944 pts/0 SL 21:28 0:00 aplay –
ubuntu 7069 0.0 0.0 2624 1004 pts/0 R+ 21:28 0:00 ps -aux
所以啊~~~可以用Script來啟動進程跟用一各script殺掉以上的進程~~~語法很簡單的
$sh
ps -efww|grep tvtime|grep -v grep|cut -c 9-15|xargs kill -9
ps -efww|grep aplay|grep -v grep|cut -c 9-15|xargs kill -9
這樣子就可以一次兩個進程都殺掉了~~~且啟動的時候就可以將aplay放在背景跑了
這只是強大又彈性的linux script小小簡單的應用~~
@Popo,根據我曾搜尋過的資料顯示,搖控器的問題應該可以解決,但是過程繁瑣,看了就頭暈,所以我就沒興趣往下追了。
你說加上&的方法,我好像曾經試過,但我記得如果把聲音的執行擺到背景去,到時候關掉tvtime的時候,聲音好像會關不掉。
如果你有試出來的話,麻煩通知我一下
我是因為平常也很少看電視,所以一點點的不方便就算了~~
對了~~你可以在命令的最結尾加上 & 符號~~
這樣子就會轉到背景去RUN了~~這樣子Console視窗就可以關掉了…..也可以寫個script ..在每次啟動tvtime之前先行跑那一串命令行(記得加&符號結尾) 之後再跑tvtime..
這樣子就可以很完美啦~~
真強人~~~
不過我現在正在苦惱著這一片TV卡怎樣用原先產品所附的搖控器來控制功能…不能總覺得不太完美:~~~