作業開始:2016/05/21 掲載:2016/06/10 追記:2017/01/17
録画には「recdvb」を使う。multi2復号機能を組み込むため「libalib25」も必要。
いずれにせよ、ソースからのコンパイル&インストールとなるので、こちらのとおりまずは開発環境を調えておく。
# apt-get install autoconf # apt-get install build-essential # apt-get install curl # apt-get install git-core # apt-get install libssl-dev # apt-get install libtool # apt-get install libboost-all-dev # apt-get install pkg-config # apt-get install yasm # apt-get install linux-headers-`uname -r` |
この辺の「何をするのに何が必要か」は、初心者が本当に途方に暮れるところだと思う。とりあえずは先達を真似るしかない。
multi2復号機能のライブラリ「libarib25」をインストールする。
# exit $ mkdir ~/git $ cd ~/git $ git clone https://github.com/stz2012/libarib25.git $ cd ./libarib25 $ make $ su # make install # /sbin/ldconfig # exit |
録画ツールをビルドするときにこのライブラリ(と、SCR用ライブラリlibpcsclite-dev。すでに導入済み)をリンクして、復号機能を持たせるわけだ。
別のハードウェアで再挑戦中に判明したのだが、
現在 libarib25 はビルドシステムに cmake を採用していて、上述の手順ではビルドできない。
僕の環境では以下の手順でできた。
まず事前に、cmakeをインストールしておく必要がある。
# apt-get install cmake |
でいけた。引き続き
# exit $ mkdir ~/git $ cd ~/git $ git clone https://github.com/stz2012/libarib25.git $ cd ./libarib25/cmake $ cmake .. $ make $ su # make install # /sbin/ldconfig # exit |
こんなかんじ。
LinuxでのTV録画ツール「recpt1」(定番だそうな)をPX−S1UD等に対応させた「recdvb」が公開されているので、使わせていただく。
現時点(2016/05/26)での最新版は「recdvb-1.3.1」。
$ cd ~ $ wget http://www13.plala.or.jp/sat/recdvb/recdvb-1.3.1.tgz $ tar xvzf recdvb-1.3.1.tgz $ cd recdvb-1.3.1 $ ./autogen.sh $ ./configure --enable-b25 $ make $ su # make install |
無事インストールできたら、試しに何か録画してみる。カードリーダにB−CASカードを差して
# exit $ recdvb --b25 --strip 37 120 /TvRec/test.ts using B25... |
以下、各コマンドパラメータの意味。
別のパソコンから共有フォルダを確認。
長さ2分のメディアファイルが確かにできている。再生してみると
妙に小さいな。ワンセグだこりゃ。
ならば、とパラメータを追加(赤字の部分)してみる。
$ recdvb --b25 --strip --sid hd 37 120 /TvRec/testhd.tsusing B25... |
sid(ServiceID)を指定。今度はどうだ。
余分なデータストリームがそぎ落とされているせいか、ファイルサイズが小さい。
今度はOk。なおモザイクは当方でかけたものである。念のため。
ここまでは順調だなあ。
ちなみに録画中のCPU負荷だが、録画中に別コンソールを起動しtopコマンドで見てみた。
$ top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND |
赤字のとおり、recdvb自体のCPU使用率は20%台半ばといったところ。ちなみにWindowsXP+rectestの場合、
70%超えだったから、負荷が約1/3に軽くなったワケだ。
単に好奇心からやってみた。
$ recdvb --b25 --strip 37 120 /TvRec/test.tsusing B25... |
こうなった。電波が弱くて受信できない状況と、見た目は全く同じ。もちろん実際に電波が弱いわけではない。
ちゃんとファームウェアを置いて再起動すると、正常に録画できるようになる。
ファームウェアがちゃんとロードされているかどうかを知るには、dmesgが使える。
$ dmesg|grep firmwareintel_rng: don't want to disable this in firmware setup, and if ←ロードされてる。 |