Arch + PT2 で地デジ視聴、再び。

pacman -Syu で kernel2.6.35 になったお陰で
http://hg.honeyplanet.jp/pt1 のドライバが使えなくなった。
なんでも、DVBドライバがカーネルに標準で乗るようになったらしく、
それらと上記ドライバがバッティングしたのが原因だそうだ。


今回は標準で乗ったDVBドライバを使って地デジを見れる環境を作ります。



以下の記事を参考にさせて頂きました。
http://www.fedorax.info/1943.html
ありがとうございます!



前回の導入方法から
pcsclite、ccid、pcscd、pcsc-tools は変わらず入れ、
B-CASを読めるようにしておいてください。


あと視聴時に必要になるので、b25だけは
http://hg.honeyplanet.jp/pt1 から取ってきて
コンパイルしておいてください。


以降新規作業内容。
まずPT2を認識できてるか確認。

$ dmesg | grep DVB
DVB: registering new adapter (earth-pt1)
DVB: registering new adapter (earth-pt1)
DVB: registering new adapter (earth-pt1)
DVB: registering new adapter (earth-pt1)
DVB: registering adapter 0 frontend 0 (VA1J5JF8007/VA1J5JF8011 ISDB-S)...
DVB: registering adapter 1 frontend 0 (VA1J5JF8007/VA1J5JF8011 ISDB-T)...
DVB: registering adapter 2 frontend 0 (VA1J5JF8007/VA1J5JF8011 ISDB-S)...
DVB: registering adapter 3 frontend 0 (VA1J5JF8007/VA1J5JF8011 ISDB-T)...

こんなんが表示されればOK。


/dev/dvb/adapterN(N=0,1,2,3)
も同時に出来てる筈。


adapter0,2 は BS/CS用
adapter1,3 が 地デジ用


僕の環境では adapter1 を使っていきますが、
そこは各々の環境に合わせて読み替えて下さい。


DVB用アプリケーションセット(s2scan)を入れる
http://2sen.dip.jp/cgi-bin/dtvup/source/up0355.zip を落とす。

$ unzip up0355.zip
$ cd dvb_apps_0.8.1/cmds
$ make clean
$ make


ここまで準備できたら、受信できるチャンネル一覧を作る。

$ ./s2scan -a 1 > channels.txt //この1は adapter1 を使うって意味
...
テレビ東京:DTV_DELIVERY_SYSTEM=8|DTV_FREQUENCY=503142857:1072
テレビ東京:DTV_DELIVERY_SYSTEM=8|DTV_FREQUENCY=503142857:1073
テレビ東京:DTV_DELIVERY_SYSTEM=8|DTV_FREQUENCY=503142857:1074
...

こんなんが表示されればOK。


権限周りで上手くいかない事があるらしいが、
僕は遭遇しなかったので其処の所はスルー。


チューナー(tune)を入れる
http://2sen.dip.jp/cgi-bin/pt1up/source/up0219.gz を落とす
(因みにこの.gz、うちのgzipじゃ文字コード周り?が原因で解凍出来なかった)

$ tar -zxvf up0219.gz
$ cd dvb-pt1-test

ここで tune.c を修正。

Line:99 -- prop[1].cmd = DTV_ISDB_TS_ID;
        ++ prop[1].cmd = DTV_ISDBS_TS_ID;

それと、
Line:20 static struct channel isdbt_channels[] = {
の番組一覧を、先ほどs2scanを使って出力した channels.txt の中身を見て
DTV_FREQUENCY の値をそれぞれ書き換え。


ちなみに我が家はこんな感じ↓

static struct channel isdbt_channels[] = {
	{   1, "NHK東京 総合",    677142857 },
	{   3, "NHK東京 教育",    629142857 },
	{   4, "日本テレビ",      599142857 },
	{   6, "TBS",             485142857 },
	{   8, "フジテレビ",      605142857 },
	{  10, "テレビ朝日",      497142857 },	
	{  12, "テレビ東京",      503142857 },
};

上記修正を済ませたら、

$ rm ./tune
$ make


ここまで出来たら視聴してみる。

$ tune 1 3 & // 1=adapter 3=channel

この tune を走らせた状態から


ワンセグ画質で視聴

$ mplayer -cache 8192 /dev/dvb/adapter1/dvr0

録画

$ cat /dev/dvb/adapter1/dvr0 > hoge.ts

地デジ画質でリアルタイム視聴

$ b25 -v 0 /dev/dvb/adapter1/dvr0 /dev/stdout | mplayer -cache 8192 -


adapterN と b25 を上手く使えば、ちょっとしたスクリプト
簡単な視聴環境くらいは整えられそう。


とりあえずまた地デジ見れるようになって一安心でしたわ…。
ここまで走り書きだったので、気が付いた点などありましたら
ご指摘頂けると嬉しいです。


2010/9/11 修正
fuse_b25、pacman に入ってなかった。
というかこのやり方だと全く役に立ってなかった。
よって削除。