LoginSignup
34
45

More than 3 years have passed since last update.

Raspberry Pi でTVを見る録る!

Last updated at Posted at 2019-03-16

目的

  • TVを見る。
  • TV番組を録る。
  • 録ったTV番組を見る。
  • 同一ネットワーク内ならできるようにする。

我が家には、モニターとなるものがTVしか存在しません。(surfaceをメインPCとして使っていますが、HDMIでの映像の入力はではできません。)RaspberryPiをつなげて使ったりするとTVが見ることができません。私は、TV見たいです。そこで、RaspberryPiでTVサーバーを構築できれば同一ネットワーク内ならばSurfaceやスマートフォンを使って視聴できると考えTVサーバーを構築することにしました。

参考にしたサイト

上のサイトを参考にしました。どれも、非常によくまとまっています。ちょくちょく詰まったり私の環境と違ったので新たに行う人の参考になるように、自分でもう一度作るときにコピーするだけでできるようにするために書きます。

著作権について

最近、TV番組の著作権についての私が好きな某こわもて俳優がやっているTVCMを見ました。今回サーバーを作るにあたって少し調べてみました。

個人や家庭内で楽しむためにテレビ番組を録画することは、著作権を持っている人や会社の許可なく行うことができます。

ホットライン テレビ番組著作権 テレビ番組の著作権とは

私が録ったものは一緒に見る人がいないので私しか見ません。個人で楽しむ範囲ですから録画が許されると考えています。ですが

などは、著作権違反に当たります。十分に気を付けてください。

下準備

用意するもの(ハード)

接続

TVチューナーとカードリーダーのUSBをraspiに接続してください。また、カードリーダーにB-CASカードを挿入してください。すくなくとも、私の場合はB-CASカードとカードリーダの見た目は上下逆になりました。
(写真は PX-Q1UDなので参考)
_20190309_194712.JPG

TVチューナー

ファームウェアをダウンロードします。

sudo apt-get install -y firmware-siano

カードリーダー

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

これだけです。pcsc_scanを行っていろいろ出てきますが、最後にJapanese Chijou Digital B-CAS Card (pay TV)と出てくれば成功です。

B-CASカードのデコード用ライブラリ

暗号化された状態で地デジ放送は行われているので復号するために必要らしい。

sudo apt-get install -y cmake g++
git clone https://github.com/stz2012/libarib25.git
cmake .
make
sudo make install
cd ~

録画コマンド

sudo apt-get install -y automake autoconf
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.tgz
./autogen.sh
./configure --enable-b25
make
sudo make install
cd  ~

sudo recdvb --b25 --dev 0 --strip --sid hd 20 10 test.m2tsなどを実行して録画できるか確認してください。なぜかsudoがないとTVチューナーにアクセスできませんでした。firmwareを開けないのかと思い権限をいじってみましたが変わらなかったので何か思い当たることがある人は教えてください。

Mirakurun

チューナーサーバーをインストールします。ここを参考にしてください。

Node.js

Node.jsが必要なのでまずはNode.jsをインストールしていきます。

sudo apt-get install nodejs npm
sudo npm install -g npm # npmはアップグレードする必要があった。

Node.jsの現在のバージョンはnodejs -vで確認できる。今回はv8.11.1だった。
npmの現在のバージョンはnpm -vで確認できる。今回は6.9.0だった。

pm2

プロセスをデーモン化したりの起動を管理するソフトです。

sudo npm install pm2 -g

Mirakurunのインストール

sudo npm install mirakurun -g --unsafe --production

成功すればstatusがonlineとなります。

Mirakurunの設定

Mirakurunにチューナーの存在を教えてあげます。

sudo mirakurun config tuners
- name: PX-S1UD-1
  types:
    - GR
  command: sudo recdvb --b25 --dev 0 <channel> - -

Mirakurunでチャンネルの設定をします。

curl -X PUT "http://raspberrypi.local:40772/api/config/channels/scan"

raspberrpi.localの部分は自分のipアドレス(192.168.1.1など)やホスト名に変更してください。

これで、Mirakurunを介して地デジを見ることができます。

windowsのVLCではメディア->ネットワークストリームを開くhttp://raspberrypi.local:40772/api/channels/GR/20/streamと入力することで見ることができます。

raspberrpi.localの部分は自分のipアドレス(192.168.1.1など)やホスト名に変更してください。また、20の部分も自分が住んでいる地域のチャンネルを入れてください。

地デジを見ることができたら成功です。

Chinachu

ここを参考にいしてください。

Chinachuインストール

必要なパッケージをインストールします。

sudo apt-get install vainfo
git clone https://github.com/Chinachu/Chinachu.git
cd Chinachu/
./chinachu installer

Autoを選択してインストールしてください。数時間かかります。終了後./chinachu service wui executeで起動できるか確認してください。

自動起動の設定

  • 設定ファイルの用意
  • リンクを張る
  • pm2saveする
  • ログをとるように設定

設定ファイルを用意します。

cp config.sample.json config.json
echo [] > rules.json

config.jsonは設定を一か所だけ変える必要があります。

vim config.json

一行目の"uid"の値を自分のユーザー名に変える必要があります。

"uid": "pi",

次にnpmnodeにリンクを張ります。
まずは、nodejs -vnodejsのバージョンを確認します。今回は8.11.1でした。Chinachu/.nave/installedの下に新たなディレクトリを作りリンクを張ります。

mkdir Chinachu/.nave/installed/8.11.1
mkdir Chinachu/.nave/installed/8.11.1/bin
cd Chinachu/.nave/installed/8.11.1/bin
ln -s /usr/bin/node .
ln -s /usr/bin/npm .

次にpm2saveをします。

cd Chinachu
sudo pm2 start processes.json
sudo pm2 save

ログの設定をします。

sudo pm2 logrotate -u root
sudo vim /etc/logrotate.d/pm2-root

以下を追記

/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
rotate 4
missingok
notifempty
compress
delaycompress
copytruncate
create 0644 root staff
}

/usr/local/var/log/mirakurun.stdout.log
/usr/local/var/log/mirakurun.stderr.log
{
daily
rotate 7
missingok
notifempty
compress
delaycompress
copytruncate
create 0644 root staff
}

sudo pm2 logsを行うことでログを見ることができます。

あとは、これで、同一ネットワーク内にある場合はhttp://raspberrypi.local:20772にアクセスすることでChinachuにアクセスすることができます。(raspberrypi.localは自分のホスト名に適宜変換してください。)

34
45
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
45