ffmpeg hevc_nvencエンコード再考

暫く使ってんですが、どうも画質に納得してなかったので、改めてオプションを見直して、現在はこんな感じに落ち着きました。

ポイントはこんな感じ。

  • ビット深度を10ビットに拡張(何もしなければ8ビット)
  • 平均ビットレート指定のVBRから品質固定に。(以前のものにも-cr付けてましたが、実際は平均ビットレートでやってました)
  • yadifからbwdifに変更して、インターレース解除による60fps化(以前はframerateで60に引き上げてた。)

変わらないのは、NVENC使ってること。これはCPUがCorei5 2500kなので、パワーが足りないんです。

ffmpeg 
	-hide_banner \
	-ignore_unknown \
	-dn \
	-y \
	-vsync 0 \
	-hwaccel cuvid \
	-analyzeduration 200M -probesize 200M \
	-c:v mpeg2_cuvid \
	-deint adaptive \
	-drop_second_field 1 \
	-i "INPUT.ts" \
	-movflags faststart \
	-sn \
	-c:v hevc_nvenc \
	-pix_fmt p010le \
	-vf hwdownload,format=nv12,bwdif=1:-1:0 \
	-preset slow \
	-b_ref_mode 2 \
	-rc vbr_hq \
	-cq 35 \
	-b:v 0 \
	-af "volume=7.2dB" \
	-c:a aac -ar 48000 -ab 192k -ac 2 -bsf:a aac_adtstoasc \
	-fflags +discardcorrupt \
	"OUTPUT.mp4"

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください