■Windows版EDBCとAmatsukazeの環境を構築目指す
| 層 | 役割 |
|---|---|
| ホスト (Ubuntu 24.04) | 物理マシン。ffmpeg v6.1.1、comskip、VAAPIドライバを直接持つ |
| Docker | コンテナ管理。EPGStation・Mirakurunを隔離環境で動かす |
| コンテナ (Debian 12) | EPGStation本体。ffmpeg v5.1.8を内蔵(VAAPI対応) |
| 項目 | 詳細 |
|---|---|
| ホストのGLIBC | 2.38 (Ubuntu 24.04) |
| コンテナのGLIBC | 2.36 (Debian 12) |
| 問題 | ホストのcomskip/nsenterがコンテナ内で動かない |
| 解決策 | FIFOデーモン方式:ホスト側にcomskip-daemonを常駐させFIFO経由でジョブを投げる |
| ソフトウェア | バージョン・備考 |
|---|---|
| Mirakurun | Docker (docker-compose) |
| EPGStation | v2.10.0 Docker (カスタムイメージ) |
| ffmpeg (ホスト) | v6.1.1 (apt) / VAAPI対応 |
| ffmpeg (コンテナ) | v5.1.8 (Debian apt) / VAAPI対応 |
| comskip | v0.82.011 (ホストにインストール) |
| nkf | コンテナ内 (Dockerfile) |
| comskip-daemon | systemdサービス (ホスト側常駐) |
| Tailscale | サブネットルーティング |
録画完了 (EPGStation)
↓
録画後スクリプト呼び出し
├─ 通常ルール → encode.sh(CMカット+VAAPI MP4化)
└─ JSPORTSルール → skip.sh(何もしない or TSをそのまま移動)
↓
エンコード成功 → MP4を /mnt/data/TV/ へ
TSを /mnt/data/PT2/succeeded/ へ
エンコード失敗 → TSを /mnt/data/PT2/failed/ へ
ログ → /mnt/data/PT2/log/ へ(毎月1日に先々月分削除)
↓
録画後スクリプト呼び出し
├─ 通常ルール → encode.sh(CMカット+VAAPI MP4化)
└─ JSPORTSルール → skip.sh(何もしない or TSをそのまま移動)
↓
エンコード成功 → MP4を /mnt/data/TV/ へ
TSを /mnt/data/PT2/succeeded/ へ
エンコード失敗 → TSを /mnt/data/PT2/failed/ へ
ログ → /mnt/data/PT2/log/ へ(毎月1日に先々月分削除)
ディレクトリ作成
sudo mkdir -p /mnt/data/PT2/succeeded sudo mkdir -p /mnt/data/PT2/failed sudo mkdir -p /mnt/data/PT2/log sudo mkdir -p /mnt/data/TV sudo mkdir -p /mnt/data/docker/encoder/scripts sudo chown -R $USER:$USER /mnt/data/PT2 /mnt/data/TV /mnt/data/docker/encoder
ホスト側ffmpeg と IntelのVAAPIドライバのインストール
sudo apt install -y ffmpeg sudo apt install -y vainfo intel-media-va-driver-non-free ffmpeg -hwaccels | grep vaapi ffmpeg -encoders | grep vaapii
■CMカットツール
| 項目 | comskip | join_logo_scp (JLS) | Amatsukaze |
|---|---|---|---|
| logo検出 | ✅ 可能(logo.txtファイル) | ✅ 可能(.lgdファイル) | ✅ 可能(.lgdファイル) |
| logo形式 | 独自形式(logo.txt/bitmap) | Amatsukaze用(.lgd) | 独自(.lgd) |
| CM検出 | ロゴ+映像変化+無音+輝度等 | ロゴ+無音+シーンチェンジ | ロゴ+無音+シーンチェンジ |
| TV対応 | △(海外向け設計) | ◎(日本TV専用) | ◎(日本TV専用) |
| 精度 | 普通 | 高精度 | 最高精度 |
しかし、JLSとAmatsukazeはほぼ同じエンジンを使っているので、JLparam_set1.csvのチャンネル設定を行い、数ヶ月の試行錯誤で、精度は上る可能性はあるようだ。
今は、Ubuntu Server で録画したデータを、Windows版Amatuskazeに渡すスクリプトを作成して運用する。