Skip to content

Commit dded469

Browse files
committed
More ffmpeg parameter adjustments for cli parameter changes, from rkulagow via email discussion.
1 parent 842b0a2 commit dded469

File tree

3 files changed

+44
-37
lines changed

3 files changed

+44
-37
lines changed

nuvexport/export/ffmpeg.pm

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -141,35 +141,35 @@ package export::ffmpeg;
141141
my $value = shift;
142142
# Which version?
143143
if ($self->{'ffmpeg_param_vers'} >= 2) {
144-
return param_pair('ab', $value * 1024) if ($param eq 'ab');
144+
return param_pair('ab', $value.'k') if ($param eq 'ab');
145145
}
146146
if ($self->{'ffmpeg_param_vers'} >= 1) {
147-
return param_pair('ac', $value) if ($param eq 'channels');
148-
return param_pair('ar', $value) if ($param eq 'sample_rate');
149-
return param_pair('b', $value * 1024) if ($param eq 'bit_rate');
150-
return param_pair('b_qfactor', $value) if ($param eq 'b_quant_factor');
151-
return param_pair('b_qoffset', $value) if ($param eq 'b_quant_offset');
152-
return param_pair('bf', $value) if ($param eq 'max_b_frames');
153-
return param_pair('bt', $value * 1024) if ($param eq 'bit_rate_tolerance');
154-
return param_pair('bufsize', $value * 1024) if ($param eq 'rc_buffer_size');
155-
return param_pair('bug', $value) if ($param eq 'bugs');
156-
return param_pair('error', $value) if ($param eq 'error_rate');
157-
return param_pair('g', $value) if ($param eq 'gop_size');
158-
return param_pair('i_qfactor', $value) if ($param eq 'i_quant_factor');
159-
return param_pair('i_qoffset', $value) if ($param eq 'i_quant_offset');
160-
return param_pair('maxrate', $value * 1024) if ($param eq 'rc_max_rate');
161-
return param_pair('mblmax', $value) if ($param eq 'mb_lmax');
162-
return param_pair('mblmin', $value) if ($param eq 'mb_lmin');
163-
return param_pair('mepc', $value) if ($param eq 'me_penalty_compensation');
164-
return param_pair('minrate', $value) if ($param eq 'rc_min_rate');
165-
return param_pair('qcomp', $value) if ($param eq 'qcompress');
166-
return param_pair('qdiff', $value) if ($param eq 'max_qdiff');
167-
return param_pair('qsquish', $value) if ($param eq 'rc_qsquish');
168-
return param_pair('rc_init_cplx', $value) if ($param eq 'rc_initial_cplx');
169-
return param_pair('skip_exp', $value) if ($param eq 'frame_skip_exp');
170-
return param_pair('skip_factor', $value) if ($param eq 'frame_skip_factor');
171-
return param_pair('skip_threshold', $value) if ($param eq 'frame_skip_threshold');
172-
return param_pair('threads', $value) if ($param eq 'thread_count');
147+
return param_pair('ac', $value) if ($param eq 'channels');
148+
return param_pair('ar', $value) if ($param eq 'sample_rate');
149+
return param_pair('b', $value.'k') if ($param eq 'bit_rate');
150+
return param_pair('b_qfactor', $value) if ($param eq 'b_quant_factor');
151+
return param_pair('b_qoffset', $value) if ($param eq 'b_quant_offset');
152+
return param_pair('bf', $value) if ($param eq 'max_b_frames');
153+
return param_pair('bt', $value.'k') if ($param eq 'bit_rate_tolerance');
154+
return param_pair('bufsize', $value.'k') if ($param eq 'rc_buffer_size');
155+
return param_pair('bug', $value) if ($param eq 'bugs');
156+
return param_pair('error', $value) if ($param eq 'error_rate');
157+
return param_pair('g', $value) if ($param eq 'gop_size');
158+
return param_pair('i_qfactor', $value) if ($param eq 'i_quant_factor');
159+
return param_pair('i_qoffset', $value) if ($param eq 'i_quant_offset');
160+
return param_pair('maxrate', $value.'k') if ($param eq 'rc_max_rate');
161+
return param_pair('mblmax', $value) if ($param eq 'mb_lmax');
162+
return param_pair('mblmin', $value) if ($param eq 'mb_lmin');
163+
return param_pair('mepc', $value) if ($param eq 'me_penalty_compensation');
164+
return param_pair('minrate', $value) if ($param eq 'rc_min_rate');
165+
return param_pair('qcomp', $value) if ($param eq 'qcompress');
166+
return param_pair('qdiff', $value) if ($param eq 'max_qdiff');
167+
return param_pair('qsquish', $value) if ($param eq 'rc_qsquish');
168+
return param_pair('rc_init_cplx', $value) if ($param eq 'rc_initial_cplx');
169+
return param_pair('skip_exp', $value) if ($param eq 'frame_skip_exp');
170+
return param_pair('skip_factor', $value) if ($param eq 'frame_skip_factor');
171+
return param_pair('skip_threshold', $value) if ($param eq 'frame_skip_threshold');
172+
return param_pair('threads', $value) if ($param eq 'thread_count');
173173
}
174174
# Unknown, just return the parameter
175175
return param_pair($param, $value);

nuvexport/export/ffmpeg/DivX.pm

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,9 @@ package export::ffmpeg::DivX;
132132
print "First pass...\n";
133133
$self->{'ffmpeg_xtra'} = ' -vcodec mpeg4'
134134
. $self->param('bit_rate', $self->{'v_bitrate'})
135-
. ' -minrate 32 -maxrate '.(2*$self->{'v_bitrate'}).' -bt 32'
135+
. $self->param('rc_min_rate', 32)
136+
. $self->param('rc_max_rate', (2 * $self->{'v_bitrate'}))
137+
. $self->param('bit_rate_tolerance', 32)
136138
. ' -bufsize 65535'
137139
. ' -lumi_mask 0.05 -dark_mask 0.02 -scplx_mask 0.5'
138140
. ' -mv4'
@@ -146,8 +148,10 @@ package export::ffmpeg::DivX;
146148
# Second pass
147149
print "Final pass...\n";
148150
$self->{'ffmpeg_xtra'} = ' -vcodec mpeg4'
149-
. ' -b ' . $self->{'v_bitrate'}
150-
. ' -minrate 32 -maxrate '.(2*$self->{'v_bitrate'}).' -bt 32'
151+
. $self->param('bit_rate', $self->{'v_bitrate'})
152+
. $self->param('rc_min_rate', 32)
153+
. $self->param('rc_max_rate', (2 * $self->{'v_bitrate'}))
154+
. $self->param('bit_rate_tolerance', 32)
151155
. ' -bufsize 65535'
152156
. ' -lumi_mask 0.05 -dark_mask 0.02 -scplx_mask 0.5'
153157
. ' -mv4'
@@ -161,13 +165,14 @@ package export::ffmpeg::DivX;
161165
# Single Pass
162166
else {
163167
$self->{'ffmpeg_xtra'} = ' -vcodec mpeg4'
164-
. ' -b ' . $self->{'v_bitrate'}
168+
. $self->param('bit_rate', $self->{'v_bitrate'})
165169
. ($self->{'vbr'}
166170
? " -qmin $self->{'quantisation'}"
167-
. ' -qmax 31 -minrate 32'
168-
. ' -maxrate '.(2*$self->{'v_bitrate'})
169-
. ' -bt 32'
170-
. ' -bufsize 65535'
171+
. ' -qmax 31'
172+
. $self->param('rc_min_rate', 32)
173+
. $self->param('rc_max_rate', (2 * $self->{'v_bitrate'}))
174+
. $self->param('bit_rate_tolerance', 32)
175+
. ' -bufsize 65535'
171176
: '')
172177
. ' -lumi_mask 0.05 -dark_mask 0.02 -scplx_mask 0.5'
173178
. ' -mv4'

nuvexport/export/ffmpeg/XviD.pm

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,10 @@ package export::ffmpeg::XviD;
143143
my $ffmpeg_xtra = ' -vcodec xvid'
144144
.$self->param('bit_rate', $self->{'v_bitrate'})
145145
.($self->{'vbr'}
146-
? ' -bt 32 -minrate 32 -maxrate '.(2*$self->{'v_bitrate'})
147-
.' -bufsize 65535'
146+
? $self->param('rc_min_rate', 32)
147+
. $self->param('rc_max_rate', (2 * $self->{'v_bitrate'}))
148+
. $self->param('bit_rate_tolerance', 32)
149+
. ' -bufsize 65535'
148150
: '')
149151
.' -flags +4mv+trell+loop'
150152
.' -aic 1'

0 commit comments

Comments
 (0)