1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Windows10環境でpx4_drvを使ってMirakurun+EPGStationを構築する

Last updated at Posted at 2022-10-11

備忘録

今回使うもの

  • チューナーカード(TV02A-4TS-P)
  • カードリーダー(SCR3310)
  • 適当なx64のPC(i5-4670, H87)
  • Mirakurun@3.9.0-rc.2
  • EPGStation@2.6.20

どんどんインストールする

カードリーダのドライバ

Node.js

v16のLTSをインストールする。
インストーラーの設定追加は不要。

Git for Windows

改行コード周りの問題を防ぐため、以下の項目についてCheckout as-is, commit as-isを選択する。
gitforwindows.PNG

Visual C++ 再頒布可能パッケージ

たしか2019が必要だったはず。
このファイルを使えば2019を含む最新のパッケージをインストールできる。

FFmpeg

BtbN版のwin64-gpl-shared.zipをDLして解凍、Cドライブ直下に配置する。
Pathを通しておくと後々便利。

Mirakurunとwinser

PowerShellを管理者モードで起動する。
下にあるコマンドをドンドン実行する。

現時点ではMirakurun側のバグが解消されていないようなので、念のため環境変数を設定する
$env:npm_config_global = 'false'

npm install winser@1.0.3 -g
npm install mirakurun@latest -g --foreground-scripts --production

Mirakurunの動作チェック

次のURLをブラウザで開くか、PowerShellか何かでリクエストする。
正常に動いていればバージョン情報が帰ってくる。
http://127.0.0.1:40772/api/version

ユーザーディレクトリ直下に.Mirakurunフォルダが出来ていなかったらVisual C++パッケージを忘れている可能性がある。

ブラウザで開くとこんな感じ
{"current":"3.9.0-rc.2","latest":"3.9.0-rc.2"}
PowerShellでやるとこんな感じ。IEを一度も起動したことが無いと怒られるので注意
Invoke-WebRequest http://127.0.0.1:40772/api/version
StatusCode        : 200
StatusDescription : OK
Content           : {"current":"3.9.0-rc.2","latest":"3.9.0-rc.2"}
RawContent        : HTTP/1.1 200 OK
                    Vary: Origin
                    Connection: keep-alive
                    Keep-Alive: timeout=5
                    Content-Length: 46
                    Content-Type: application/json; charset=utf-8
                    Date: Sun, 09 Oct 2022 22:53:11 GMT
                    Server: Mirakurun/...
Forms             : {}
Headers           : {[Vary, Origin], [Connection, keep-alive], [Keep-Alive, timeout=5], [Content-Length, 46]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : System.__ComObject
RawContentLength  : 46

windows-build-toolsの確認

EPGStationをインストールする前にパッケージをチェックする
npm info windows-build-tools

EPGStation

EPGStationを配置したいディレクトリに移動してから実行する。
今回はユーザーディレクトリに配置した。

環境変数をお忘れ無く
$env:npm_config_global = 'false'

// ここから読み始めた人はwinser入れてね
npm install winser@1.0.3 -g

git clone https://github.com/l3tnun/EPGStation.git
cd EPGStation
npm run all-install
npm run build

copy .\config\config.yml.template .\config\config.yml
copy .\config\operatorLogConfig.sample.yml .\config\operatorLogConfig.yml
copy .\config\epgUpdaterLogConfig.sample.yml .\config\epgUpdaterLogConfig.yml
copy .\config\serviceLogConfig.sample.yml .\config\serviceLogConfig.yml
copy .\config\enc.js.template .\config\enc.js

Configファイルを編集する。
必要に応じてffmpegのPathを読み替える。
mirakurunPathをlocalhostにするとダメらしい。

.\EPG-Station\config\config.yml
port: 8888
mirakurunPath: 'http://127.0.0.1:40772'
ffmpeg: 'C:\\ffmpeg\\bin\\ffmpeg.exe'
ffprobe: 'C:\\ffmpeg\\bin\\ffprobe.exe'

# 必要に応じてドロップチェック
# "isEnabledDropCheck": true

サービスに登録して自動起動する。

npm run install-win-service
net start epgstation

BonDriverとデコーダーなど

今回はCドライブ直下にPathを通したBonDriverフォルダを作成し、そこにBon関係のファイルを全て放り込む。

BonDriver

りどみに従ってWinUSB版を導入する。
今回使用するチューナーは1チューナーで3波受信できるMLT系なので、BonDriver_PX-MLTを使用する。
フォルダ内の全てファイルをBonDriverフォルダにコピーする。

BonRecTest

Releasesからzipを落として解凍、x64の中にあるBonRecTest.exeBonDriverフォルダにコピーする。

libaribb25

Releasesからzipを落として解凍、64bitの中にある全てのファイルをBonDriverフォルダにコピーする。

Mirakurunの設定

channels.yml

%UserProfile%\.Mirakurun\channels.yml

不要なチャンネルはあらかじめ消してある。流用する方は注意。
3波受信できるMLT系向けの設定です。
地デジとBS/CSが物理的に別チューナーのモデルの場合は、BS/CSエントリのspaceを1減らします。

space 通常 MLT
GR(地デジ) 0 0
BS 0 1
CS 1 2
関東圏の人はコレを使おう。BS/CSは全国共通(のはず)
%UserProfile%.Mirakurun\channels.yml
- name: NHK総合・東京
  type: GR
  space: 0
  channel: '14'
- name: NHKEテレ・東京
  type: GR
  space: 0
  channel: '13'
- name: チバテレ
  type: GR
  space: 0
  channel: '17'
- name: 日テレ
  type: GR
  space: 0
  channel: '12'
- name: フジテレビ
  type: GR
  space: 0
  channel: '8'
- name: TBS
  type: GR
  space: 0
  channel: '9'
- name: テレビ東京
  type: GR
  space: 0
  channel: '10'
- name: テレビ朝日
  type: GR
  space: 0
  channel: '11'
- name: TOKYO MX
  type: GR
  space: 0
  channel: '3'

- name: BS朝日
  type: BS
  space: 1
  channel: '0'
- name: BS-TBS
  type: BS
  space: 1
  channel: '1'
- name: BSテレ東
  type: BS
  space: 1
  channel: '2'
- name: NHKBSプレミアム
  type: BS
  space: 1
  channel: '4'
- name: BS11イレブン
  type: BS
  space: 1
  channel: '7'
- name: BS12トゥエルビ
  type: BS
  space: 1
  channel: '9'
- name: BS日テレ
  type: BS
  space: 1
  channel: '13'
- name: BSフジ
  type: BS
  space: 1
  channel: '14'
- name: NHKBS1
  type: BS
  space: 1
  channel: '16'

BS/CSのチャンネルが不明な場合は全てのチャンネルを設定して受信する。
受信できたチャンネルだけ残して他は消すことでチャンネルスキャンの代わりになる。

BS/CS全てのチャンネルを記載しているのはこっち
%UserProfile%.Mirakurun\channels.yml (BS/CS部分だけ書き換える)
- name: BS01/TS0
  type: BS
  space: 1
  channel: '0'
- name: BS01/TS1
  type: BS
  space: 1
  channel: '1'
- name: BS01/TS2
  type: BS
  space: 1
  channel: '2'
- name: BS03/TS0
  type: BS
  space: 1
  channel: '3'
- name: BS03/TS1
  type: BS
  space: 1
  channel: '4'
- name: BS05/TS0
  type: BS
  space: 1
  channel: '5'
- name: BS05/TS1
  type: BS
  space: 1
  channel: '6'
- name: BS09/TS0
  type: BS
  space: 1
  channel: '7'
- name: BS09/TS1
  type: BS
  space: 1
  channel: '8'
- name: BS09/TS2
  type: BS
  space: 1
  channel: '9'
- name: BS11/TS1
  type: BS
  space: 1
  channel: '10'
- name: BS11/TS2
  type: BS
  space: 1
  channel: '11'
- name: BS11/TS3
  type: BS
  space: 1
  channel: '12'
- name: BS13/TS0
  type: BS
  space: 1
  channel: '13'
- name: BS13/TS1
  type: BS
  space: 1
  channel: '14'
- name: BS13/TS2
  type: BS
  space: 1
  channel: '15'
- name: BS15/TS0
  type: BS
  space: 1
  channel: '16'
- name: BS15/TS1
  type: BS
  space: 1
  channel: '17'
- name: BS19/TS0
  type: BS
  space: 1
  channel: '18'
- name: BS19/TS1
  type: BS
  space: 1
  channel: '19'
- name: BS19/TS2
  type: BS
  space: 1
  channel: '20'
- name: BS19/TS3
  type: BS
  space: 1
  channel: '21'
- name: BS21/TS0
  type: BS
  space: 1
  channel: '22'
- name: BS21/TS1
  type: BS
  space: 1
  channel: '23'
- name: BS21/TS2
  type: BS
  space: 1
  channel: '24'
- name: BS23/TS0
  type: BS
  space: 1
  channel: '25'
- name: ND02
  type: CS
  space: 2
  channel: '0'
- name: ND04
  type: CS
  space: 2
  channel: '1'
- name: ND06
  type: CS
  space: 2
  channel: '2'
- name: ND08
  type: CS
  space: 2
  channel: '3'
- name: ND10
  type: CS
  space: 2
  channel: '4'
- name: ND12
  type: CS
  space: 2
  channel: '5'
- name: ND14
  type: CS
  space: 2
  channel: '6'
- name: ND16
  type: CS
  space: 2
  channel: '7'
- name: ND18
  type: CS
  space: 2
  channel: '8'
- name: ND20
  type: CS
  space: 2
  channel: '9'
- name: ND22
  type: CS
  space: 2
  channel: '10'
- name: ND24
  type: CS
  space: 2
  channel: '11'

tuners.yml

%UserProfile%\.Mirakurun\tuners.yml
チューナーが4つあるのでエントリを4つ配置する。
名前は適当でOK。
三波受信できるのでtypesはGR・BS・CSを指定。
decoderは未指定でOK。
BonDriverフォルダのパスを通さずに、各ファイル絶対パスで記述しても動く。
ダブルクォーテーションで囲んで動くかは確認していない。

%UserProfile%.Mirakurun\tuners.yml
- name: DTV02A-4TS-0TS
  types:
    - GR
    - BS
    - CS
  command: BonRecTest.exe --log --decoder B25Decoder.dll --driver BonDriver_PX-MLT.dll --output - --space <space> --channel <channel>
  decoder: ~
  isDisabled: false

- name: DTV02A-4TS-1TS
  types:
    - GR
    - BS
    - CS
  command: BonRecTest.exe --log --decoder B25Decoder.dll --driver BonDriver_PX-MLT.dll --output - --space <space> --channel <channel>
  decoder: ~
  isDisabled: false

- name: DTV02A-4TS-2TS
  types:
    - GR
    - BS
    - CS
  command: BonRecTest.exe --log --decoder B25Decoder.dll --driver BonDriver_PX-MLT.dll --output - --space <space> --channel <channel>
  decoder: ~
  isDisabled: false

- name: DTV02A-4TS-3TS
  types:
    - GR
    - BS
    - CS
  command: BonRecTest.exe --log --decoder B25Decoder.dll --driver BonDriver_PX-MLT.dll --output - --space <space> --channel <channel>
  decoder: ~
  isDisabled: false

server.yml

%UserProfile%\.Mirakurun\server.yml

%UserProfile%.Mirakurun\server.yml
# 先日のスパイファミリーの件もあるのでEPGの更新頻度を900秒
epgGatheringInterval: 900000

# IPv6なんもわからないのでオフっとく
disableIPv6: true

# EPGStationが127.0.0.1を参照できなくなったので、念のため127.0.0.0/8を入れとく
allowIPv4CidrRanges:
  - 127.0.0.0/8
  - 192.168.0.0/16


## EPGStationの設定
ffmpeg周りなどを後ほど詳しく書く(予定)

1
2
0

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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?