今年の半ばから保存用のAviutlによるメインエンコーダーをH.264からH.265に切り替え、画質はほぼ同等でファイルサイズと処理時間のどちらも減少させることに成功しています。
先日久々にFfmpesync を動かす機会がありまして、「そーいやこれもH.265にする必要あるかな~ぃゃもう二年前と動画の運用方法変わってるからぶっちゃけココまでの必要ないんだよな。でも手軽に大きな動画ファイルをH.265で小さくしたいな」 と言う欲求が生まれまして仕事休みにチマチマと作ってみました。
想定は「おっきな録画ファイルを気軽に手っ取り早くスマホで見れるようにそれなり画質で小さくしたい時に使用」と言ったところでしょうか。 とは言え処理時間はCPU i7-6700kでもx0.5~x2速と結構かかります。
大量のファイルを連続で変換したい場合は「call ffmpeg5sEnc.bat "エンコード元ファイル名"」 など記述した一覧バッチを実行してやればOK。
ffmpeg5sEnc.batは程々画質の圧縮率優先で画質28解像度1280x720の固定としてるので、高画質高解像度にするなら中のパラメータを変えてみてください。でわでわ~ノシ
rem 2016/12/23 ffmpeg5sEnc.bat
rem H.265エンコードサポートバッチファイル
rem エンコード済みファイルは指定パスにファイル名.mkvで出力
rem
rem 実行環境
rem http://ffmpeg.org/download.html より
rem ffmpegのwindows-buildを入手して当バッチと同じ場所に展開しておく。
rem
rem IN
rem ファイル名
rem Ex.
rem call ffmpeg5sEnc.bat "エンコード元ファイル名"
rem ※"で囲うのはファイル名切れ防止"
rem
rem 内部記述
rem BATFILE 実行パス ※原則変更しないでください
rem INPFILE 入力ファイル名 ※原則変更しないでください
rem FFMPEXE FFMPEG.EXE フルパス ※原則変更しないでください
rem
rem FFMP265 H.265 エンコードパラメータ
rem ex.動画品質の変更 -crf 28 >>> -crf 24
rem ex.縦横サイズ変更 -s 1280x720 >>> -s 1920x1080
rem OUTFILE 出力ファイル名
rem ex.出力先の変更 "C:\!work\%~nx1.mkv" >>> "C:\Users\username\Videos\%~nx1.mkv"
rem
rem 注意
rem ファイルにANSI以外の文字や画像が入ってる場合は動かない可能性があります。
rem 該当文字や画像を削除または変更して再実行してみてください、。
rem
rem おまけ
rem -crf 28 画質ちょい落ちるけどファイルサイズ小
rem -crf 24 画質イイけどファイルサイズ増
rem -s 1280x720 より 1920x1080 はファイルサイズ増
rem
rem 一括処理実行リストファイル作成時使用のリストファイル取得コマンド例
rem ex. dir d:\@yb\*2560*.mp4 /o-s /b > mp4.bat
rem ****ffmpeg h.265パラメータ****
SET BATFILE=%~dp0
SET INPFILE="%~f1"
SET FFMPEXE=%BATFILE%ffmpeg -i
SET FFMP265=-c:v libx265 -preset medium -crf 28 -s 1280x720 -c:a aac -b:a 128k
SET OUTFILE="C:\!work\%~nx1.mkv"
rem ****ffmpeg h.265エンコード実行****
%FFMPEXE% %INPFILE% %FFMP265% %OUTFILE%