CentOSでホームサーバを作ろう
PT2を使って録画する(準備編)
最終更新:
centos-homeserver
-
view
「作成」の検索結果
「PT2を使って録画する(準備編)」
から
次の単語がハイライトされています :
はじめに
2010.7月現在PT2のLinux用ドライバは2種類(chardev版とDVB版)存在する。
今回は録画専用機にしたいので、chardev版(Yoshiki Yazawa氏改良版)を使用する事とする。
今回は録画専用機にしたいので、chardev版(Yoshiki Yazawa氏改良版)を使用する事とする。
- chardev版
- シンプルで現状の主流だが、リアルタイム視聴ができないという欠点がある。
正確には、Yoshiki Yazawa氏の改良版に含まれる録画コマンドをパイプでつないで視聴プレイヤーに渡せば録画しながら視聴が可能だが、まわりくどく面倒。
- シンプルで現状の主流だが、リアルタイム視聴ができないという欠点がある。
- DVB版
- V4L-DVBというLinuxでビデオを視聴する枠組みにそっているため、V4L-DVBに対応するアプリケーション(mplayerなど)でリアルタイム視聴が可能。
ただし日本の場合、暗号化解除を行う必要があるのでメリットがあまりない。
将来的には標準ドライバになる可能性はある。
- V4L-DVBというLinuxでビデオを視聴する枠組みにそっているため、V4L-DVBに対応するアプリケーション(mplayerなど)でリアルタイム視聴が可能。
スマートカード関連のソフト(ドライバ・ユーティリティ)の入手
B-CASカードを利用するために、スマートカード関連の以下のパッケージを導入する。
- ccid
スマートカードドライバ
- pcsc-lite
PC/SC仕様(ICカードリーダーをWindowsやLinuxで利用するためのIF仕様)のAPI
- pcsc-tools
PC/SCの関連ツール(pcsc_scanなどのスマートカードのモニタコマンドが含まれる)
※録画のための必須ツールではない(?)と思われるので、無理に導入しなくても良いかと思う。(詳細不明)
※録画のための必須ツールではない(?)と思われるので、無理に導入しなくても良いかと思う。(詳細不明)
- pcsc-lite-devel
PC/SCの開発ツール
# yum install ccid pcsc-lite pcsc-lite-devel
pcsc-toolsだけはCentOSのリポジトリに無いので、Fedoraのrpmを流用する。
なお、比較的新しいFedora9〜13のrpmだとCentOSと導入されているperlのバージョンが合わず、
導入の際にエラーが出てしまうので("--nodeps"のオプションを付与すれば無理矢理入れられるけど不安定。)
ここでは、参考情報の通りFedora8のrpmを使用する。
なお、比較的新しいFedora9〜13のrpmだとCentOSと導入されているperlのバージョンが合わず、
導入の際にエラーが出てしまうので("--nodeps"のオプションを付与すれば無理矢理入れられるけど不安定。)
ここでは、参考情報の通りFedora8のrpmを使用する。
標準のリポジトリから必要なパッケージを導入する
# yum -y install pcsc-lite-libs
# yum -y install ccid-devel
# yum -y install gtk2 gtk2-devel glib glib-devel pango pango-devel
標準のリポジトリには無いパッケージがあるのでRPMForgeを追加する
# yum -y install yum-priorities
CentOS標準のリポジトリ(/etc/yum.repos.d/CentOS-Base.repo)で提供しているパッケージを
RPMForgeなどのサードパーティ製のリポジトリで上書きしてしまうのを防ぐプラグインです。
RPMForgeなどのサードパーティ製のリポジトリで上書きしてしまうのを防ぐプラグインです。
# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
RPMForgeのGPG-KEYをインポートするコマンド。
# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
# rpm -ivh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
RPMForgeを使用するのに必要なパッケージを導入。
# sed -ie 's/enabled = [01]/enabled = 0/' /etc/yum.repos.d/rpmforge.repo
通常では探しに行かなくするために、/etc/yum.repos.d/rpmforge.repoの"enabled=1"を"enabled=0"に変更する。
こうすると、"yum install --enablerepo=rpmforge"とした時だけrpmforgeを探しに行くようになる
こうすると、"yum install --enablerepo=rpmforge"とした時だけrpmforgeを探しに行くようになる
perlのGtkパッケージを導入
# yum install --enablerepo=rpmforge -y perl-Gtk2
Fedora8のpcsc-toolsの導入
# wget ftp://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/i386/os/Packages/pcsc-perl-1.4.6-2.fc8.i386.rpm
# wget ftp://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/i386/os/Packages/pcsc-tools-1.4.10-1.fc8.i386.rpm
# wget ftp://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/x86_64/os/Packages/pcsc-perl-1.4.6-2.fc8.x86_64.rpm
# wget ftp://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/x86_64/os/Packages/pcsc-tools-1.4.10-1.fc8.x86_64.rpm
# rpm -ivh pcsc-perl-1.4.6-2.fc8.i386.rpm
# rpm -ivh pcsc-tools-1.4.10-1.fc8.i386.rpm
# rpm -ivh pcsc-perl-1.4.6-2.fc8.x86_64.rpm
# rpm -ivh pcsc-tools-1.4.10-1.fc8.x86_64.rpm
スマートカードの最新リストを入手
# wget http://ludovic.rousseau.free.fr/softwares/pcsc-tools/smartcard_list.txt --output-document=/root/.smartcard_list.txt
pcsc_scanを実行したときに挿入したカードの識別番号から名称を表示させることができる。}
pcsc_scanを実行するユーザのホームディレクトリに置けばよいのかな?}
pcsc_scanを実行するユーザのホームディレクトリに置けばよいのかな?}
ICカードリーダーの挿入・動作確認
ICカードリーダー(SCR3310-NTTCom)をUSBポートに接続し、
B-CASカードの赤い面(または青い面)を下にして挿入する。 注意:上ではない。
念のためpcscデーモンを再起動する。
B-CASカードの赤い面(または青い面)を下にして挿入する。 注意:上ではない。
念のためpcscデーモンを再起動する。
# service pcscd restart
スマートカードリーダーの動作ランプが点滅を始めたらOK。 注意:点灯しているだけではだめ。
また、さらに念のため、先程導入したpcsc_scanコマンドで、B-CASカードとして本当に認識しているかを確認。
また、さらに念のため、先程導入したpcsc_scanコマンドで、B-CASカードとして本当に認識しているかを確認。
$ pcsc_scan
"Japanese Chijou Digital B-CAS Card (pay TV)"と表示されていればOK。
arib25(暗号解除のプログラム)の入手
削除されていなければ、Yoshiki Yazawa氏のサイトのここで、左のbz2をクリックすれば、
ARIBのVer 0.2.3(「ARIB STD-B25 仕様確認テストプログラムソースコード」)が入手できる。
※なお、日経Linuxの2010年2月号の付録DVD-ROMにはVer 0.2.4(arib25-0.2.4.tar.gz)が収録されている。
ARIBのVer 0.2.3(「ARIB STD-B25 仕様確認テストプログラムソースコード」)が入手できる。
※なお、日経Linuxの2010年2月号の付録DVD-ROMにはVer 0.2.4(arib25-0.2.4.tar.gz)が収録されている。
# tar xfz arib25-0.2.4.tar.gz
# cd arib25-0.2.4/src
# make
# make install
CentOSでは、デフォルトでは共有ライブラリのパスとして、
"/usr/local/lib"が含まれていないので、
以下のコマンドでルールを追加して、共有ライブラリを追加する。
"/usr/local/lib"が含まれていないので、
以下のコマンドでルールを追加して、共有ライブラリを追加する。
# echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf
# ldconfig -v
追加されたかどうかは、以下のように確認可能。
# ldconfig -p | grep b25
libarib25.so.0 (libc6,x86-64) => /usr/local/lib/libarib25.so.0
libarib25.so (libc6,x86-64) => /usr/local/lib/libarib25.so
と2つ表示されれば問題ない。
録画ツールのインストール
最新版をYoshiki Yazawa氏のサイトから入手し、解凍。
# wget http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2
# tar xfj tip.tar.bz2
日経Linux2月号を入手できれば、
視聴可能チャンネルの自動スキャンツールgrscanコマンドを作成するためのパッチが
付録DVDの中に入っているので、それをrecpt1のコンパイルの前にパッチとして当てることができる。
(もし無くても、手動で設定ファイルを記述すれば良いので必須ではない。)
ただし、2010-07-15現在の最新のソースコード(Ver1.1.0)に対しては付録のパッチではエラーが出てしまうので、
自分が修正したパッチファイルをこのページにUPした。(下のリンクを参照)
視聴可能チャンネルの自動スキャンツールgrscanコマンドを作成するためのパッチが
付録DVDの中に入っているので、それをrecpt1のコンパイルの前にパッチとして当てることができる。
(もし無くても、手動で設定ファイルを記述すれば良いので必須ではない。)
ただし、2010-07-15現在の最新のソースコード(Ver1.1.0)に対しては付録のパッチではエラーが出てしまうので、
自分が修正したパッチファイルをこのページにUPした。(下のリンクを参照)
修正方法は以下の通り、
# cd pt1-38a793ac3d9d/recpt1 ※注意:解凍後のディレクトリはバージョンによって変わる。
# cat ~/recpt1_2010_07_15.diff | patch -p 1
コンパイル、インストールを行う。
# ./autogen.sh
# ./configure --enable-b25
--enable-b25を指定しておくとaribb25のライブラリがリンクされ、recpt1のコマンドだけで暗号解除が可能になる。
# make
# make install
install -m 755 recpt1 recpt1ctl checksignal grscan /usr/local/bin
というメッセージが表示されれば完了。
ドライバのインストール
続いてドライバのインストールを行う。
# cd ../driver
# make
# make install
一旦シャットダウンして、PT2をPCIスロットに取り付けた後、再起動する。
再起動後、デバイスが作成されているかを確認
再起動後、デバイスが作成されているかを確認
$ ls -l /dev/pt1*
crw-rw-rw- 1 root root 253, 0 7月 15 21:22 /dev/pt1video0
crw-rw-rw- 1 root root 253, 1 7月 15 21:22 /dev/pt1video1
crw-rw-rw- 1 root root 253, 2 7月 15 21:22 /dev/pt1video2
crw-rw-rw- 1 root root 253, 3 7月 15 21:22 /dev/pt1video3
合計4チャンネル分が正常に作成されていれば問題無し。
ちなみに、これはudevによって作成されている。ルールファイルは”/etc/udev/rules.d/99-pt1.rules”。
なお(rulesに"KERNEL"と記載されているように)本ドライバはカーネル・モジュールなので、
カーネルのバージョンアップが行われた場合は、
ドライバの再インストールが必要になる。
(※カーネル・モジュールは、カーネルのバージョンごとに/lib/modules/2.6.xx.x/kernel/drivers/以下に格納される。)
ちなみに、これはudevによって作成されている。ルールファイルは”/etc/udev/rules.d/99-pt1.rules”。
なお(rulesに"KERNEL"と記載されているように)本ドライバはカーネル・モジュールなので、
カーネルのバージョンアップが行われた場合は、
ドライバの再インストールが必要になる。
(※カーネル・モジュールは、カーネルのバージョンごとに/lib/modules/2.6.xx.x/kernel/drivers/以下に格納される。)
録画テスト
自分の住んでいる場所では地デジがCATVによってパススルー方式で配信されている。
テレビの設定を見るとNHK総合は"C48"というチャンネルで設定されていたので、
このチャンネルに合わせて録画テストを行ってみる。
テレビの設定を見るとNHK総合は"C48"というチャンネルで設定されていたので、
このチャンネルに合わせて録画テストを行ってみる。
ちなみに、日経Linuxの記事ではrecpt1 --strip -b25 〜 となっているが
最新版のrecpt1ではオプションの与え方が変わっているので注意。
例えば、記事では"recpt1 --strip -b25 〜"だが、最新版では"recpt1 --b25 --strip 〜"が正しい。
オプション詳細については"recpt1 --help"を参照のこと。
最新版のrecpt1ではオプションの与え方が変わっているので注意。
例えば、記事では"recpt1 --strip -b25 〜"だが、最新版では"recpt1 --b25 --strip 〜"が正しい。
オプション詳細については"recpt1 --help"を参照のこと。
$ cd /tmp
$ recpt1 --b25 --strip C48 5 test.ts
b25の暗号解除を有効にして、C48のチャンネルで5秒間録画し、test.tsというファイルに書き出す。
using B25...
enable B25 strip
pid = 22121
C/N = 31.347743dB
Recording...
Recorded 5sec
などと表示され、カレントディレクトリに作成されたtest.tsというファイルを
VLCなどで開いてみて正常に再生できたらOK。
VLCなどで開いてみて正常に再生できたらOK。
- 参考