TV サーバーが必要な理由

日本は地デジテレビのチャンネルが多様で、画質もいいです。韓国では、ケーブルや光テレビがほとんどの割合を占めているので違いがあります。

地デジ、BS衛星、CS衛星で大きく三つに分けられていて、有線テレビと光テレビの割合は低い方だと知れれています。

だから、話題の新作アニメは各地の地デジチャンネルの確保に気を付けているんでしょう。

見るためには夜更かしが必要

しかし、韓国でも紹介される日本の新作アニメ番組は後で分かったのですが、ずいぶん遅い時間に放送していることでした。

つまり、昼間と夕方にはオタクっぽいものはできませんということです。

ゴールデンタイムの番組はニュース、エンタテインメント、ショッピングぐらいですね。

番組表を見ると新作アニメは一回放送のみで、新作の再放送は見たことがありません。

日本人の間では、テレビやブルーレイプレイヤーを使って予約録画をしていると聞いたことがあります。

普通の録画機能には制限がある

だとすると、その録画さえできればオッケーですが、それには制限があります。

それはファイルの伝送の自由を縛ることです。一緒のテレビでないと観られないように仕掛けられています。

TS抜きと呼ばれている、MPEGデータのみを抽出できれば、パソコンでは自分の好きなプレイヤーで、携帯ではエンコーディングして見たり、最新スマホではアプリだけで視聴ができるようになります。

どこでもオンエアー

Chinachuサーバーはウェブのサービスを提供しているため、交換するクライアントやブラウザーで接続して視聴できます。

チューナー一つに同時にチャンネル一つだけの受信ができるため、独占関係に注意が必要です。詳しくは後述します。

違法行為に注意

アニメの番組の始まりに現れるインターネット無断転送に関する警告をお目にしたなら、こうして録画したものを配信してはいけないことがわかります。

普通のPCではダメですか?

実は、私たちがこれから使うソフトウェアはオープンソースでリナックス系で問題なく起動します。つまり、皆様のパソコンでもできます。

しかし、次のような理由で別のデバイスをお勧めします。

  • 電源をつけっぱなしのまま予約録画に使うには電気代が気になります。
  • ウィンドウズのユーザーはマルチブートが必要になり、面倒です。
    • Windows 10のWSL BashでUbuntuの起動もできますが、USBデバイスとの通信ができないため、チューナーとカードの認識ができません。
    • Opera Virtual PCの無料バージョンにプラスパックをインストールすることでUSBの認識ができますが、リブートの時にやり直す必要と、ランダムでつながらない時もあるので、使えないくらいです。

お揃いもの

PCの役割:Raspberry Pi 3+ Model B

ラズベリーパイの起動にはSDカードの用意も忘れてはいけません。

すべてがそろっているスターターパッケージの比較で便利に用意できます。

ただ、OSは自分でインストールが必要になります。

USB地デジTVチューナー

PX-S1UDというデバイスは値段も抑えられるし、リナックスのドライバーもあるので、よく使われているようです。

幅広く使われるものが信用もできるでしょう。

アンテナの接続も忘れないでしておきます。

ICカードリーダー

SCR3310

ICカードリーダーは下のB-CASカードを読み込めるツールです。

B-CASカード

B-CASカードはスクランブル(暗号化)されている日本の番組シグナルを解釈するため必須のものです。

手にするにはハードルが高いです。元々、チューナーと一緒に手に入れるのが普通ですが、最近はないときもあり、何の理由もなく抜かれたりもします。

放送協会に頼むと3千円ほどかかります。

アマゾンで中古で500円で買うのが一番かと思います。

赤色と青色に分けられます。

  • 赤:多機能。衛星放送にも対応しています。
  • 青:地デジのみ対応しています。

500GB以上級のハードディスク

録画したTSファイルは圧縮されていない、リアルタイムのコンテンツのほぼそのまま入っています。ビットレートと呼ばれている秒単位で容量が積み重なります。

FullHD 1080pの受信におよそ15Mbps1なので、6ギガバイトするのは普通です。

十分な容量を用意して、時々エンコーディングで動画のサイズを圧縮するとさらに多く収納できます。

スタート

Raspberry OS インストール

NOOBS OS インストールで十分です。詳しくはリンクでどうぞ。

Piでネットにつながることを確認して、SSHか画面のBashコンソールから始めます。

事前準備

では、上のUSBデバイスは全部、ラズベリーパイに繋げます。

下のボックスの内容はbashにタイプするコマンドです。

필요한 것들
sudo apt-get install -y nano samba ntp wget curl git make cmake zip
sudo apt-get install -y pcscd libpcsclite1 libpcsclite-dev libccid pcsc-tools
sudo apt-get install -y autoconf build-essential git-core libssl-dev libtool libboost-all-dev pkg-config yasm pkg-config

インストール

PX-S1UD_driver_Ver.1.0.1.zipのバックアップ

チューナードライバーインストール
mkdir ~/PX-S1UD
cd ~/PX-S1UD
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 pcsc_scan

ここでJapanese Chijou Digital B-CAS Cardという文句を確認します。

c44e16dbb0e2.zipのバックアップ

arib25ライブラリー
sudo su –
mkdir ~/tmp
cd ~/tmp
wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
unzip c44e16dbb0e2.zip
cd pt1-c44e16dbb0e2/arib25
make clean && make
make install

arib25はB-CASのカード標準を読み取れるライブラリーに推測されます。

recdvb-1.3.1.tgzのバックアップ

recdvb
cd ~/
mkdir ~/recdvb
cd ~/recdvb
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
make install
chinachuインストールのためのnpm n構築
apt-get install -y nodejs npm
npm cache clean
npm install n -g
n 6.10.3  n 8.x
apt-get purge -y nodejs npm
apt-get -y autoremove

現在はchinachuのバージョンアップにより、npm 8バージョンが必要です。エラーを見てバージョンの範囲に合わせましょう。

nodeのバージョン確認
node -v

バージョンの表示が無事にできたら成功です。

Mirakurunのインストール

Mirakurunはメーカーのドライバによりチューナーをコントロールするソフトです。

mirakurunインストール
sudo npm install pm2 -g
sudo npm install mirakurun -g –unsafe –production
sudo npm install rivarun -g
sudo npm install arib-b25-stream-test -g –unsafe
mirakurun動作確認
ps ax | grep Mirakurun

数字でPIDが表示出来たらオッケーです。

Tuner設定
sudo nano /usr/local/etc/mirakurun/tuners.yml

このファイルの中身に次の内容を貼ります。

tuners.yml
– name: PX-S1UD-1
types:
– GR
command: recdvb –b25 –dev 0 – –

– name: PX-S1UD-2
types:
– GR
command: recdvb –b25 –dev 1 – –

持っているチューナーが一つでも両方入れてこそ成功しました。

チャンネル設定

チャンネルのマニュアル設定がしたい方は次のファイルを編集しましょう。

Channelのマニュアル設定
sudo nano /usr/local/etc/mirakurun/channels.yml

しかし、何のチャンネルが見れるかさえわからないため、これからは自動設定を始めます。アンテナが正常につながっていて、チューナーの認識もできえている状態をまず確認しておきましょう。次のコマンドを入れて、チャンネルが見つかったのかすぐ命令の結果で現れるため、ただ見てみるだけで充分です。もし、一つのチャンネルも取れず、エラーが続いているなら、リブート後チューナーの接続を再度行ってください。

Channelのオート設定
curl -X PUT http://localhost:40772/api/config/channels/scan”

40772ポートによりMirakurunサーバーに繋げます。失敗したら、Mirakurunの再度インストールを行ってください。npmを使ってため、nodeの設定に間違いがあったら、インストールできません。

Mirakurunのリスタート
mirakurun restart

すべての変更事項の繁栄のため、リブートします。

EPGの受信に10分ほど待った後、

EPG受信確認
rivarun –list | sed ‘s/},/},\n/g’

これを入力して、EPGの内容が正しく受け取れるのか確認します。

ログのローテーション設定
sudo pm2 install pm2-logrotate
sudo nano /etc/logrotate.d/mirakurun
mirakurunのファイル
/usr/local/var/log/mirakurun.stdout.log
/usr/local/var/log/mirakurun.stderr.log
/{
daily
compress
rotate 7
missingok
notifempty
}

Chinachuインストール

Chinachuは録画のスケジュール管理、リアルタイムストリーミングができるPVRマネージャーです。

Chinachu 설치
adduser chinachu
su – chinachu
git clone git://github.com/kanreisa/Chinachu.git ~/chinachu
cd /home/chinachu/chinachu
./chinachu installer

ここでインストールの方法を聞いていますが、1をタイプいて進みます。

時間がかかるので、当分待ちます。

環境設定

録画設定ファイルの初期化と環境設定の入力
echo “[]” > rules.json
cp config.sample.json config.json
nano config.json
config.jsonでKeyに合わせてValueの修正が必要な個所 (一部)
“uid”: “chinachu”,
“recordedDir” : “./recorded/”,
“wuiOpenPort”: 10772,

uidには私たちが只今作ったアカウントの名前を入れて(ここではchinachu), recordedDirは録画したファイルがセーブされるディレクトリです。所有者の権限とハードドライブマウント機能に気を付けます。

ポートはウェブから接続可能なところを設定し、別途の認証機能がないため、外部からの接続に気を付けます。

chinachuのログローテーション

chinachuのログローテーション
exit
nano /etc/logrotate.d/chinachu
chinachu
/usr/local/var/log/chinachu-operator.stderr.log
/usr/local/var/log/chinachu-operator.stdout.log
/usr/local/var/log/chinachu-wui.stderr.log
/usr/local/var/log/chinachu-wui.stdout.log
{
weekly
compress
rotate 4
missingok
notifempty
}

動作確認

確認後最後の段階でエラーが発生しなかったらCtrl+C
su – chinachu
cd ~/chinachu
./chinachu service wui execute
デーモン設定確認
exit
cd /home/chinachu/chinachu
pm2 start processes.json

プロセスの起動後10秒くらい待った後、次のコマンドを入力します。

ステータスの表示後onlineの文句確認
pm2 status
現在設定セーブ
pm2 save

今後config.jsonの修正があったときの仕事

設定を読み込むためのchinachuの再起動方法
pm2 restart chinachu-wui chinachu-operator
ログファイルの位置
/usr/local/var/log/chinachu-operator.stderr.log
/usr/local/var/log/chinachu-operator.stdout.log
/usr/local/var/log/chinachu-wui.stderr.log
/usr/local/var/log/chinachu-wui.stdout.log
EPGのマニュアル更新
su – chinachu
cd ~/chinachu
./chinachu update
ブラウザで接続するアドレス
http://(ラズベリーパイのIPアドレス):10772/

接続してみると、ブラウザにchinachuの画面が見えます。

Footnotes

  1. メガビット。通信でよく使われている単位です。8bits = 1byteなので混乱しないように…