chan-toru(ブラウザからnasne予約可能)が7月で終了するので、ラズパイ4のメモリ8GBを買って、録画サーバにしてみた
必要なハードウェアは、以下2点(3年前にamazonで買って放置していた!)
1, USB接続のTVチューナー(PLEX USB接続ドングル型地上デジタルTVチューナー PX-S1UD V2.0)
2, B-CAS カードリーダー(ICカードリーダ・ライタ IDBridge CT30)
B-CASカード本体は、テレビに刺さってたのを利用。PS4経由でnasneでしか見ないから不要なんだよね。
SDカードが128GBあるから、とりあえずHDDとかは後回しにしよう。
必要なソフトウェアは
1, TVチューナー(PX-S1UD)のドライバとか
2, B-CAS カードリーダー(ICカードリーダ・ライタ IDBridge CT30)のドライバとか
3, Mirakurun(TVチューナー操作&動画ストリーミング)
4, EPGStation(番組表取得・画像変換ts->mp4・録画サーバ)
参考URL
1, TVチューナー(PX-S1UD)のドライバのダウンロード&インストール
1 2 3 4 5 6 7 8 9 10 |
# ドライバをダウンロード 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 # /lib/firmwareにコピー sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware # 再起動 sudo reboot # PX-S1UD Digital TV Tuner が表示されればOK! USBにチューナーが刺さった状態じゃないとダメ dmesg | grep PX-S1UD |
2, B-CAS カードリーダー(ICカードリーダ・ライタ IDBridge CT30)のドライバのダウンロード&インストール
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# 色々とインストールする sudo apt install -y build-essential pcscd libpcsclite-dev libccid pcsc-tools # Japanese Chijou Digital B-CAS Card (pay TV) とかでればB-CAS カードを読み取りOK! sudo pcsc_scan # B-CAS デコード用のライブラリ(stz2012/libarib25)をビルド&インストール sudo apt install -y cmake g++ sudo apt-get install -y git git clone https://github.com/stz2012/libarib25 cd libarib25 cmake . make sudo make install # 録画用コマンドrecdvbをインストール sudo apt install -y automake wget http://www13.plala.or.jp/sat/recdvb/recdvb-1.3.2.tgz tar xvzf recdvb-1.3.2.tgz cd recdvb-1.3.2 ./autogen.sh ./configure --enable-b25 EXTRA_SID=1 make sudo make install |
3, この時点でTVチューナーから録画して、動画ファイルが作成できるはず
1 2 3 4 5 6 7 8 9 10 |
# 大体20台にメインが割り当てられていた。 # 21 フジテレビ # 22 TBS # 23 テレビ東京 # 24 テレビ朝日 # 25 日テレ # 26 NHKEテレ # 27 NHK総合 recdvb --b25 --strip --dev 0 27 10 test.m2ts |
4, ブラウザから表示・操作ができるようにMirakurun と EPGStationをインストール
この2つは、Node.js製なので、node.jsをインストール
1 2 3 4 5 6 7 8 |
sudo apt install -y nodejs npm sudo npm install n -g sudo n stable # Mirakurun本体をインストール sudo npm install mirakurun -g --unsafe --production # こっちじゃないとエラーが出るときがある # sudo npm install mirakurun -g --unsafe-perm --production |
5, Mirakurunからチューナー操作できるように、設定を行う
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# PX-S1UDをエディタで、先頭にでも追加 sudo mirakurun config tuners - name: PX-S1UD types: - GR command: recdvb --b25 --strip --dev 0 <channel> - - # mirakurunで再起動で設定ファイルを読み込ませる。 sudo mirakurun restart # API使って各チャンネルスキャン(10〜15分くらい?) # 13chから52chの40ch分をスキャンしてた。 curl -X PUT "http://localhost:40772/api/config/channels/scan" # またmirakurunで再起動で設定ファイルを読み込ませる。 sudo mirakurun restart |
この時点で、VLCのメニューからメディア→ネットワークストリームを開くと、リアルタイム放送が再生できる。
http://raspberrypi.local:40772/api/channels/GR/27/stream
6, EPGStation(番組表&録画ツール)をインストール
https://github.com/l3tnun/EPGStation/blob/master/doc/linux-setup.md
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# FFmpeg(動画変換ツール)をインストール sudo apt install -y ffmpeg # EPGStation本体をインストール git clone https://github.com/l3tnun/EPGStation.git cd EPGStation # この2つは時間かかる。10分足らず? npm all-install npm run build # 設定ファイルを作成(v2はjsonからyml形式に変わった) cp config/config.yml.template config/config.yml cp config/operatorLogConfig.sample.yml config/operatorLogConfig.yml cp config/epgUpdaterLogConfig.sample.yml config/epgUpdaterLogConfig.yml cp config/serviceLogConfig.sample.yml config/serviceLogConfig.yml # 設定ファイルを作成(v1) cp config/config.sample.json config/config.json cp config/operatorLogConfig.sample.json config/operatorLogConfig.json cp config/serviceLogConfig.sample.json config/serviceLogConfig.json # ffmpegのパスが違うので設定ファイルを変更する which ffmpeg /usr/bin/ffmpeg # 各パスの/localが不要なので削除 sudo vi config/config.yml "ffmpeg": "/usr/local/bin/ffmpeg", "ffprobe": "/usr/local/bin/ffprobe", # EPGStation を自動起動させる # プロセスマネージャーに pm2 を使うのでインストールする必要がある. sudo npm install pm2 -g # セットアップ(ユーザ名を入れる) sudo pm2 startup -u raspi --hp ~raspi # 登録・保存 pm2 start ~/EPGStation/dist/index.js --name "epgstation" pm2 save |
http://raspberrypi.local:8888/ をブラウザでアクセスすれば、チューナー&B-CASで受信した番組表(EPG)が表示され、録画もできる(全番組表を受信するのに、ちょっと時間がかかってた)
Material Design Lite(google製のライブラリ)ってのを使っているらしい。
とりあえず、録画ファイルはSDカード保存(128GBあるので)
真面目に保存するなら、NASNEのshareフォルダをマウントして保存かな。
7, タブレットで外へ持ち出す
同じwifiにあるkindle fire hd 10のchromeからアクセス。
録画済の番組が表示される。地デジはTSファイル(Transport Stream)のままだと1秒で10MBくらい必要なので、ラズパイがハードウェアエンコードできるH264形式に変換する(デフォの動作)
録画が終わってTSファイルが生成されてから、H264エンコードが始まる
だいたい、1/20くらいに圧縮されて、たいていの環境で再生できるのがグッドだ!
※設定を変えれば、録画と同時にエンコードも出来るらしい・・・。
問題は、元のTS削除チェックしてH264エンコードに失敗すると、録画番組が見れなくなった!
う~ん、とりあえずTSは保存しておいた方がいいのかな?
EPGStation指定のADM(Advanced Download Manager)は、1ファイルを5分割してダウンロードしてくれるので高速ダウンロードが可能!
nasneの持ち出しと比べると、何分もかかるところが1分くらいで完了できるのが良いね!
VLCで再生。画面の右半分が音量、左半分が明度、左右で早送り・巻き戻しと、タッチ操作に最適化されている。これでCM飛ばしが出来たら最高なのだが・・・。