Google の助けを借りて、Handbrake 自動化用の Powershell スクリプトをまとめました。
機能:
- 一部のファイルは、RSS 経由で自動的にダウンロードされます。これらはソース フォルダーに配置されます。
- Powershell スクリプトが Handbrake を実行し、エンコードが開始され、正常に終了します。
- ソース フォルダに新しいファイルが到着しない場合、スクリプトは終了します。
問題は最後の項目にあります。ソース フォルダーが空の場合、Powershell スクリプトは終了しますが、強制終了するまで実行を継続し、到着したときにさらに多くのファイルを処理したいと考えています。新しいファイルが追加されると、自動的にエンコードが開始されます。
コードはPasteBinにあります。これにはより多くのコメントがありますが、スクリプトの動作を簡単に推測できるはずです。
$inputpath = "I:\S"
$outputpath = "I:\E"
$movies = ls $inputpath
foreach($movie in $movies){
$name = $movie.basename
if(!(test-path -path "$outputpath\$name.mkv")){
C:\"Program Files"\handbrake\HandBrakeCLI.exe -i "$inputpath\$movie" -o "$outputpath\$name.mkv" `
-e x264 -b 1000 -2 -T -a 1,1 -E mp3 -B 112 --mixdown stereo -f mkv --detelecine --decomb `
--loose-anamorphic -m -x rc-lookahead=30:ref=4:bframes=3:me=umh:subme=9:analyse=none:deblock=1:0:0:8x8dct=1
}
}