PT2のセットアップ

テレビの録画の為に24時間PCを起動していたのですが、そのPCは所謂古い大馬力タイプのマシンなのでアイドル状態でも消費電力が90〜100W程度と馬鹿になりません。
同じくNASとして24時間動かしているFreeBSDのマシンは40W程度ですが、こいつは私が何かする時以外は基本的に仕事をしていません。もったいない話です。
そこでNASにPT2を繋げて録画もやらせて消費電力の大きいマシンは退役させるということになりました。

PT2を使える状態にする

インストールするports
multimedia/ab25
multimedia/ptx-kmod

もしかしたら下のptx-kmodを入れたらab25も一緒に入るかも。
ICカードドライバ関係のportsも自動的に入れてくれます。ありがたや。

以下2行を/etc/rc.confに追記する

pcscd_enable="YES"
ptx_enable="YES"

次の2つのファイルを実行して起動する

# /usr/local/etc/rc.d/pcscd start
# /usr/local/etc/rc.d/ptx start

動作確認

# /usr/local/bin/recptx.pl --b25 --strip 27 60 /hoge-path/test.ts

27の部分はチャンネル番号を指定 (東京ではNHK総合)
60の部分は秒で録画時間を指定 - (ハイフン)で無期限
/hoge-path/test.tsの部分は出力先なので任意で

出力されたファイルをVLCなどの動画プレイヤーで再生できれば取り敢えずはO.K.

他の方のページを見るとICカードドライバを入れ直したり設定ファイルを書いたり色々苦労されているようですが、NTT Comのをわざわざ用意するまでもなく何年か前にあきばおーで適当に選んだ安物の無名なICカードリーダーでもそのまま動いています。

UDPストリーミング対応recpt1を作る

上のreptx.plはsid指定時の動作がおかしいのとファイルに落とす以外の機能がないので、以下tosさんのFreeBSDで地デジビデオサーバのページを参考にしてrecpt1を作る。

まるも製作所さんのARIB STD-B25 仕様確認テストプログラム ver. 0.2.4の記事からARIB STD-B25 仕様確認テストプログラム ver. 0.2.4を貰ってくる。
ちなみに先にportsでab25を入れたので、拡張子が違うだけでたぶん中身が同じものが/usr/ports/distfilesの中にある。

貰って来たファイルを展開する

# lha -x arib_std_b25-0.2.4.lzh (LHaが無ければportsで archivers/lha をインストール)
既に入れたptx-kmod portsの作業ディレクトリからパッチを取ってくる。
# cp /usr/ports/multimedia/ptx-kmod/work/ptx-20111212/etc/arib_std_b25-0.2.4.patch ./
# patch -p1 < arib_std_b25-0.2.4.patch
# cd src
# make

一旦何処か違う作業ディレクトリを作ってそこに移動

autoconf, automakeが無ければportsで devel/autoconf devel/automake をインストール

PT1関係ファイル置き場からhttpサーバー版RC4recpt1 (up0298.gz)を貰ってくる。

# tar -zxvf up0298.gz
# cd pt1-http-rc4
# cd recpt1
# ./autogen.sh
# ./configure --enable-25

参考にさせて貰ってるtosさんのページからrecpt1.diffを貰ってくる。

# patch -p1 	< recpt1.diff

先に作ったarib25のsrcフォルダをarib25という名前でこの作業フォルダにコピる。

# cp -R /arib25-path/src ./arib25
# cd arib25
# ar -crv libarib_std_b25.a  arib_std_b25.o b_cas_card.o multi2.o ts_section_parser.o
# cd ..; gmake (gmakeが無ければportsで devel/gmake をインストール)
# cp recpt1 /usr/local/bin/
# cp checksignal /usr/local/bin/
# cp recpt1ctl /usr/local/bin/
# cp tssplitter_lite /usr/local/bin/

動作確認

# recpt1 --b25 --strip 27 60 /hoge-path/test.ts

(上の例では60秒ですが動作の安定度も見たいので1時間から3時間程度は録りたいところです)

ただし、チャンネル番号を指定するだけだと「週刊漫画買ってきて」というくらいアバウトなリクエストに対して「少年ジャンプで良かったです よね?」という気を利かせてた対応をしているので欲しいものと違う場合がある。できれば最初から「少年ジャンプ買ってきて」というように正しく指定してあげる方が良い。

# recpt1 --b25 --sid 1024 27 60 /hoge-path/test.ts

おそらく前と同じくハイビジョンのNHK総合1が録れています。

# recpt1 --b25 --sid 1025 27 60 /hoge-path/test.ts

おそらくハイビジョンのNHK総合2が録れています。

# recpt1  --sid 1408 27 60 /hoge-path/test.ts
おそらくワンセグのNHK携帯Gが録れています。
ワンセグは--b25要らないです。(有っても動作同じですが)
--sidを指定時に--stripを付けると音声が無くなるので--strip無しで。

住んでる地域の地デジのチャンネル番号が解らない場合はマスプロ電工 お客様相談窓口 地上デジタル放送 チャンネル一覧表等で確認します。

見たいチャンネルのSIDが解らない場合は --sid 1000 などデタラメな数値を指定して実行するとAvailable sid = 1024 1025 1408 65520の様な表示が出るのでそのチャンネルで使えるSIDが解ります。各SIDの内訳までは解りません。

東京のチャンネル番号, TSID, SIDについては、YNET あやしい備忘録 地上波放送一覧 東京さんが綺麗にまとめられています。

参考リンク

この記事はFreeBSD8.2用に2012年1月〜3月に書きました。バージョンや環境によって微妙に違う場合がありますのでご了承下さい。