去年の末に作った「ffmpeg5sEnc.bat」。自分的には結構な頻度で使ってまして、そうなると普段メインとしているAviutl+x265guiExと比べてしまうわけです。
Aviutl+x265guiEx 利点)リサイズ・クリッピングなど細かい設定が可能で綺麗。 欠点)手間がかかる。
ffmpeg5s.bat 利点)ドラッグ&ドロップで気軽に実行 欠点)細かい設定は手間。 音量の最大化手順どーしよ
Aviutl+x265guiEx・ffmpeg5s.bat 画質は品質を揃えたらほぼ同じ
上下左右のクリッピングと音量の最大化さえ割り切れば、あとは品質と連続実行で自分の中では割り切りOKな感じなんですよね。
現状、アニメのエンコード環境はAviutl+x265guiEx 固定ですが、エンコードまでのバッチ処理の準備に結構時間かかるため、マシンが停止してる時間が結構あるんです。 対してドキュメンタリーなどはイチイチAviutl+x265guiEx を使うの手間だなーな感じになってまして結構大量なファイルがテラ単位でHDDの肥しになってましてイイ加減に掃除したいなと。
仕事が正月休みに入ったため、「ffmpeg5sEnc.bat」をもう少し改良して手軽に保存用エンコードに使えないかと考えてみました。
「ffmpeg5sEnc.bat」は圧縮優先品質28となってるため、何度か実行と確認を繰り返して品質24に。 それと前後のCM部分をカットできるように開始時間と終了時間でエンコード範囲を指定できるようにしました。 これによりドラッグ&ドロップで即実行とはいかなくなってます。
実行環境は①ffmpeg.exe、②ffmpeg5call.bat、③ffmpeg5st.bat を全て同じフォルダに置きます。
それと動画ファイルのエンコード範囲(開始時刻・終了時刻)を調べるプレイヤーが必要ですね。 自分はVLCなど使ってます。 「ツール-メディア情報」のロケーションから再生ファイルのフルパスがコピペできるので、バッチファイルの更新にも便利です。
①ffmpeg.exe http://ffmpeg.org/download.html よりffmpegのwindows-buildを入手してバッチと同じ場所に展開しておく。
②ffmpeg5call.bat。。"ffmpeg5call.bat"で保存しておく。メインエンコードバッチの"ffmpeg5st.bat"を呼びます。バッチ実行中でも編集可能なので、実行しながらどんどん追加します。
SET BP=%~dp0
rem call %BP%ffmpeg5st.bat "エンコード元ファイル名" , 開始時刻 , 終了時刻
ex.
③ffmpeg5st.bat。"ffmpeg5st.bat"で保存しておく。
@echo off
rem 2016/12/31 ffmpeg5st.bat
rem 2016/1/1 2,3引数の存在チェックを追加
rem
rem H.265エンコードサポートバッチファイル
rem H.265エンコードサポートバッチファイル
rem エンコード済みファイルは指定パスにファイル名.mkvで出力
rem 開始~終了時刻の範囲エンコード 自分なりに実写モノ保存品質
rem
rem 実行環境
rem http://ffmpeg.org/download.html より
rem ffmpegのwindows-buildを入手して当バッチと同じ場所に展開しておく。
rem
rem IN
rem ファイル名
rem Ex.
rem Ex.
rem call ffmpeg5st.bat "エンコード元ファイル名" , 開始時刻 , 終了時刻
rem ※"で囲うのはファイル名切れ防止"
rem ※開始・終了時刻フォーマット 00:00:00 (省略だと全指定)
rem ※終了時刻のみ指定したい場合は、開始時刻に 0 を入れてください
rem
rem call ffmpeg5st.bat "エンコード元ファイル名" , 開始時刻 , 終了時刻
rem ※"で囲うのはファイル名切れ防止"
rem ※開始・終了時刻フォーマット 00:00:00 (省略だと全指定)
rem ※終了時刻のみ指定したい場合は、開始時刻に 0 を入れてください
rem
rem 内部記述
rem BATFILE 実行パス ※原則変更しないでください
rem INPFILE 入力ファイル名 ※原則変更しないでください
rem FFMPEXE FFMPEG.EXE フルパス ※原則変更しないでください
rem STATIME 開始時刻 ※原則変更しないでください
rem EMDTIME 終了時刻 ※原則変更しないでください
rem FFMP265 H.265 エンコードパラメータ
rem OUTFILE 出力ファイル名 ※存在するフォルダを指定
rem
rem 注意
rem ファイルにANSI以外の文字や画像が入ってる場合は動かない可能性があります。
rem 該当文字や画像を削除または変更して再実行してみてください、。
rem
rem ****ffmpeg h.265パラメータ****
SET BATFILE=%~dp0
SET INPFILE="%~f1"
SET FFMPEXE=%BATFILE%ffmpeg -i
SET FFMP265=-c:v libx265 -preset medium -crf 24 -s 1280x720 -c:a aac -b:a 128k
SET OUTFILE="C:\!video\%~nx1.mkv"
IF "%2" EQU "" (
SET STATIME=%2
) ELSE (
SET STATIME=-ss %2
)
IF "%3" EQU "" (
SET EMDTIME=%3
) ELSE (
SET EMDTIME=-to %3
)
rem ****ffmpeg h.265エンコード実行****
%FFMPEXE% %INPFILE% %FFMP265% %STATIME% %EMDTIME% %OUTFILE%
SET BATFILE=%~dp0
SET INPFILE="%~f1"
SET FFMPEXE=%BATFILE%ffmpeg -i
SET FFMP265=-c:v libx265 -preset medium -crf 24 -s 1280x720 -c:a aac -b:a 128k
SET OUTFILE="C:\!video\%~nx1.mkv"
IF "%2" EQU "" (
SET STATIME=%2
) ELSE (
SET STATIME=-ss %2
)
IF "%3" EQU "" (
SET EMDTIME=%3
) ELSE (
SET EMDTIME=-to %3
)
rem ****ffmpeg h.265エンコード実行****
%FFMPEXE% %INPFILE% %FFMP265% %STATIME% %EMDTIME% %OUTFILE%
0 件のコメント:
コメントを投稿