From 39bf06b3d3ab7469583064362565fb6f1be7fb48 Mon Sep 17 00:00:00 2001 From: eisneinechse <42617957+eisneinechse@users.noreply.github.com> Date: Sun, 27 Jan 2019 10:50:23 -0800 Subject: [PATCH] Now VP8, VP9, h.264, h.265 have working crf --- src/FFmpegWriter.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/FFmpegWriter.cpp b/src/FFmpegWriter.cpp index c5c40685..778c352e 100644 --- a/src/FFmpegWriter.cpp +++ b/src/FFmpegWriter.cpp @@ -1123,6 +1123,11 @@ AVStream* FFmpegWriter::add_video_stream() #endif case AV_CODEC_ID_VP8 : av_opt_set_int(c->priv_data, "crf", min(info.video_bit_rate,63), 0); + c->bit_rate = 10000000; + if (info.video_bit_rate == 0) { + av_opt_set(c->priv_data, "preset", "veryslow", 0); + c->bit_rate = 30000000; + } break; case AV_CODEC_ID_VP9 : av_opt_set_int(c->priv_data, "crf", min(info.video_bit_rate,63), 0); @@ -1137,6 +1142,10 @@ AVStream* FFmpegWriter::add_video_stream() break; case AV_CODEC_ID_H265 : av_opt_set_int(c->priv_data, "crf", min(info.video_bit_rate,51), 0); + if (info.video_bit_rate == 0) { + av_opt_set(c->priv_data, "preset", "veryslow", 0); + av_opt_set_int(c->priv_data, "lossless", 1, 0); + } break; default: double mbs = 15000000.0;