vpxenc
Defaults:
vpxenc --passes=1 -v --webm transformers.y4m -o vpxenc_defaults.webm
Codec: WebM Project VP9 Encoder v1.5.0 Source file: transformers.y4m File Type: Y4M Format: I420 Destination file: vpxenc_defaults.webm Encoder parameters: g_usage = 0 g_threads = 8 g_profile = 0 g_w = 720 g_h = 480 g_bit_depth = 8 g_input_bit_depth = 8 g_timebase.num = 1 g_timebase.den = 1000 g_error_resilient = 0 g_pass = 0 g_lag_in_frames = 25 rc_dropframe_thresh = 0 rc_resize_allowed = 0 rc_scaled_width = 0 rc_scaled_height = 0 rc_resize_up_thresh = 60 rc_resize_down_thresh = 30 rc_end_usage = 0 rc_target_bitrate = 256 rc_min_quantizer = 0 rc_max_quantizer = 63 rc_undershoot_pct = 25 rc_overshoot_pct = 25 rc_buf_sz = 6000 rc_buf_initial_sz = 4000 rc_buf_optimal_sz = 5000 rc_2pass_vbr_bias_pct = 50 rc_2pass_vbr_minsection_pct = 0 rc_2pass_vbr_maxsection_pct = 2000 kf_mode = 1 kf_min_dist = 0 kf_max_dist = 149
Setting end usage to q (quality):
rc_end_usage = 3
is the only difference.
vpxenc --end-usage=q --passes=1 -v --webm -o vpxenc_q.webm video.y4m
Codec: WebM Project VP9 Encoder v1.5.0 Source file: transformers.y4m File Type: Y4M Format: I420 Destination file: vpxenc_q.webm Encoder parameters: g_usage = 0 g_threads = 8 g_profile = 0 g_w = 720 g_h = 480 g_bit_depth = 8 g_input_bit_depth = 8 g_timebase.num = 1 g_timebase.den = 1000 g_error_resilient = 0 g_pass = 0 g_lag_in_frames = 25 rc_dropframe_thresh = 0 rc_resize_allowed = 0 rc_scaled_width = 0 rc_scaled_height = 0 rc_resize_up_thresh = 60 rc_resize_down_thresh = 30 rc_end_usage = 3 rc_target_bitrate = 256 rc_min_quantizer = 0 rc_max_quantizer = 63 rc_undershoot_pct = 25 rc_overshoot_pct = 25 rc_buf_sz = 6000 rc_buf_initial_sz = 4000 rc_buf_optimal_sz = 5000 rc_2pass_vbr_bias_pct = 50 rc_2pass_vbr_minsection_pct = 0 rc_2pass_vbr_maxsection_pct = 2000 kf_mode = 1 kf_min_dist = 0 kf_max_dist = 149