« GAMEBOYの中身をRaspberry Pi Zero+マルチエミュレータに替えたスーパーGAMEBOY”GAMEBOY Zero” | トップページ | Facebook上に投稿された写真を文章化して読み上げてくれる機能を開発 »

2016年4月11日 (月)

Raspberry Pi + PX-S1UD V2.0で地デジ予約録画環境(TS抜き)

以前Raspberry Pi+KTV-FSUSB2で予約可能なTS抜き専用録画機に!記事で”KTV-FSUSB2”とRaspberry Piを組み合わせた録画環境を構築したんですが。

このKTV-FSUSB2ってやつはたった一つだけ問題があったため、結局メインPCの録画環境に頼らざるを得ません。

それは「テレビ愛知」が受信できないという問題。

ブースター買ったりして改善を試みましたが駄目でした。

てことで、もう少しましであろうと思われるチューナー”PX-S1UD V2.0”を使ってみることにしました。

Img_0520

Amazonで4,000円超。別途、B-CAS用カードリーダーが必要。

Img_0521

うちにはPT2の時に買った”SCR-3320”があるので、これを使います。

チューナー本体はこんな形。

Img_0522

これでカードリーダー不要ならコンパクトでいいんですけど、まあ、日本ではBカスがないと使えませんからねぇ。

Img_0523

この両者をRaspberry Pi B+に挿して、TS抜き録画環境を構築いたします。

ところでこのB+にはなんだかブレッドボードが横付けされてますが・・・今回のネタにはまったく関係ありません。いろいろ使ってるんです、このB+。

で、まずはRaspberry PiでPX-S1UDを使うための設定。以下のサイトを参考にしました。

Raspberry Pi録画サーバをつくる(2) – キリッとガジェット

まずは公式サイトからファームウェアをゲット。

wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip
unzip PX-S1UD_driver_Ver.1.0.1.zip
sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/

続いて、必要なソフトをインストール。まず

sudo apt-get update

をやってから

sudo apt-get install build-essential git
sudo apt-get install pcscd libpcsclite-dev libccid pcsc-tools

ちゃんとチューナー、カードリーダーが認識されているかをチェック。

pcsc_scan

#Japanese Chijou Digital B-CAS Card」と最後の方に出てくればとりあえずOK、なようです。

続いてarib25というスクランブル解除用のコードをインストール(地デジでは不要?よくわからないのでとりあえず入れました)。

sudo apt-get install pkg-config
wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
unzip c44e16dbb0e2.zip
cd pt1-c44e16dbb0e2/arib25
make
sudo make install

録画に必要な”recdvb”をインストールします。

sudo apt-get install autoconf
wget http://www13.plala.or.jp/sat/recdvb/recdvb-1.2.0.tgz
tar xvzf recdvb-1.2.0.tgz
cd recdvb-1.2.0
./autogen.sh
./configure --enable -b25
make
sudo make install

ここで録画テスト。

recdvb --b25 --strip --sid hd 23 10 test.ts

ここで”23”のところはチャンネルID、”10”は録画時間(秒)。ちなみに私のところで”23”とはテレビ愛知を示します。

Raspts01

上のように無事、Raspberry Piでもテレビ愛知が受信・録画できました。さすがはPLEX。

つづいて、予約録画環境の構築です。

一度は通った道ですが、どういうわけか以前構築したepgrecが使い物になりませんでした。

epgrecを構成するソフトの一つ、epgdumpを使って番組情報が取得できないんです。。。

ffmgepをセルフビルドしたりいろいろと大変だったんですが、このepgdump問題を解消できず、epgrecの導入を断念。

てことで”chinachu”というのを入れることにしました。こちらは成功しました。

実は番組情報取得に同じepgdumpを使ってるんですが・・・こちらは問題なく動作。なんで動くんだろう?

参考にしたのはこちらのサイト。

Raspberry Pi録画サーバをつくる(3) Chinachuインストール – キリッとガジェット

やり方ですが、まず必要なものをあらかじめインストールし、

sudo apt-get install build-essential curl git-core libssl-dev yasm libtool autoconf libboost-all-dev

chinachuのコードをダウンロードします。

git clone git://github.com/kanreisa/Chinachu.git /home/pi/chinachu

ディレクトリに移動し、

cd /home/pi/chinachu

インストーラを起動

./chinachu installer

すると12くらいまで数字が並んだメニューが出てきますが、ここでは1) Auto (full)  を選択。

上の参考サイトではNode.jsがうまく入らなかったようですが、私がやったときは問題なくインストールが終了。

インストールが終わったら、初期設定ファイルを作ります。

cp config.sample.json config.json
vi config.json

この”config.json”の中身を編集します。

書き換えるのは「”tuners”:」と「”channels”:」の2か所のみ。

"tuners": [
{
"name"        : "PX-S1UD",
"isScrambling": false,
"types"       : [ "GR" ],
"command"     : "recdvb --dev 0 --b25 --strip --sid <sid> <channel> - -"
}
],

"channels": [
{ "type": "GR", "channel": "20" },
{ "type": "GR", "channel": "12" },
{ "type": "GR", "channel": "13" },
{ "type": "GR", "channel": "19" },
{ "type": "GR", "channel": "21" },
{ "type": "GR", "channel": "22" },
{ "type": "GR", "channel": "23" }
]

上のチャンネルは愛知県の瀬戸タワーのものです。自分の地域のチャンネルIDはこちらでチェック。

地上デジタル放送 チャンネル一覧表 - マスプロ電工|MASPRO

外につなぐのでなければ

"wuiUsers": [
"akari:bakuhatsu"
],

の項目をごっそり消しておいてもいいでしょう。

これを残しておくと、つなぐたびにユーザーIDとパスワードをきかれます。

空のrules.jsonファイルを生成。

echo [] > rules.json

これ、予約情報が入るファイルだそうです。初期は空にしておくのがよろしいようで。

ここで動作チェック。

./chinachu service wui execute

エラーもなく立ち上がればOK。PCなどからブラウザのURL欄に

http://(Raspberry PiのIPアドレス):10772

とし、とりあえず接続できれば成功です。

が、私は中身を書き換えると、どういうわけかエラーが出てきて動きません

エラーもどこが問題なのかを返さないため、全く原因不明。

ということで、ここの力を借りてエラーの場所を特定しました。

Jsonチェッカー-WebTool Morinkey

jsonの構文をチェックしてくれるサイト。ここにconfig.jsonの中身をごっそり張り付けて”チェック!”をクリック。

私の場合、エラーの原因は一番最後の項目の後ろに”,(カンマ)”が余分についてることでした。わかってみると、実にばかばかしいエラーですね。

動作が確認できたら、以下のように自動起動するよう設定します。

./chinachu service operator initscript > /tmp/chinachu-operator
./chinachu service wui initscript > /tmp/chinachu-wui
sudo chown root:root /tmp/chinachu-operator /tmp/chinachu-wui
sudo chmod +x /tmp/chinachu-operator /tmp/chinachu-wui
sudo mv /tmp/chinachu-operator /tmp/chinachu-wui /etc/init.d/
sudo insserv chinachu-operator
sudo insserv chinachu-wui

あとは

sudo service chinachu-operator start
sudo service chinachu-wui start

でサービスを起動。rebootでも行けます。

EPG情報を更新し、番組表を手動で作るには

/home/pi/chinachu/chinachu update -f

というコマンドを実行。

しばらくすると、番組表ができているはず・・・です。

ここでPCのブラウザからRaspberry Piにアクセスし”番組表”というのをクリックすると

Chinachu01

キターーーーーーー!!!!

番組表ができてました。

試しに番組予約してチェックしてみます。

Chinachu02

KTV-FSUSB2出は録画できなかったテレビ愛知の番組でトライ。

手動では録画できましたが、果たして予約録画できるのか!?

Chinachu02

出来た!!!

完璧です。Raspberry Piでもテレビ愛知が安定して録画できる環境が構築できました。

これで、Raspberry PiでのTS抜き録画環境が完成です。

もっとも、今Raspberry Pi B+に突っ込んでるSDカードは8GBのため、もうちょっと容量の大きなやつにしないと番組録画ができません。

てことで、一度このあたりの記事を参考にバックアップして、大容量のカードに乗換える予定。

録画サーバーとして、今後活躍してくれそうですね。

PLEX USB接続ドングル型地上デジタルTVチューナー PX-S1UD V2.0

Raspberry Pi3 Model B (Element14)

« GAMEBOYの中身をRaspberry Pi Zero+マルチエミュレータに替えたスーパーGAMEBOY”GAMEBOY Zero” | トップページ | Facebook上に投稿された写真を文章化して読み上げてくれる機能を開発 »

TS抜き関連」カテゴリの記事

コメント

recdvb --b25 --strip --sid hd 23 10 test.ts
では、EPG情報(EIT)が含まれないためでは?

# 実は番組情報取得に同じepgdumpを使ってるんですが・・・こちらは問題なく動作。なんで動くんだろう?

./configure --enable -b25 --> ./configure --enable-b25

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Raspberry Pi + PX-S1UD V2.0で地デジ予約録画環境(TS抜き):

« GAMEBOYの中身をRaspberry Pi Zero+マルチエミュレータに替えたスーパーGAMEBOY”GAMEBOY Zero” | トップページ | Facebook上に投稿された写真を文章化して読み上げてくれる機能を開発 »

無料ブログはココログ

スポンサード リンク

ブログ村