前回、自動CMカット+ハードウェアエンコードを EPGStation v2 に導入たが、
事前アナウンスの通り、これを docker コンテナで簡単に構築できる用意ができたので公開, 紹介する。
Contents
忙しい人向け
1 2 3 4 5 6 7 8 |
$ git clone --recursive https://github.com/plife18/docker-epgstation.git $ cd docker-epgstation $ sh ./setup.sh $ mv docker-compose-sample.yml docker-compose.yml $ docker compose build ~/epgstation/config/config.yml # mirakurunPath $ docker compose up -> http://localhost:8888 へアクセス |
GitHub repository
GitHub → https://github.com/plife18/docker-epgstation
これは何?
EPGStation の作者さんが公開している docker-mirakurun-epgstation をベースに以下の変更を加えたもの。
- [追加] JoinLogoScpTrialSetLinux をベースとした自動CMカット対応
- [追加] vaapi/QSV によるハードウェアエンコード (h264, hevc) 対応
- [追加] ffmpeg の opus, fdkaac 対応
- [削除] mirakurun コンテナ周り
利用方法
基本的には本家のインストール手順に従ってください。
以下、いくつかの差分, 留意点です。
epgstation/config/*.js
適当なパラメータを設定した状態で置いてあります。
かなりサイズを小さくする方向に振った設定になっているので、適当に変更, 調整してください。
- enc_*: CMカットなし
- jlse_*: CMカットあり
- *_software: x264 ソフトウェアエンコード
- *_vaapi: h264_vaapi ハードウェアエンコード
- *_vaapi-hevc10bit: hevc_vaapi(10bit) ハードウェアエンコード
vaapi/QSV ハードウェアエンコードについて
本 dockerイメージでの vaapi/QSV ハードウェアエンコードは intel CPU のみ動作可能で、
- h264_vaapi: Broadwell 以降
- hevc_vaapi(10bit): Kaby Lake 以降
だと思います。
epgstation/config/*_hevc10bit.js
内で -profile:v 2
の指定を外すと、
HEVC (8bit) になり Sklylake 以降でも動くようになるようです。
epgstation/config/config.yml(.template)
encode
: 上記エンコードスクリプトを参照する設定(例) が書き加えられています。
また stream
についても vaapi, opus, fdkaac など似たような設定が追加, 変更されています。
mirakurunPath
: 下記の通り mirakurn コンテナは起動しないので自分の環境に合わせて適宜書き換えてください。
join_logo_scp 関連
お住まいの地域により放送局の構成が異なることにも関連して、
正しく動作させるには以下について確認, 変更が必要です。
join_logo_scp_trial/settings/ChList.csv
(m2)ts ファイル名に含まれる放送局名 と logoファイル名との対応表です。
join_logo_scp_trial/logo/*.lgd
ロゴファイル(*.lgd) は配布できないので空です。
Amatsukaze などで用意してください。
詳しくは JoinLogoScpTrialSetLinux、およびその改造元を参照してください。
mirakurun 周り
mirakurun コンテナ周りは動作しないようになっているので、必要に応じて追加してください。