chinachu 使っていっぱい録画していると、だんだんHDDを圧迫していきます。
エンコードして圧縮してあげればいいですが、FreeBSD でハードエンコが動かないので*1とりあえず別のWindowsマシンでエンコードしていました(過去形
ところで、最近のWindowsのエンコ環境として、Amatsukaze というものがあります。
解凍して、実行して、そこに ts ファイルをドロップしてあげると、よきに計らってCMカットやらロゴ消しやらデインタレースやらやってくれるという
とてもらくちんな環境があり、さっそくそれを導入してみましたが、Windowsマシンの NVEnc で、快適にエンコードをしてくれることがわかりました。
「機械でできることはなるべく機械にやってもらう」がモットーの私としては、できれば録画したらすぐに自動でエンコードしてくれたらいいのですが、
マシンが別のため、いちいち手動でドラッグ&ドロップしてやっていました。
ところで、Amatsukaze には AmatsukazeAddTask.exe という、「エンコサーバのキューにエンコを積む」という素敵なプログラムがあります。
これ、拡張子見てわかるように、Windows のプログラムですが、mono で動くように作者様が対応してくれたため、Windows以外の環境でも
動くようになりました。
あとは、組み合わせるだけでした。
ということで、用意するもの。
chinachu の環境
ハードエンコできるようなWindowsマシン
電気代。
とりあえず、Amatsukaze でエンコードできるようになっていることは前提として。
別のWindowsマシンからAmatsukazeAddTask が動くようにしておきましょう。別のWindowsマシン無い?あるよね?
録画されたファイルはSMBで共有されているものとします。ここで、エンコサーバ側からは、Yドライブとして見えるように
してあります。
chinachu マシン側では、mono が動くようにしておきます。
あとは、Amatsukaze の配布物から、AmatsukazeAddTask.exe と、AmatsukazeServer.dll をコピーしておきます。
と返ってきたら、実行できます。
パスの通ったらフォルダに 下記のようなスクリプトを作って実行属性を与えておきます。
このスクリプトはEDCB用録画後実行バッチで作成したものをベースに手を加えてあげるとよいでしょう。
NVEnc_h264_small_deinterlace はエンコサーバのAmatsukaze で作ったプロファイルを指定します。この辺は
それぞれの環境に合わせてqsvだったりx265だったり、お好みで。
ここで一旦テストして、Amatsukaze側にキューが登録されることを確認しておきましょう。
エンコサーバ側では AmatsukazeServer を実行して待ち受けておきます。
あとは、chinachu で録画後に自動実行されるように config.json に追記します。
おしりのカンマに注意。
これで、chinachu で録画後に、自動的にエンコサーバのエンコードキューに登録されるようになります。めでたしめでたり。
と、思っていたら、そうはイカのきん(以下略
Amatsukaze はエンコード後に、成功した場合は Successedフォルダに、失敗した場合は --no-move を指定しないと failed フォルダに ts ファイルを移動してしまいます。
手動でエンコキューに入れている際は「テストモード」にすることによってそれを防げたのですが、AmatsukazeAddTask から登録する場合にはその設定がありません。
--no-move でいけるとおもったんだけどなー。
で、それだと chinachu の管理外になってしまうので、自動エンコードする際に指定するプロファイルのなかで、実行後バッチをしていしてあげましょう。
エンコサーバ側の、Amatsukaze フォルダの下のbatの中に、実行後_move.bat というファイルを作ります。中身は
for /f "delims=" %%a in ("%IN_PATH%") do set IN_DIR=%%~dpa
move /Y %IN_DIR%*.ts %IN_DIR%..\
その後、プロファイルの設定で、実行後バッチにこれを指定して[適用]します。
これで、移動されたファイルをもとに戻してくれます。
最後になりましたが、いろいろと便利なソフトを公開してくれている作者の方々に感謝。
参考リンク:
chinachu プロジェクトサイト
https://chinachu.moe/
Amatsukaze の github
https://github.com/nekopanda/Amatsukaze
Linux系の録画ツールで録画した番組をAmatsukazeで自動エンコードする方法
https://till0196.com/post4149