テレビ録画環境改善 (3) - docker-mirakurun-epgstation とAmatsukazeの連動
私は録画したTSファイルをAmatsukazeを使って処理しています。理由はCMカットやCM解析処理が非常に使いやすいためです。
残念ながらAmatsukazeはLinuxでは動作しないのでWindows上で動かすしかないので、今回録画環境をLinuxに移行するに伴い、Windows上で動作するAmatsukazeと連動させる必要があります。
AmatsukazeにはAmatsukazeAddTask.exeというツールがあり、これを使うとリモートのマシンからAmatsukazeサーバーが動いている本体にキューを追加することができます。このAmatsukazeAddTaskはLinux上でmonoを経由して実行できるように修正されているためこれを使用することにします。
EPGstationはファイル録画後に任意のコマンドを実行するようにカスタム可能なため、録画完了後に自動的にmono コマンド経由でWindows上で動作するAmatsukazeにキュー追加のコマンドを実行します。
当然ですが、EPGStationのデフォルトイメージにはmonoコマンドはインストールされていません。monoの公式HPの手順に従いイメージを追加します。
epgstation/Dockerfileに必要なパッケージを追加します。2020/11/24現在はepgstationのイメージはDebian10を使っていますので、公式HPにあるDebian10向け手順を参照します。
...
# Install mono
RUN apt update && apt install -y apt-transport-https dirmngr gnupg ca-certificates && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \
echo "deb https://download.mono-project.com/repo/debian stable-buster main" | tee /etc/apt/sources.list.d/mono-official-stable.list && \
apt update && \
apt install -y mono-devel && \
mkdir /exe_files && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
....
これでmonoコマンドがepgstation上で使えるようになりました
1点AmatsukazeAddTask.exe側で修正したのが、このツールで追加するとタスク上では自動追加と表記されてCM解析とエンコードがすべて実施されます。私の場合、特定の条件化ではエンコードは実施せず、CM解析のみ実施したい理由が個人的にあります。
そのため、ツールのソースコードをダウンロードし、https://github.com/nekopanda/Amatsukaze/blob/master/AmatsukazeAddTask/AddTaskMain.cs の一部を変更し、CM解析のみでキュー追加するように変更、コンパイルを行ったうえでexeをコンテナ上に追加しています。