Windows + Plex-Q1UD + Mirakurun on Win



<font color="Magenta">+++2022年1月10日現在、公式よりアナウンスがされています+++
npm 経由で Mirakurun 2.14.0 ～ 3.9.0-beta.25 をインストール・アップデートしないでください</font>

https://twitter.com/Chinachu_REC/status/1480441927569145857?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Etweet

<font color="Magenta">+++追記2022年1月12日現在、公式よりアナウンスがされています+++
✔️⭐ Mirakurun 3.8.1
✔️⭐ Mirakurun 3.9.0-beta.26
・colors 依存パッケージを削除しました</font>

https://twitter.com/Chinachu_REC/status/1480450944248971268?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Etweet

#PLEX-S1UDのドライバーインストール

http://www.plex-net.co.jp/product/px-s1udv2/download.html

# Windows版-BonDriver等のセットアップ

Mirakurun設定に移る前にこの状態で視聴できるか確認します。

```bash:視聴確認
# テレビ東京
c:\DTV\BonRecTest.exe --decoder c:\DTV\B25Decoder.dll --driver c:\DTV\BonDriver_S1UD-T0.dll --output - --space 0 --channel 10 | c:\DTV\ffmpeg\ffplay.exe -i - -v warning -x 960 -y 540
```

# Node.js v14.18.1 install

最新のEPGStation (v2.6.12~v2.6.15)ではNode.js v16ではインストールに失敗する
いためv14.10以上を使用する。

https://nodejs.org/dist/v14.18.1/


# Mirakurun on Win 
公式：[Chinachu/Mirakurun](https://github.com/Chinachu/Mirakurun/blob/master/doc/Platforms.md#win32)

https://github.com/Chinachu/Mirakurun/blob/master/doc/Platforms.md#win32

use Windows PowerShell as Admin.

```powershell:
# Installing winser (npmサービスの起動に必要なパッケージ)
npm install winser@1.0.3 -g
# install
npm install mirakurun@latest -g --production

# installしたらここでチューナー設定
# チューナー設定後、MirakurunをWebから再起動させる

# Uninstall
npm uninstall mirakurun -g

# Service Management
# start
Start-Service mirakurun
# stop
Stop-Service mirakurun
```
C:\Users\(username)\.Mirakurun\の中に、3つのymlファイルがあるはず。※UTF-8+LF改行で保存

```bash:
# チューナー設定のDL
wget -O tuners.yml https://gist.github.com/Yuu-stack/f05dbce24508d77a4f55321a47647f7b/raw/e2e533a97860a08d5a8a423228860368ddbd110e/tuners.yml && \
wget -O channels.yml https://gist.github.com/Yuu-stack/f05dbce24508d77a4f55321a47647f7b/raw/82628e27f159cd71a65bd04bea89016297e8ddfa/channels.yml

# "ファイル名を指定して実行"で下記を入力
# WinKey + R
notepad %USERPROFILE%\.Mirakurun/tuners.yml
notepad %USERPROFILE%\.Mirakurun/channels.yml

# 設定後に Mirakurun-Web-UIから再起動
http://localhost:40772/
```
https://gist.github.com/Yuu-stack/f05dbce24508d77a4f55321a47647f7b

http://localhost:40772/

![スクリーンショット 2021-11-19 15.08.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363815/4dc86583-539c-b90a-df9a-47199a7b55d7.png)
![スクリーンショット 2021-11-19 15.11.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363815/e4c84cec-8b61-0863-7032-e1ccbf9e3e4a.png)



## チャンネルスキャン

Mirakurunのチャンネルスキャン
　地デジのチャンネル設定に関してはチャンネルスキャンが行える（ただし、ケーブルテレビのC13～C63には対応していない模様）。curlコマンドを使用するので予めインストールしておく。終了したらMirakurunを再起動する。

参考：[Windows10 で EPGStation セットアップ(2021年7月) - Qiita](https://qiita.com/Daigorian/items/4895233acc893955b45d)

```powershell:地上波1～14chをスキャンする
curl -X PUT "http://localhost:40772/api/config/channels/scan?type=GR&minCh=1&maxCh=14&refresh=true" -H  "accept: text/plain"
```

```bash:通常(Linux)はこっち
sudo apt-get install -y curl
curl -X PUT "http://localhost:40772/api/config/channels/scan"
sudo mirakurun restart
```



# EPGStation on Win
公式：[l3tnun/EPGStation](https://github.com/l3tnun/EPGStation/blob/master/doc/windows-setup.md)

https://github.com/l3tnun/EPGStation/blob/master/doc/windows-setup.md

v2.6.11以上はビルドが出来なくなっているので公式で解決されるまでこのバージョンを使用する。
公式：[l3tnun/EPGStation v2.6.11](https://github.com/l3tnun/EPGStation/tree/219218b5369356b268d437187e223dd38d570a13)

https://github.com/l3tnun/EPGStation/tree/219218b5369356b268d437187e223dd38d570a13

```powershell:EPGStationのインストール前-確認
node --version
Invoke-WebRequest http://localhost:40772/api/version
npm info windows-build-tools
```

参考:[コミット・タグを指定してgit cloneしてくる](https://yo.eki.do/notes/git-only-single-commit/)

https://yo.eki.do/notes/git-only-single-commit/

EPGStation インストール
ダウンロードする際に改行コードが変換されないように autocrlf false としています。これをやらないと次のbuildでeslintがCRを検出して大量にエラーをはきます。

```powershell:Windows　PowerShell（管理者として実行）
# Chocolatey を使った git install 
# Chocolateyのインストール

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# installしたら powershellを再度、管理者権限で起動
choco install git.install

# ダウンロードする際に改行コードが変換されないように
git config --global core.autocrlf false

# v2.6.11 のコミットを指定してclone
mkdir EPGStation
cd EPGStation
git init
git remote add origin  https://github.com/l3tnun/EPGStation.git
git fetch --depth 1 origin 219218b5369356b268d437187e223dd38d570a13
git reset --hard FETCH_HEAD

# ビルド
npm run all-install
npm run build

```
![npm-a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363815/773708df-95ee-92a3-e90f-63a0f3ddaf60.png)



```powershell:~\EPGStation_続き_
# 設定ファイル(v2.6.11)
copy .\config\config.yml.template .\config\config.yml
copy .\config\enc-enhance.js.template .\config\enc-enhance.js
copy .\config\enc.js.template .\config\enc.js
copy .\config\epgUpdaterLogConfig.sample.yml .\config\epgUpdaterLogConfig.yml
copy .\config\operatorLogConfig.sample.yml .\config\operatorLogConfig.yml
copy .\config\serviceLogConfig.sample.yml .\config\serviceLogConfig.yml 

# "ファイル名を指定して実行"で下記を入力
# WinKey + R
notepad %USERPROFILE%\EPGStation\config\config.yml

```

```vim:.\config\config.tml(書き換え箇所)
port: 8888,
mirakurunPath: 'http://localhost:40772'
ffmpeg: 'C:\\ffmpeg\\ffmpeg.exe'
ffprobe: 'C:\\ffmpeg\\ffprobe.exe'
```


参照:[Windows版Mirakurunの設定に手間取ってたわけ](https://www.10yendama.com/archives/5021)

https://www.10yendama.com/archives/5021


```powershell:
#手動で起動する場合
npm start

# windowsサービスに登録
npm run install-win-service
# サービスの開始
net start epgstation

#手動で終了する場合
npm stop

#自動起動した EPGStation を終了する場合
net stop epgstation

#サービスから削除する場合は以下のコマンドを管理者権限で実行します
npm run uninstall-win-service
```
起動確認
http://localhost:8888/

http://localhost:8888/

参考：[npmのキャッシュ削除](https://jnst.hateblo.jp/entry/2014/04/01/154210)

```bash:npm_ERR
# npmのキャッシュ削除
npm cache clean
npm cache clean --force
npm cache ls

rm -r -fo ~/EPGStation
```

# Windows ポート開放

`コントロールパネル`>`システムとセキュリティ`>`Windowsファイヤーウォール`>左の`詳細設定`>`受信の規則`

新しい規則から
`40772,8888`ポートを追加してあげる。

![スクリーンショット 2021-11-19 173735.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363815/147739b7-42f1-41fd-abff-e8de18a19d74.png)


# Windows 自動ログイン

参考：[Windows 11で自動ログインする方法](https://softantenna.com/wp/windows/windows-11-auto-login/)

https://softantenna.com/wp/windows/windows-11-auto-login/

`WinKey` + `R` + `netplwiz`
チェックを外す

![スクリーンショット 2021-11-19 14.50.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363815/971b729f-f7f6-eb71-74b4-532e63a71ba1.png)