DELL PowerEdge SC430にPT2挿して使ったときのメモ。
必要っぽいパッケージ入れる。
$ sudo apt-get -y install autoconf build-essential linux-headers-`uname -r`
最新ドライバ落とす。
$ wget http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2 $ bzip2 -dc tip.tar.bz2| tar xvf -
サクッと入れてやります。
$ cd pt1-7662d0ecd74b/driver $ make $ sudo make install
事後処理。
$ sudo vim /etc/modprobe.d/blacklist.conf
最下行に以下のように記載してやりましょう。
# 2011/09/13 earthsoft PT2 blacklist earth-pt1
再起動で反映されるはず。
$ sudo reboot
$ lspci | grep Multi 05:02.0 Multimedia controller: Xilinx Corporation Device 222a (rev 01) $ lsmod | grep pt1 pt1_drv 31649 0 $ ls /dev | grep pt1 pt1video0 pt1video1 pt1video2 pt1video3
lspciに出てこない場合はそもそもちゃんと刺さってない可能性があります。
$ sudo apt-get -y install libccid libpcsclite-dev libpcsclite1 pcsc-tools pcscd libpcsc-perl
楽ちんだった。
$ lsusb Bus 003 Device 002: ID 08e6:3437 Gemplus GemPC Twin SmartCard Reader
実際にはもっと色々出るけど省略。
$ pcsc_scan
ICカード情報が取れる。これも長いので結果割愛するけど、末尾の
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
の欄に「B-CAS」とか「Japanese Chijou Digital B-CAS Card (pay TV)」とか出れば大丈夫。Ctrl-Cで終わらせましょう。
Tue Feb 22 03:35:22 2011 Reader 0: Gemplus GemPC Twin 00 00 Card state: Card removed,
ってなったらカード刺さってません。
こいつは下のrecpt1より前にやる必要があるのですが、最新ドライバには同梱されていないため古いドライバから取ってくる必要があります。
$ sudo apt-get -y install pkg-config
これ入ってないとmakeのときに警告出て進めなかった。
$ wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.tar.bz2 $ bzip2 -dc c44e16dbb0e2.tar.bz2| tar xvf - $ cd pt1-c44e16dbb0e2/arib25/src $ make $ sudo make install
サクっと入れてやりましょう。
$ cd pt1-7662d0ecd74b/recpt1 $ ./autogen.sh $ ./configure -enable-b25 $ make $ sudo make install $ su - # echo "/usr/local/lib" > /etc/ld.so.conf.d/recpt1.conf
最後だけrootにならないとできなかった。
最初-enable-b25のところを間違えて--enable-b25としてしまって、録画は出来るけど再生が出来ない動画が出来上がって結構悩みました。たぶんarib25を入れないままrecpt1をインストールしても同じ症状になると思う。
PowerDVDで再生してみたらワンセグ部分だけが再生されて、TsSplitterでHDとワンセグを分離してみたらHD部分がscramblingあるよって言われたのでそれで気づいた。
$ recpt1 --b25 --strip 27 10 /home/karia/nhktest.ts
これで天下の国営放送様(27ch)が10秒間保存されます。 「Recording」というメッセージが出てないときは録画出来ていません。
$ recpt1 --b25 --udp --addr (クライアント機のIPアドレス) --port 1234 25 - /dev/null
とやって、クライアント機でVLCを起動しメディア>ネットワークストリームを開いて、ネットワークURL欄に
udp://(サーバー機のIPアドレス)/
と入れてやればストリーミング視聴も可能です。すごい。
$ checksignal 20 --device /dev/pt1video2
という感じでとりあえず信号が来てるのかどうかだけ確認することも出来る。これはB-CASが刺さってなくても有効みたい。--deviceは省略できる。
で、うまく再生できないとか、recpt1コマンドで「Cannot tune to the specified channel」と出てしまう場合は以下を確認。
なんとちゃんと刺さってませんでした。まあ認識してるかどうかはlspciとかでわかりますが、中途半端に刺さってたせいで出たり出なかったりしたので騙された。SC430の場合はBIOSでもPCIの状態確認できてべんり。
要するに信号来てないんじゃないのっていう疑いを晴らしましょう。
| 端子名 | デバイス名 | 種別 |
| S1 | /dev/pt1video0 | 衛星 |
| T1 | /dev/pt1video2 | 地上 |
| S2 | /dev/pt1video1 | 衛星 |
| T2 | /dev/pt1video3 | 地上 |
PT1の端子の並び順に書くとおそらくこんな感じ(間違ってるかも)。ケーブルをどこに挿しても良いというわけではなかった。分波器・分配器まだ買ってない、けどとりあえず動確したいな場合はとりあえずT1に繋いで地デジを確認しよう。
T1に挿したケーブルは他のテレビで映るの確認したし絶対問題ない!というように信号に疑いがない場合はデバイス指定で確認してみよう。
$ recpt1 --b25 --strip 27 10 /home/karia/nhktest.ts --device /dev/pt1video2
$ for var in `seq 13 62` ; do recpt1 --b25 --strip $var 10 /home/karia/$var.ts;done
という感じで13ch〜62chを総なめ(要するにチャンネルスキャンみたいな動作)をして放送してるチャンネルだけのtsを保存してくれます。が、ローテクな感じなので通常はLinux用デジタル放送チャンネルスキャンスクリプトなどを使った方が良いと思います。あと夜間にやると放送終了しているチャンネルの情報が取れません。
code=-4の場合:データが壊れている(=信号が弱すぎ)ためにデコードできない可能性あり。配線やアンテナを見直す。
code=-9の場合:こちらを参照:http://d.hatena.ne.jp/dix3/20110505/1304527288
先に必要なパッケージとか。
$ sudo apt-get install wine mplayer imagemagick subversion git-core yasm sqlite3 postgresql php5 php5-sqlite gpac
gpac普通にapt-getから入るのでそれで。
$ sudo cpan -i YAML Time::HiRes Schedule::At Jcode $ sudo cpan -i DBI DBD::SQLite LWP::Simple Time::Local Text::Kakasi Date::Manip
# useradd foltia
$ sudo vim /etc/apache2/apache2.conf $ sudo vim /etc/apache2/sites-available/default
このへんからfoltiaユーザで実行する。
$ svn co http://svn.dcc-jpl.com/foltia/trunk foltia
2011年9月8日現在、リビジョン136が降ってくる。 できあがったfoltiaの中にあるinstallというディレクトリの中身を、/home/foltiaに配置。
$ sqlite3 /home/foltia/foltia.sqlite < mktable.sqlite.txt
これでテーブルができたはず。
$ cd ~/perl $ cp foltia_conf1.pl.template foltia_conf1.pl $ cd ~/php $ cp foltia_config2.php.template foltia_config2.php
これでとりあえず起動はする。わーい。
この辺からperlのスクリプト群を使い出すが、その前にperl配下のスクリプトから以下の1行をコメントアウトする。これが大変めんどくさいのでなんとかしてほしい。
use DBD::Pg;
$ /home/foltia/perl/getxml2db.pl long
しょぼかるからの初回データ取得。
入れ方系の説明は、人によって書いてる事が違う上に陳腐化しやすいので、出来るだけ新しい記事を複数比較しよう。
その他資料。
※江戸川ケーブルテレビの場合です。リモコンNoは参考。
| リモコンNo | 物理ch | 局名 |
| 3 | 17 | チバテレビ |
| 3 | 18 | tvk |
| 3 | 19 | テレ玉 |
| 9 | 20 | TOKYO MX |
| 8 | 21 | フジテレビ |
| 6 | 22 | TBS |
| 7 | 23 | テレビ東京 |
| 5 | 24 | テレビ朝日 |
| 4 | 25 | 日テレ |
| 2 | 26 | NHK教育 |
| 1 | 27 | NHK総合 |
| 12 | 28 | 放送大学 |
| - | 37 | J:COMチャンネル |
sqlite> select * from foltia_station where digitalch = '20'; 14|TOKYO MX|14|MX|||||0016.ontvjapan.com|20|0 sqlite> sqlite> select * from foltia_station where digitalch = '30'; 46|��Хƥ��|-10|CTC||||||30|0 sqlite> update foltia_station set digitalch = '17' where stationid = '46'; sqlite> sqlite> select * from foltia_station where digitalch = '30'; sqlite> select * from foltia_station where stationid = 46; 46|��Хƥ��|-10|CTC||||||17|0 sqlite> sqlite> select * from foltia_station where stationid = 42; 42|tvk|42|TVK|||||0009.ontvjapan.com|18|0 sqlite> update foltia_station set digitalch = '18' where stationid = '42'; sqlite> select * from foltia_station where stationid = 42; 42|tvk|42|TVK|||||0009.ontvjapan.com|18|0 sqlite> sqlite> sqlite> select * from foltia_station where digitalch = '32'; 38|�ƥ��|-10|TVS||||||32|0 sqlite> update foltia_station set digitalch = '19' where stationid = '38'; sqlite> select * from foltia_station where stationid = 38; 38|�ƥ��|-10|TVS||||||19|0 sqlite> sqlite>