forked from KolibriOS/kolibrios
402 lines
8.2 KiB
Plaintext
402 lines
8.2 KiB
Plaintext
|
=head1 NAME
|
||
|
|
||
|
ffmpeg-resampler - FFmpeg Resampler
|
||
|
|
||
|
=head1 DESCRIPTION
|
||
|
|
||
|
|
||
|
The FFmpeg resampler provides a high-level interface to the
|
||
|
libswresample library audio resampling utilities. In particular it
|
||
|
allows to perform audio resampling, audio channel layout rematrixing,
|
||
|
and convert audio format and packing layout.
|
||
|
|
||
|
|
||
|
|
||
|
=head1 RESAMPLER OPTIONS
|
||
|
|
||
|
|
||
|
The audio resampler supports the following named options.
|
||
|
|
||
|
Options may be set by specifying -I<option> I<value> in the
|
||
|
FFmpeg tools, I<option>=I<value> for the aresample filter,
|
||
|
by setting the value explicitly in the
|
||
|
C<SwrContext> options or using the F<libavutil/opt.h> API for
|
||
|
programmatic use.
|
||
|
|
||
|
|
||
|
=over 4
|
||
|
|
||
|
|
||
|
|
||
|
=item B<ich, in_channel_count>
|
||
|
|
||
|
Set the number of input channels. Default value is 0. Setting this
|
||
|
value is not mandatory if the corresponding channel layout
|
||
|
B<in_channel_layout> is set.
|
||
|
|
||
|
|
||
|
=item B<och, out_channel_count>
|
||
|
|
||
|
Set the number of output channels. Default value is 0. Setting this
|
||
|
value is not mandatory if the corresponding channel layout
|
||
|
B<out_channel_layout> is set.
|
||
|
|
||
|
|
||
|
=item B<uch, used_channel_count>
|
||
|
|
||
|
Set the number of used input channels. Default value is 0. This option is
|
||
|
only used for special remapping.
|
||
|
|
||
|
|
||
|
=item B<isr, in_sample_rate>
|
||
|
|
||
|
Set the input sample rate. Default value is 0.
|
||
|
|
||
|
|
||
|
=item B<osr, out_sample_rate>
|
||
|
|
||
|
Set the output sample rate. Default value is 0.
|
||
|
|
||
|
|
||
|
=item B<isf, in_sample_fmt>
|
||
|
|
||
|
Specify the input sample format. It is set by default to C<none>.
|
||
|
|
||
|
|
||
|
=item B<osf, out_sample_fmt>
|
||
|
|
||
|
Specify the output sample format. It is set by default to C<none>.
|
||
|
|
||
|
|
||
|
=item B<tsf, internal_sample_fmt>
|
||
|
|
||
|
Set the internal sample format. Default value is C<none>.
|
||
|
This will automatically be chosen when it is not explicitly set.
|
||
|
|
||
|
|
||
|
=item B<icl, in_channel_layout>
|
||
|
|
||
|
|
||
|
=item B<ocl, out_channel_layout>
|
||
|
|
||
|
Set the input/output channel layout.
|
||
|
|
||
|
See the Channel Layout section in the ffmpeg-utils(1) manual
|
||
|
for the required syntax.
|
||
|
|
||
|
|
||
|
=item B<clev, center_mix_level>
|
||
|
|
||
|
Set the center mix level. It is a value expressed in deciBel, and must be
|
||
|
in the interval [-32,32].
|
||
|
|
||
|
|
||
|
=item B<slev, surround_mix_level>
|
||
|
|
||
|
Set the surround mix level. It is a value expressed in deciBel, and must
|
||
|
be in the interval [-32,32].
|
||
|
|
||
|
|
||
|
=item B<lfe_mix_level>
|
||
|
|
||
|
Set LFE mix into non LFE level. It is used when there is a LFE input but no
|
||
|
LFE output. It is a value expressed in deciBel, and must
|
||
|
be in the interval [-32,32].
|
||
|
|
||
|
|
||
|
=item B<rmvol, rematrix_volume>
|
||
|
|
||
|
Set rematrix volume. Default value is 1.0.
|
||
|
|
||
|
|
||
|
=item B<rematrix_maxval>
|
||
|
|
||
|
Set maximum output value for rematrixing.
|
||
|
This can be used to prevent clipping vs. preventing volumn reduction
|
||
|
A value of 1.0 prevents cliping.
|
||
|
|
||
|
|
||
|
=item B<flags, swr_flags>
|
||
|
|
||
|
Set flags used by the converter. Default value is 0.
|
||
|
|
||
|
It supports the following individual flags:
|
||
|
|
||
|
=over 4
|
||
|
|
||
|
|
||
|
=item B<res>
|
||
|
|
||
|
force resampling, this flag forces resampling to be used even when the
|
||
|
input and output sample rates match.
|
||
|
|
||
|
=back
|
||
|
|
||
|
|
||
|
|
||
|
=item B<dither_scale>
|
||
|
|
||
|
Set the dither scale. Default value is 1.
|
||
|
|
||
|
|
||
|
=item B<dither_method>
|
||
|
|
||
|
Set dither method. Default value is 0.
|
||
|
|
||
|
Supported values:
|
||
|
|
||
|
=over 4
|
||
|
|
||
|
|
||
|
=item B<rectangular>
|
||
|
|
||
|
select rectangular dither
|
||
|
|
||
|
=item B<triangular>
|
||
|
|
||
|
select triangular dither
|
||
|
|
||
|
=item B<triangular_hp>
|
||
|
|
||
|
select triangular dither with high pass
|
||
|
|
||
|
=item B<lipshitz>
|
||
|
|
||
|
select lipshitz noise shaping dither
|
||
|
|
||
|
=item B<shibata>
|
||
|
|
||
|
select shibata noise shaping dither
|
||
|
|
||
|
=item B<low_shibata>
|
||
|
|
||
|
select low shibata noise shaping dither
|
||
|
|
||
|
=item B<high_shibata>
|
||
|
|
||
|
select high shibata noise shaping dither
|
||
|
|
||
|
=item B<f_weighted>
|
||
|
|
||
|
select f-weighted noise shaping dither
|
||
|
|
||
|
=item B<modified_e_weighted>
|
||
|
|
||
|
select modified-e-weighted noise shaping dither
|
||
|
|
||
|
=item B<improved_e_weighted>
|
||
|
|
||
|
select improved-e-weighted noise shaping dither
|
||
|
|
||
|
|
||
|
=back
|
||
|
|
||
|
|
||
|
|
||
|
=item B<resampler>
|
||
|
|
||
|
Set resampling engine. Default value is swr.
|
||
|
|
||
|
Supported values:
|
||
|
|
||
|
=over 4
|
||
|
|
||
|
|
||
|
=item B<swr>
|
||
|
|
||
|
select the native SW Resampler; filter options precision and cheby are not
|
||
|
applicable in this case.
|
||
|
|
||
|
=item B<soxr>
|
||
|
|
||
|
select the SoX Resampler (where available); compensation, and filter options
|
||
|
filter_size, phase_shift, filter_type & kaiser_beta, are not applicable in this
|
||
|
case.
|
||
|
|
||
|
=back
|
||
|
|
||
|
|
||
|
|
||
|
=item B<filter_size>
|
||
|
|
||
|
For swr only, set resampling filter size, default value is 32.
|
||
|
|
||
|
|
||
|
=item B<phase_shift>
|
||
|
|
||
|
For swr only, set resampling phase shift, default value is 10, and must be in
|
||
|
the interval [0,30].
|
||
|
|
||
|
|
||
|
=item B<linear_interp>
|
||
|
|
||
|
Use Linear Interpolation if set to 1, default value is 0.
|
||
|
|
||
|
|
||
|
=item B<cutoff>
|
||
|
|
||
|
Set cutoff frequency (swr: 6dB point; soxr: 0dB point) ratio; must be a float
|
||
|
value between 0 and 1. Default value is 0.97 with swr, and 0.91 with soxr
|
||
|
(which, with a sample-rate of 44100, preserves the entire audio band to 20kHz).
|
||
|
|
||
|
|
||
|
=item B<precision>
|
||
|
|
||
|
For soxr only, the precision in bits to which the resampled signal will be
|
||
|
calculated. The default value of 20 (which, with suitable dithering, is
|
||
|
appropriate for a destination bit-depth of 16) gives SoX's 'High Quality'; a
|
||
|
value of 28 gives SoX's 'Very High Quality'.
|
||
|
|
||
|
|
||
|
=item B<cheby>
|
||
|
|
||
|
For soxr only, selects passband rolloff none (Chebyshev) & higher-precision
|
||
|
approximation for 'irrational' ratios. Default value is 0.
|
||
|
|
||
|
|
||
|
=item B<async>
|
||
|
|
||
|
For swr only, simple 1 parameter audio sync to timestamps using stretching,
|
||
|
squeezing, filling and trimming. Setting this to 1 will enable filling and
|
||
|
trimming, larger values represent the maximum amount in samples that the data
|
||
|
may be stretched or squeezed for each second.
|
||
|
Default value is 0, thus no compensation is applied to make the samples match
|
||
|
the audio timestamps.
|
||
|
|
||
|
|
||
|
=item B<first_pts>
|
||
|
|
||
|
For swr only, assume the first pts should be this value. The time unit is 1 / sample rate.
|
||
|
This allows for padding/trimming at the start of stream. By default, no
|
||
|
assumption is made about the first frame's expected pts, so no padding or
|
||
|
trimming is done. For example, this could be set to 0 to pad the beginning with
|
||
|
silence if an audio stream starts after the video stream or to trim any samples
|
||
|
with a negative pts due to encoder delay.
|
||
|
|
||
|
|
||
|
=item B<min_comp>
|
||
|
|
||
|
For swr only, set the minimum difference between timestamps and audio data (in
|
||
|
seconds) to trigger stretching/squeezing/filling or trimming of the
|
||
|
data to make it match the timestamps. The default is that
|
||
|
stretching/squeezing/filling and trimming is disabled
|
||
|
(B<min_comp> = C<FLT_MAX>).
|
||
|
|
||
|
|
||
|
=item B<min_hard_comp>
|
||
|
|
||
|
For swr only, set the minimum difference between timestamps and audio data (in
|
||
|
seconds) to trigger adding/dropping samples to make it match the
|
||
|
timestamps. This option effectively is a threshold to select between
|
||
|
hard (trim/fill) and soft (squeeze/stretch) compensation. Note that
|
||
|
all compensation is by default disabled through B<min_comp>.
|
||
|
The default is 0.1.
|
||
|
|
||
|
|
||
|
=item B<comp_duration>
|
||
|
|
||
|
For swr only, set duration (in seconds) over which data is stretched/squeezed
|
||
|
to make it match the timestamps. Must be a non-negative double float value,
|
||
|
default value is 1.0.
|
||
|
|
||
|
|
||
|
=item B<max_soft_comp>
|
||
|
|
||
|
For swr only, set maximum factor by which data is stretched/squeezed to make it
|
||
|
match the timestamps. Must be a non-negative double float value, default value
|
||
|
is 0.
|
||
|
|
||
|
|
||
|
=item B<matrix_encoding>
|
||
|
|
||
|
Select matrixed stereo encoding.
|
||
|
|
||
|
It accepts the following values:
|
||
|
|
||
|
=over 4
|
||
|
|
||
|
|
||
|
=item B<none>
|
||
|
|
||
|
select none
|
||
|
|
||
|
=item B<dolby>
|
||
|
|
||
|
select Dolby
|
||
|
|
||
|
=item B<dplii>
|
||
|
|
||
|
select Dolby Pro Logic II
|
||
|
|
||
|
=back
|
||
|
|
||
|
|
||
|
Default value is C<none>.
|
||
|
|
||
|
|
||
|
=item B<filter_type>
|
||
|
|
||
|
For swr only, select resampling filter type. This only affects resampling
|
||
|
operations.
|
||
|
|
||
|
It accepts the following values:
|
||
|
|
||
|
=over 4
|
||
|
|
||
|
|
||
|
=item B<cubic>
|
||
|
|
||
|
select cubic
|
||
|
|
||
|
=item B<blackman_nuttall>
|
||
|
|
||
|
select Blackman Nuttall Windowed Sinc
|
||
|
|
||
|
=item B<kaiser>
|
||
|
|
||
|
select Kaiser Windowed Sinc
|
||
|
|
||
|
=back
|
||
|
|
||
|
|
||
|
|
||
|
=item B<kaiser_beta>
|
||
|
|
||
|
For swr only, set Kaiser Window Beta value. Must be an integer in the
|
||
|
interval [2,16], default value is 9.
|
||
|
|
||
|
|
||
|
=item B<output_sample_bits>
|
||
|
|
||
|
For swr only, set number of used output sample bits for dithering. Must be an integer in the
|
||
|
interval [0,64], default value is 0, which means it's not used.
|
||
|
|
||
|
|
||
|
=back
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
=head1 SEE ALSO
|
||
|
|
||
|
|
||
|
|
||
|
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libswresample(3)
|
||
|
|
||
|
|
||
|
=head1 AUTHORS
|
||
|
|
||
|
|
||
|
The FFmpeg developers.
|
||
|
|
||
|
For details about the authorship, see the Git history of the project
|
||
|
(git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
|
||
|
B<git log> in the FFmpeg source directory, or browsing the
|
||
|
online repository at E<lt>B<http://source.ffmpeg.org>E<gt>.
|
||
|
|
||
|
Maintainers for the specific components are listed in the file
|
||
|
F<MAINTAINERS> in the source code tree.
|
||
|
|
||
|
|
||
|
|