MINT12でPT2+MythTV その1


PT2のインストール

カーネルが3.0で、不具合が解消したというのでDVB版を使用してみる(ついでにMythTVをインストール)

$ ls /dev/dvb/

adapter0 adapter1 adapter2 adapter3

と、正常に認識されている。

念のため、キャラクタデバイス版のドライバがインストールされないように記述しておく

$ sudo gedit /etc/modprobe.d/blacklist.conf

ファイルの末尾に下記のように記述しておく

blacklist pt1_drv

次にカードリーダのドライバを導入、

$ sudo apt-get install libccid pcsc-tools pcscd

$ pcsc_scan

確認すると、相変わらずスマートカードリーダ関係は新しいとだめらしいので、ダウングレードで

入れ直す

$ wget http://ftp.jaist.ac.jp/pub/Linux/ubuntu//pool/universe/p/pcsc-tools/pcsc-tools_1.4.16-1_amd64.deb

$ wget http://security.ubuntu.com/ubuntu/pool/universe/p/pcsc-lite/pcscd_1.5.5-3ubuntu2.1_amd64.deb

$ wget http://security.ubuntu.com/ubuntu/pool/main/p/pcsc-lite/libpcsclite-dev_1.5.5-3ubuntu2.1_amd64.deb

$ wget http://security.ubuntu.com/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.5.5-3ubuntu2.1_amd64.deb

$ wget http://ftp.jaist.ac.jp/pub/Linux/ubuntu//pool/universe/c/ccid/libccid_1.3.11-1_amd64.deb

インストール

$ sudo dpkg -i *.deb

依存関係の問題で、2~3回やれば通る。

次に、パッケージが変更されないように設定しておく

その他 → Synapticパッケージマネージャー

上部メニューにあるパッケージからバージョン固定を選択すると、鍵マークついて、バージョンが

固定される

libccid version 1.3.11-1

libpcsclite-dev version 1.5.5-3ubuntu2.1

libpcsclite1 version 1.5.5-3ubuntu2.1

pcsc-tools version 1.4.16-1

pcscd version 1.5.5-3ubuntu2.1

ここまでできたら、再度確認

$ pcsc_scan | grep B-CAS

Japanese Chijou Digital B-CAS Card (pay TV)

という表記が出れば OK  Ctrl + c で停止させる。

apt-getでもバージョンが変わらないように、設定ファイルを作成

$ sudo gedit /etc/apt/preferences.d/pcsc

package: libccid

Pin: version 1.3.11-1

Pin-Priority: 900

package: libpcsclite-dev

Pin: version 1.5.5-3ubuntu2.1

Pin-Priority: 900

package: libpcsclite1

Pin: version 1.5.5-3ubuntu2.1

Pin-Priority: 900

package: pcsc-tools

Pin: version 1.4.16-1

Pin-Priority: 900

package: pcscd

Pin: version 1.5.5-3ubuntu2.1

Pin-Priority: 900

Mintの場合は、アップデートマネージャーで、アップデート一覧に出てくるので、クリックして、

このパッケージのアップデートを無視するを選択して消しておく

fuse_b25のインストール

$ sudo apt-get install libfuse-dev fuse-utils

$ wget http://2sen.dip.jp/cgi-bin/dtvup/source/up0664.zip

$ unzip up0664.zip

$ cd fuse_b25-0.4.8

$ unzip fuse_b25-0.4.8.zip

$ cd fuse_b25-0.4.8

$ ./configure

$ make

$ sudo make install

次に、チャンネルに必要なものをダウンロード

$ wget http://2sen.dip.jp/cgi-bin/dtvup/source/up0798.zip # linux用 DVBアプリ集ver.0.97(10月1日以降の対応版)

$ unzip up0798.zip

チャンネルスキャン

$ cd dvb_apps-0.97/cmds/

$

$ ./s2scan -a 0 -p -b #BS

$ ./s2scan -a 0 -p -c #CSが必要なら、これも

続いて、テスト用のチューニングツールをビルド(tune.cのソースを修正する)

$ wget http://2sen.dip.jp/cgi-bin/pt1up/source/up0219.gz

$ tar xvfz up0219.gz

$ gedit dvb-pt1-test/tune.c

デフォルトは関東 「チャンネル番号」「局名」「周波数」となっているので、今スキャンした情報で、

書き換える

static struct channel isdbt_channels[] = {

{ 1, “TBCテレビ”, 509142857 },

{ 2, “NHKE”, 473142857 },

{ 3, “NHK総合”, 497142857 },

{ 4, “ミヤギテレビ”, 539142857 },

{ 5, “東日本放送”, 563142857 },

{ 8, “仙台放送”, 521142857 },

};

static struct channel isdbs_channels[] = {

{ 1, “NHK BS-1”, 1318000, 0x40f1 },

{ 3, “NHK BSプレミアム”, 1318000, 0x40f2 },

{ 4, “BS日テレ”, 1279640, 0x40d0 },

{ 5, “BS朝日”, 1049480, 0x4010 },

{ 6, “BS-TBS”, 1049480, 0x4011 },

{ 7, “BSジャパン”, 1087840, 0x4031 },

{ 8, “BSフジ”, 1279640, 0x40d1 },

{ 9, “WOW
OWプライム”, 1087840, 0x4030 },

{ 10, “WOWOWライブ”, 1126200, 0x4450 },

{ 11, “WOWOWシネマ”, 1126200, 0x4451 },

{ 12, “STAR CHANNEL 1”, 1202920, 0x4090 },

{ 13, “STAR CHANNEL 2”, 1164560, 0x4091 },

{ 14, “BS11”, 1202920, 0x4090 },

{ 15, “BSアニマックス”, 1164560, 0x4671 },

{ 16, “TwellV”, 1202920, 0x4092 },

{ 17, “放送大学”, 1241280, 0x46b2 },

{ 18, “テレビ東京1”, 1356360, 0x4311 },

};

このままだと、コンパイルできないので、変更前だと99行目を変更する ISDBをISDBSに

prop[1].cmd = DTV_ISDBS_TS_ID;

LNB電源をONにする記述 80行目くらい(太字が追加した5行)

if (info.type == FE_QPSK) {

prop[0].cmd = DTV_VOLTAGE;

prop[0].u.data = SEC_VOLTAGE_18;

props.props = prop;

props.num = 1;

ioctl(fd, FE_SET_PROPERTY, &props);

channel = lookup_channel(channel_id, isdbs_channels,

変更したら、tuneのバイナリを削除し、再コンパイルする

$ cd dvb-pt1-test

$ rm tune

$ make

VIDEOグループに自分のユーザ名を追加

$ sudo gedit /etc/group

暗号化解除済みの仮想チューナを作成する

TSが暗号化されているので、MythTVなどでそのままでは扱えない。そのため、fuse_b25で

復号されたTSを出力する新しいアダプターを用意する必要がある。

adapter5でadapter1を復号する場合

$ sudo b25dir 5 #マウント先のディレクトリの作成

$ ls /dev/dvb/    #ディレクトリが作られていることを確認

adapter0 adapter1 adapter2 adapter3 adapter5

$ sudo fuse_b25 –target /dev/dvb/adapter1 /dev/dvb/adapter5 -o allow_other

録画テスト

$ cd dvb-pt1-test

$ ./tune 5 1 &

cat /dev/dvb/adapter5/dvr0 > test.ts

30秒ほど録画したら停止する

停止コマンド

① Ctrl + C

② $ fg

③ Ctrl + C

の順に実施すると停止する

test.tsができているので、これをVLCなどで再生して見られれば、テストはOK

$ sudo cp tune /usr/local/bin/

tuneファイルをコピー

パソコンの起動時に仮想デバイスノードが作成されるように記述する

$ sudo gedit /etc/rc.local

末尾(「exit 0」よりは前)に記述する。 仮想アダプターは単純に+10にしてみた(もとより大きければ任意でOK)

for ADAPTER in 0 1 2 3 ; do

NEW_ADAPTER=`expr $ADAPTER + 10` #数字は任意

mkdir /dev/dvb/adapter$NEW_ADAPTER

chown root:video /dev/dvb/adapter$NEW_ADAPTER

chmod 0775 /dev/dvb/adapter$NEW_ADAPTER

/usr/bin/nice –4 /usr/local/bin/fuse_b25 –target /dev/dvb/adapter$ADAPTER /dev/dvb/adapter$NEW_ADAPTER -o allow_other

done

再起動して確認

$ mount |grep fuse_b25

fuse_b25 on /dev/dvb/adapter10 type fuse.fuse_b25 (rw,nosuid,nodev,allow_other,default_permissions)

fuse_b25 on /dev/dvb/adapter11 type fuse.fuse_b25 (rw,nosuid,nodev,allow_other,default_permissions)

fuse_b25 on /dev/dvb/adapter12 type fuse.fuse_b25 (rw,nosuid,nodev,allow_other,default_permissions)

fuse_b25 on /dev/dvb/adapter13 type fuse.fuse_b25 (rw,nosuid,nodev,allow_other,default_permissions)

一応、これで、録画ができるか確認してみる

$ tune 10 1 &

(10は、仮想アダプター 1はtune.cで記述したチャンネル 10と12はBS 11と13が地上波)

$ cat /dev/dvb/adapter10/dvr0 > test.ts

(adpterの番号は、仮想アダプターの番号(上で指定してものと同じにする)

停止コマンド

① Ctrl + C

② $ fg

③ Ctrl + C

test.tsファイルを確認して、再生できればOK

これで、一応、下準備終わり

Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


 

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)