Raspberry PiでPX-W3U4を使ってみる anchor.png

旅先でテレビを見たい時はノートPCとPX-W3U4/B-CASカードを一緒に持って行ってるんだけど,自宅にいる時はPX-W3U4は使っていなかった。

これではもったいないので,自宅でもRaspberry PiとPX-W3U4を使って,他のPCやスマートフォンからテレビ放送を視聴したり録画予約を出来るようにしてみることにした。

使用するRaspberry Piは,

を使用している。

家のどのPCやスマートフォンからも録画予約・録画やテレビの視聴が出来るようになって(風呂でも見れる),便利になった :)

Page Top

録画保存場所をファイルサーバーにする anchor.png

録画データは自宅のLAN上にあるファイルサーバーに保存するために,sambaを使ってマウントして保存先とする。

このファイルを保存するサーバーではDLNAサーバーが動作しているので,ここに録画ファイルを保存することにより,LAN上のDLNAクライアントで再生出来るようになるので便利になる。

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

# apt install cifs-utils

マウントポイントを作成する。

# mkdir /mnt/u3
# chmod 777 /mnt/u3

試しにマウントしてみる。

# mount -t cifs //<サーバーのIPアドレス>/public /mnt/u3 -o username=user,password=password,file_mode=0777,dir_mode=0777,iocharset=utf8,defaults

うまくマウント出来た場合は,

# umount /mnt/u3

マウントを解除する。

/etc/fstabに以下を追加する。

//<サーバーのIPアドレス>/public /mnt/u3 cifs username=user,password=password,file_mode=0777,dir_mode=0777,iocharset=utf8,noauto,x-systemd.automount 0 0

Raspberry Piを再起動して/mnt/u3にマウント出来ているか確認する。

Page Top

PX-W3U4のデバイスドライバーをインストールする anchor.png

Raspberry Pi(Rasbian)でPX-W3U4を使用できるように,デバイスドライバーを用意する。

Page Top

必要なパッケージを入れる anchor.png

必要なパッケージをパッケージマネージャーでインストールしておく。

# apt install cmake automake autoconf exfat-utils git wget python
# apt install build-essential yasm libtool
# apt install libssl-dev ffmpeg sqlite3
# apt install raspberrypi-kernel-headers
Page Top

PX-W3U4のデバイスドライバーの取得とインストール anchor.png

PLEX社からLinux用のデバイスドライバーは用意されているが,

  • ソースコードが提供されない
  • Kernelが限定されている

などの問題がある。

そこで, nns779氏のpx4_drv(chardev版非公式なLinux用ドライバー)をありがたく ;) 使用することにした。

まずデバイスドライバーのソースコードを取得する。

$ cd ~/work
$ git clone https://github.com/nns779/px4_drv.git

ソースコードは,~/work/px4_drvに取得される。

Page Top

ファームウェアの抽出とそのインストール anchor.png

この非公式なpx4_drvデバイスドライバーによりPX-W3U4にファームウェアをアップロードする必要がある。
デバイスドライバーをビルドする前に,このファームウェアを公式デバイスドライバーより抽出し所定の場所にインストールする必要がある。

まず,抽出ツールをビルドする。

$ cd ~/work/px4_drv/fwtool/
$ make

公式のWindows用のデバイスドライバー(pxw3u4v1.4.zip)をダウンロードして,そこからファームウェアを抽出する。

$ wget http://plex-net.co.jp/download/pxw3u4v1.4.zip -O pxw3u4v1.4.zip
$ unzip -oj pxwu4v1.4.zip pxw3u4v1/x64/PXW3U4.sys
$ ./fwtool PXW3U4.sys it930x-firmware.bin
fwtool for px4 drivers

Driver file (in)    : PXW3U4.sys
Firmware file (out) : it930x-firmware.bin

Driver description: PX-W3U4 BDA Ver.1.4 64bit
Firmware length: 7013 bytes
Firmware CRC32: df0bf49a
OK.

抽出したファームウェアをシステム上に配置する。

$ sudo mkdir -p /lib/firmware
$ sudo cp it930x-firmware.bin /lib/firmware/
$ cd ..
Page Top

デバイスドライバーのビルドとインストール anchor.png

px4_drvデバイスドライバーをビルドしてインストールする。

$ cd ~/work/px4_drv/driver
$ make
$ sudo make install
$ cd ..

これで,ビルドしたデバイスドライバーが/lib/module/<kernel>/miscにインストールされ,udev用のファイルが/etc/udev/rules.d/99-px4video.rulesにインストールされる。

もしkernelが更新された場合は,再度ビルドしてインストールする必要がある。

PX-W3U4を接続し,正常にデバイスドライバーがロードされているか確認する。

# lsmod | grep px
px4_drv               122880  0

と表示されていればデバイスドライバーがロードされている。

もしロードされていない場合は,

# modprobe px4_drv

として,手動でロードしてみる。

また,

# ls /dev/px*
/dev/px4video0  /dev/px4video1  /dev/px4video2  /dev/px4video3

のようにデバイスファイルが作成されている。
チューナーは,px4video0からISDB-S, ISDB-S, ISDB-T, ISDB-Tというように、SとTが2つずつ交互に割り当てられる。

Page Top

デバイスドライバーのアンインストール anchor.png

デバイスドライバーのアンインストールは以下のようにする。

$ cd ~/work/px4_drv/driver
$ sudo make uninstall
$ cd ..

ファームウェアのアンインストール。

# rm /lib/firmware/it930x-firmware.bin
Page Top

LNB電源の出力 anchor.png

PX-W3U4では,出力無しと15Vの出力のみに対応している。
デフォルトは,LNB電源の出力を行わない。

もしLNB電源の出力を行う場合は,recpt1(録画ツール)を実行する時にパラメータとして--lnb 15を追加する。

Page Top

ICカードリーダー(接触式)を用意する anchor.png

この非公式デバイスドライバーには,PX-W3U4の内蔵カードリーダーで読み書きするデバイスドライバーは用意されていない。
このためB-CASカードを読むためには,接触式ICカードリーダーを別途用意する必要がある。

一般的な接触式のICカードリーダーであれば問題なく使用できると思われる。
今回は,安価な接触式ICカードリーダーのSCR3310 v2.0を使用する。

B-CASカード以外にも,マイナンバーカードなんかにも使えるので無駄にはならない。

Page Top

SCR3310 v2.0を使用する場合 anchor.png

ICカードリーダー用のライブラリ等をインスト-ルする。

# apt install pcscd libpcsclite1 libpcsclite-dev libccid pcsc-tools

B-CASカードをカードリーダーに挿入(コネクタ部分がある面を上にする)して,USBで接続する。
B-CASカードが認識されているか確認する。

# pcsc_scan | grep B-CAS
Japanese Chijou Digital B-CAS Card (pay TV)

このように表示されればB-CASカードを認識できている。Ctrl + C でコマンドを終了させる。

Page Top

リモコン anchor.png

この非公式デバイスドライバーには,PX-W3U4のリモコン用のデバイスドライバーは用意されていない。
なので,PX-W3U4のリモコンは使用できない。

Page Top

録画用ツールをインストールする anchor.png

録画するためのツールとライブラリをインストールする。

Page Top

libarib25のインストール anchor.png

日本のデジタルテレビ放送は,暗号化されて配信されている。テレビ放送を受信してB-CASカードの情報を使って復号する必要があるのだが,このための復号化するプログラムをライブラリ化したのがlibarib25ライブラリー。

ソースコードからビルドしてインストールする。

$ cd ~/work
$ git clone https://github.com/stz2012/libarib25.git
$ cd libarib25/cmake
$ cmake ..
$ make
$ sudo make install
Page Top

録画ツールrecpt1(stz版)のインストール anchor.png

recpt1(stz版)は,テレビ放送を録画するツール。PC-W3U4でも使用できるみたいだ。

ソースコードを取得して,テレビ放送をB-CASカードを使って復号化出来るようにするため--enable-b25オプションを付けて上記のライブラリを使えるようにビルドしてインストールする。

$ cd ~/work
$ git clone https://github.com/stz2012/recpt1.git
$ cd recpt1/recpt1
$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install

以下のようにして動作テストをしてみる。

$ cd
$ recpt1 --b25 --strip 24 10 test1.ts

テレビ放送が保存出来ていれば動作は大丈夫。もしNo signalの場合,チャンネルの24を変えて実行してみる。チャンネル番号は地域ごとに違っているので,こちらから確認出来る。

Page Top

MirakurunとEPGStationのインストール anchor.png

Mirakurun(チューナー制御・テレビ放送受信・動画配信)とEPGStation(視聴・録画・動画配信・番組表)をインストールする。

素晴らしいソフトウェアを作ってくれた作者に感謝です :)

Page Top

Mirakurunのインストール anchor.png

Mirakurunは,地デジ・BS/CSチューナーを使用して,テレビ放送をネットワークに配信するためのチューナーサーバー。
これにより,ネットワークに接続した複数のクライアントでテレビ放送を視聴・録画することが出来るようになる。

RasbianにインストールされているNode.jsを確認する。

$ node -v
v10.24.0

Rasbian BusterでインストールされているNode.jsはv10.24.0になっている。とりあえずこのまま試してみた。
後日Mirakurunをバージョン3.7.1に更新しようとしたところ,v12かv14かv16のNode.jsが必要になったので,Node.jsをバージョン14.17.4に更新した。
もし未インストール(更新も)の場合,v14をインストールする。

$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt install nodejs
$ sudo apt install nodejs npm

Mirakurunや他の必要なツールをnpmを使ってインストールする。

$ sudo npm install pm2 -g
$ sudo npm install mirakurun -g --unsafe-perm --production

テレビ放送を復号化(スクランブル解除)するツールのarib-b25-stream-testと録画ツールのrivarunをインストールする。

$ sudo npm install arib-b25-stream-test -g --unsafe
$ sudo npm install rivarun -g

インストールが完了すると既にMirakurunは動作している。
以下のコマンドで,Mirakurunのstatusがonlineなら正常起動している。

$ sudo pm2 status

Mirakurunを更新する場合は,

$ sudo mirakurun stop
$ sudo npm install mirakurun -g --unsafe-perm --production

のようにする。

Mirakurunや録画ツールをアンインストールする場合は,

$ sudo mirakurun stop
$ sudo npm uninstall mirakurun -g --unsafe-perm
$ sudo npm uninstall arib-b25-stream-test -g --unsafe
$ sudo npm uninstall rivarun -g

でアンインストールできる。

次に,Mirakurunの設定を行う。

Page Top

サーバーの設定 anchor.png

/usr/local/etc/mirakurun/server.ymlを編集して,サーバーの設定を行う。

logLevel: -2
disableIPv6: true

にして,ログをなるべく少なくなるようにしてみた。IPv6は使わない。

Page Top

チューナーの設定 anchor.png

/usr/local/etc/mirakurun/tuners.ymlを編集して,チューナーの設定を行う。
以下のように設定した。

- name: PX4-S1
  types:
    - BS
    - CS
  command: recpt1 --device /dev/px4video0 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false
 
- name: PX4-S2
  types:
    - BS
    - CS
  command: recpt1 --device /dev/px4video1 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false
 
- name: PX4-T1
  types:
    - GR
  command: recpt1 --device /dev/px4video2 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false
 
- name: PX4-T2
  types:
    - GR
  command: recpt1 --device /dev/px4video3 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false

テレビ放送の復号化(スクランブル解除)は,recpt1ではなくarib-b25-stream-testで行うようにした。

Page Top

チャンネル設定 anchor.png

/usr/local/etc/mirakurun/channels.ymlを設定する。
下記のコマンドで地上波のチャンネルスキャンを実行してファイルに設定してくれる。かなり時間がかかるので注意。

$ sudo curl -X PUT "http://<RaspberryPiのIP>:40772/api/config/channels/scan"

うまく行けば,/usr/local/etc/mirakurun/channels.ymlに地上波とBS/CSのチャンネルが設定されている。(BS/CSはバージョン3.4.0から対応されている。)
もしBS/CSが登録されていない場合は,ここの情報を追加する。

- name: NHKEテレ・大阪
  type: GR
  channel: '13'
  isDisabled: false
- name: 読売テレビ
  type: GR
  channel: '14'
  isDisabled: false
- name: ABCテレビ
  type: GR
  channel: '15'
  isDisabled: false
- name: MBS毎日放送
  type: GR
  channel: '16'
- name: 関西テレビ
  type: GR
  channel: '17'
  isDisabled: false
- name: テレビ大阪
  type: GR
  channel: '18'
  isDisabled: false
- name: スカパー!ナビ
  type: GR
  channel: '20'
  isDisabled: false
- name: NHK総合・大阪
  type: GR
  channel: '24'
- name: サンテレビ
  type: GR
  channel: '26'
- name: BS朝日
  type: BS
  channel: BS01_0
  serviceId: 151
- name: BS-TBS
  type: BS
  channel: BS01_1
  serviceId: 161
- name: BSテレ東
  type: BS
  channel: BS01_2
  serviceId: 171
- name: WOWOWプライム
  type: BS
  channel: BS03_0
  serviceId: 191
- name: NHK BSプレミアム
  type: BS
  channel: BS03_1
  serviceId: 103
- name: WOWOWライブ
  type: BS
  channel: BS05_0
  serviceId: 192
- name: WOWOWシネマ
  type: BS
  channel: BS05_1
  serviceId: 193
- name: BS11
  type: BS
  channel: BS09_0
  serviceId: 211
- name: スター・チャンネル1
  type: BS
  channel: BS09_1
  serviceId: 200
- name: TwellV
  type: BS
  channel: BS09_2
  serviceId: 222
- name: BSスカパー!
  type: BS
  channel: BS11_0
  serviceId: 241
- name: 放送大学 BS1
  type: BS
  channel: BS11_1
  serviceId: 231
- name: 放送大学 BS2
  type: BS
  channel: BS11_1
  serviceId: 232
- name: BS釣りビジョン
  type: BS
  channel: BS11_2
  serviceId: 251
- name: BS日テレ
  type: BS
  channel: BS13_0
  serviceId: 141
- name: BSフジ
  type: BS
  channel: BS13_1
  serviceId: 181
- name: BSアニマックス
  type: BS
  channel: BS13_2
  serviceId: 236
- name: NHK BS1
  type: BS
  channel: BS15_0
  serviceId: 101
- name: スター・チャンネル2
  type: BS
  channel: BS15_1
  serviceId: 201
- name: スター・チャンネル3
  type: BS
  channel: BS15_1
  serviceId: 202
- name: J SPORTS 4
  type: BS
  channel: BS19_0
  serviceId: 245
- name: J SPORTS 1
  type: BS
  channel: BS19_1
  serviceId: 242
- name: J SPORTS 2
  type: BS
  channel: BS19_2
  serviceId: 243
- name: J SPORTS 3
  type: BS
  channel: BS19_3
  serviceId: 244
- name: シネフィルWOWOW
  type: BS
  channel: BS21_0
  serviceId: 252
- name: 日本映画専門チャンネル
  type: BS
  channel: BS21_1
  serviceId: 255
- name: グリーンチャンネル
  type: BS
  channel: BS21_2
  serviceId: 234
- name: ディズニー・チャンネル
  type: BS
  channel: BS23_0
  serviceId: 256
- name: BSよしもと
  type: BS
  channel: BS23_1
  isDisabled: false
  serviceId: 265
- name: BSJapanext
  type: BS
  channel: BS23_2
  isDisabled: false
  serviceId: 263
- name: BS松竹東急
  type: BS
  channel: BS23_3
  isDisabled: false
  serviceId: 260
- name: TBSチャンネル1
  type: CS
  channel: CS2
  serviceId: 296
- name: テレ朝チャンネル1
  type: CS
  channel: CS2
  serviceId: 298
- name: テレ朝チャンネル2
  type: CS
  channel: CS2
  serviceId: 299
- name: ディズニージュニア
  type: CS
  channel: CS2
  serviceId: 339
- name: スカイA
  type: CS
  channel: CS4
  serviceId: 250
- name: 時代劇専門ch
  type: CS
  channel: CS4
  serviceId: 292
- name: エンタメ~テレ
  type: CS
  channel: CS4
  serviceId: 301
- name: MTV
  type: CS
  channel: CS4
  serviceId: 323
- name: ホームドラマch
  type: CS
  channel: CS6
  serviceId: 294
- name: ミュージック・エア
  type: CS
  channel: CS6
  serviceId: 324
- name: 歌謡ポップスch
  type: CS
  channel: CS6
  serviceId: 329
- name: カートゥーン
  type: CS
  channel: CS6
  serviceId: 331
- name: ディスカバリーチャンネル
  type: CS
  channel: CS6
  serviceId: 340
- name: アニマルプラネット
  type: CS
  channel: CS6
  serviceId: 341
- name: CNNj
  type: CS
  channel: CS6
  serviceId: 354
- name: 囲碁・将棋チャンネル
  type: CS
  channel: CS6
  serviceId: 363
- name: 東映チャンネル
  type: CS
  channel: CS8
  serviceId: 218
- name: 日テレNEWS24
  type: CS
  channel: CS8
  serviceId: 349
- name: 衛星劇場
  type: CS
  channel: CS10
  serviceId: 219
- name: スポーツライブ+
  type: CS
  channel: CS10
  serviceId: 800
- name: スカチャン1
  type: CS
  channel: CS10
  serviceId: 801
- name: GAORA
  type: CS
  channel: CS12
  serviceId: 254
- name: エムオン!
  type: CS
  channel: CS12
  serviceId: 325
- name: キッズステーション
  type: CS
  channel: CS12
  serviceId: 330
- name: ナショナルジオグラフィック
  type: CS
  channel: CS12
  serviceId: 343
- name: ザ・シネマ
  type: CS
  channel: CS14
  serviceId: 227
- name: ファミリー劇場
  type: CS
  channel: CS14
  serviceId: 293
- name: スーパー!ドラマTV
  type: CS
  channel: CS14
  serviceId: 310
- name: ヒストリーチャンネル
  type: CS
  channel: CS14
  serviceId: 342
- name: SKY STAGE
  type: CS
  channel: CS16
  serviceId: 290
- name: AXN海外ドラマ
  type: CS
  channel: CS16
  serviceId: 311
- name: AXNミステリー
  type: CS
  channel: CS16
  serviceId: 316
- name: スペシャプラス
  type: CS
  channel: CS16
  serviceId: 321
- name: AT-X
  type: CS
  channel: CS16
  serviceId: 333
- name: BBCワールドニュース
  type: CS
  channel: CS16
  serviceId: 353
- name: ムービープラス
  type: CS
  channel: CS18
  serviceId: 240
- name: ゴルフネットワーク
  type: CS
  channel: CS18
  serviceId: 262
- name: チャンネル銀河
  type: CS
  channel: CS18
  serviceId: 305
- name: 女性ch/LaLa
  type: CS
  channel: CS18
  serviceId: 314
- name: フジテレビONE
  type: CS
  channel: CS20
  serviceId: 307
- name: フジテレビTWO
  type: CS
  channel: CS20
  serviceId: 308
- name: フジテレビNEXT
  type: CS
  channel: CS20
  serviceId: 309
- name: スペースシャワーTV
  type: CS
  channel: CS20
  serviceId: 322
- name: TBSチャンネル2
  type: CS
  channel: CS22
  serviceId: 297
- name: FOX
  type: CS
  channel: CS22
  serviceId: 312
- name: TBS NEWS
  type: CS
  channel: CS22
  serviceId: 351
- name: 映画ch・NECO
  type: CS
  channel: CS24
  serviceId: 223
- name: 日テレG+
  type: CS
  channel: CS24
  serviceId: 257
- name: MONDO TV
  type: CS
  channel: CS24
  serviceId: 295
- name: 日テレプラス
  type: CS
  channel: CS24
  serviceId: 300

住んでいる所が大阪なんで,↑のようになった。(BSよしもと,BSJapanext,BS松竹東急を追加した。)

/usr/local/etc/mirakurun/channels.ymlでのチャンネル設定が出来たら,Mirakurunを再起動する。

$ sudo mirakurun restart

次にVLCを使ってMirakurunで配信される動画ストリームを再生してみる。

http://<RaspberryPiのIP Address>:40772/api/channels/GR/<チャンネル番号>/stream

とか

http://<RaspberryPiのIP Address>:40772/api/channels/BS/<チャンネル名>/services/<サービスID>/stream

で,地デジやBS放送が視聴できれば正常に動作している。
チャンネル番号やサービスIDは,上記の/usr/local/etc/mirakurun/channels.ymlに設定されている値を使う。

WEBブラウザで,http://<RaspberryPiのIP>:40772 にアクセスする。
Mirakurunの動作や設定管理が行えるので,必要であれば追加の設定をする。

Page Top

ログの管理 anchor.png

$ sudo pm2 install pm2-logrotate

ログを抑えるための設定をする。/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
}

Mirakurunを再起動する。

$ sudo mirakurun restart
Page Top

EPGStationのインストール anchor.png

EPGStationは,テレビ放送の視聴・録画・動画配信・番組表に対応した録画サーバー。
テレビ放送の番組を確認したり,録画予約をしたり,番組録画を行ったり,録画データの管理なんかがWEB上で出来るようになる。

EPGStationは,チューナーサーバーとしてMirakurunを使用している。Node.jsはv14またはv16が必要。またffmpegも必要。

次のようにしてインストールした。

$ cd
$ git clone https://github.com/l3tnun/EPGStation.git
$ cd EPGStation
$ npm run all-install
$ npm run build
$ 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

このインストール作業は,かなり時間がかかる。

DBにはデフォルトのSQLiteを使っている。SQLiteで正規表現を使えるようにする。

$ wget https://www.sqlite.org/2019/sqlite-amalgamation-3290000.zip
$ wget https://www.sqlite.org/2019/sqlite-src-3290000.zip
$ unzip sqlite-amalgamation-3290000.zip
$ unzip sqlite-src-3290000.zip
$ cp sqlite-src-3290000/ext/misc/regexp.c sqlite-amalgamation-3290000
$ cd sqlite-amalgamation-3290000
$ gcc -g -fPIC -shared regexp.c -o regexp.so
$ sudo cp regexp.so ~/work/EPGStation/data/
Page Top

EPGStationの設定 anchor.png

config/config.ymlファイルで設定を行う。
設定できるオプションとかいろいろある。作者のページを参照して設定する。

sqlite:
    extensions:
        - '/home/yuji/EPGStation/data/regexp.so'
    regexp: true

ffmpeg: '/usr/bin/ffmpeg'                                   <-- ffmpegのパスを設定
ffprobe: '/usr/bin/ffprobe'                                 <-- ffprobeのパスを設定

recordedFormat: '%HALF_WIDTH_TITLE% - %YEAR%-%MONTH%-%DAY%' <-- 録画ファイルのファイル名を設定

recorded:
    - name: recorded
      path: '/mnt/u3/video/record'                          <--  録画ファイルの保存先を設定

config/config.ymlファイルのliveのMP4セクションに以下を追加する。

  - name: h264_omx_3M
    cmd: 
         '%FFMPEG% -dual_mono_mode main -re -i pipe:0 -sn -codec:a aac -ar 48000 -ac 2 -b:a 192k
         -c:v h264_omx -b:v 3000k -movflags frag_keyframe+empty_moov+faststart+default_base_moof -y -f mp4
         pipe:1'

config/enc.jsファイルを修正する。
14行目あたりを

const codec = 'h264_omx';

に変更。
35行目あたりを

if (videoHeight > 360) {
   videoFilter += ',scale=-2:360'
}

に変更。
40行目あたりに以下を追加する。

Array.prototype.push.apply(args, ['-b:v', '1500k']);

EPGStationを起動する。

$ sudo pm2 startup
$ sudo pm2 start dist/index.js --name "epgstation"
$ sudo pm2 save

起動しているか確認する。

$ sudo pm2 list

WEBブラウザで以下のようにEPGStationアクセスする。

http://<RaspberryPiのIP Address>:8888

しばらくしてから,番組表をクリックして番組表が表示されればOK。

epgstation.png
Page Top

EPGStationの更新 anchor.png

バージョンアップ等で更新する場合は,

$ sudo pm2 stop epgstation
$ cd ~/EPGStation
$ git pull
$ npm run all-install
$ npm run build

とすると,更新できる。
もしエラー等が出てうまくインストール出来ない場合は,npmを更新してみる。

$ sudo npm install -g npm

その後,再度EPGStationを更新してみる。

うまく更新ができたら,EPGStationを再起動する。

$ sudo pm2 start dist/index.js --name "epgstation"
Page Top

テレビ放送や録画したデータを見る方法 anchor.png

MirakurunとEPGStationの環境でテレビ放送の視聴や録画した動画データを再生するには,いくつか方法がある。

  • テレビ放送の視聴
    • WEBブラウザで視聴する
      WEBブラウザを使ってEPGStationの放送中でテレビ放送を視聴することができる。
      フォーマットにMP4でh264_omx_3Mを選ぶと,なんとかMP4にリアルタイムエンコードして視聴できる。他のフォーマットの場合はRspberry Piでの処理速度の問題でカクカクになってしまう。
    • WindowsマシンでTVTestを使ってテレビ放送を視聴する
      BonDriver_MirakurunもしくはBonDriver_EPGStationをTVTestのBonDriverに使うことで,TVTestでMirakurun(もしくはEPGStation)をチューナーとしてテレビ放送を視聴できる。
      fileビルドしたBonDriver_Mirakurun
    • KodiとPVR IPTV Simple Clientアドオンを使ってテレビ放送を視聴する
      MirakurunのM3U PlaylistとXMLTVをKodiのIPTV Simple Clientアドオンに設定すればテレビ放送が視聴できる。
    • MirakurunまたはEPGStationでストリーミング配信して,それをVLCなどのマルチメディアプレーヤーで視聴する
      TV.m3u8ファイルのようなプレイリストを作っておけば,マルチメディアプレーヤー側で放送局を切り替えて視聴出来る。
      また,http://<Mirakurunサーバー>:40772/api/iptv/playlist でプレイリストに直接アクセスできる。
    • WindowsやLinux,MacでMirakTestで視聴する
      プラグインで機能を拡張できる。
    • Android端末でSmarters Player LiteIPTV Proを使ってテレビを見る
      MirakurunのM3U PlaylistとXMLTVを登録すれば,これらのアプリを使って風呂でテレビが見れる :)
  • 録画した動画データを再生
    • WEBブラウザでEPGStationで録画データを再生する
    • EPGStationで録画データーをストリーミング配信して,それをVLCなどのマルチメディアプレーヤーで視聴する
    • 録画した動画ファイルをDLNAメディアサーバーなどで扱って,DLNAクライアントで見る
    • 録画した動画ファイルをSambaなどでファイル共有して,VLCなどのマルチメディアプレーヤーで見る
  • 録画予約をする
    WEBブラウザ(Windows,Linux,Android端末...)からEPGStationを開いて,番組表や検索結果から録画予約・録画が出来る。

EPGStationで放送中のテレビ放送を,リアルタイムエンコードしてストリーム配信してVLCなんかで視聴する場合,Raspberry Pi4でffmpegによるリアルタイムエンコードを行うと動画がとぎれとぎれになってしまった。
m2tsの無変換(リアルタイムエンコードはしない)でストリーム配信して視聴する場合,使用しているネットワーク帯域が十分であれば(NHK BSプレミアムだと18Mbps程度が必要)うまく視聴できる。家のネットワーク環境ではギリギリだった。

録画した動画ファイルを再生する場合は,ネットワーク上のファイルサーバーに保存しても特にとぎれとぎれになることはないみたいだ。


新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

Front page   Freeze Diff Backup Copy Rename Reload   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 3571, today: 4, yesterday: 0
Last-modified: 2021-08-21 (Sat) 09:57:30 (JST) (310d) by yuji