目录
1 说明
FFmpeg 重采样器为 libswresample 库音频重采样实用程序提供了高级接口。特别是,它允许执行音频重采样、音频通道布局重新矩阵以及转换音频格式和打包布局。
2 重采样器选项
音频重采样器支持以下命名选项。
可以通过在 FFmpeg 工具中指定 -选项 值来设置选项,选项= aresample 过滤器的
值SwrContext
,通过在选项中显式设置值或使用libavutil/opt.h用于编程使用的 API。
- uchl, used_chlayout
设置使用的输入通道布局。默认值未设置。该选项仅用于特殊的重新映射。
- isr, in_sample_rate
设置输入采样率。默认值为 0。
- osr, out_sample_rate
设置输出采样率。默认值为 0。
- isf, in_sample_fmt
指定输入样本格式。它默认设置为
none
。- osf, out_sample_fmt
指定输出样本格式。它默认设置为
none
。- tsf, internal_sample_fmt
设置内部样本格式。默认值为
none
。当未明确设置时,将自动选择它。- ichl, in_chlayout
- ochl, out_chlayout
设置输入/输出通道布局。
有关所需语法, 请参阅ffmpeg-utils(1) 手册中的 (ffmpeg-utils) 通道布局部分。
- clev, center_mix_level
设置中心混合电平。它是一个以分贝表示的值,并且必须在区间 [-32,32] 内。
- slev, surround_mix_level
设置环绕声混音级别。它是一个以分贝表示的值,并且必须在区间 [-32,32] 内。
- lfe_mix_level
将 LFE 混音设置为非 LFE 电平。当有 LFE 输入但没有 LFE 输出时使用。它是一个以分贝表示的值,并且必须在区间 [-32,32] 内。
- rmvol, rematrix_volume
设置重新矩阵音量。默认值为 1.0。
- rematrix_maxval
设置重新矩阵的最大输出值。这可用于防止削波与防止体积减小。值为 1.0 可防止削波。
- flags, swr_flags
设置转换器使用的标志。默认值为 0。
它支持以下单独的标志:
- res
强制重采样,即使输入和输出采样率匹配,该标志也会强制使用重采样。
- dither_scale
设置抖动比例。默认值为 1。
- dither_method
设置抖动方法。默认值为 0。
支持的值:
- ‘rectangular’
选择矩形抖动
- ‘triangular’
选择三角形抖动
- ‘triangular_hp’
选择高通三角抖动
- ‘lipshitz’
选择 Lipshitz 噪声整形抖动。
- ‘shibata’
选择柴田噪声整形抖动。
- ‘low_shibata’
选择低柴田噪声整形抖动。
- ‘high_shibata’
选择高柴田噪声整形抖动。
- ‘f_weighted’
选择 f 加权噪声整形抖动
- ‘modified_e_weighted’
选择改进的电子加权噪声整形抖动
- ‘improved_e_weighted’
选择改进的电子加权噪声整形抖动
- resampler
设置重采样引擎。默认值为 swr。
支持的值:
- ‘swr’
选择本机软件重采样器;过滤器选项 precision 和 cheby 在这种情况下不适用。
- ‘soxr’
选择 SoX Resampler(如果可用);补偿和滤波器选项 filter_size、phase_shift、exact_rational、filter_type 和 kaiser_beta 在这种情况下不适用。
- filter_size
仅对于 swr,设置重采样滤波器大小,默认值为 32。
- phase_shift
仅对于 swr,设置重采样相移,默认值为 10,并且必须在区间 [0,30] 内。
- linear_interp
启用时使用线性插值(默认)。如果您想在 exact_rational 失败时保持速度而不是质量,请禁用它。
- exact_rational
仅对于 swr,启用后,尝试根据输入和输出采样率使用精确的phase_count。但是,如果它大于
1 << phase_shift
,则 Phase_count 将作为1 << phase_shift
后备。默认启用。- cutoff
设置截止频率(swr:6dB点;soxr:0dB点)比率;必须是 0 到 1 之间的浮点值。swr 的默认值为 0.97,soxr 的默认值为 0.91(采样率为 44100 时,将整个音频频带保留为 20kHz)。
- precision
仅对于 soxr,将计算重采样信号的精度(以位为单位)。默认值 20(通过适当的抖动,适合目标位深度 16)提供了 SoX 的“高质量”;值为 28 表示 SoX 的“非常高的质量”。
- cheby
仅对于 soxr,选择通带滚降无(切比雪夫)和“无理”比率的更高精度近似。默认值为 0。
- async
仅适用于 swr,使用拉伸、挤压、填充和修剪将简单的 1 参数音频同步到时间戳。将其设置为 1 将启用填充和修剪,较大的值表示每秒可以拉伸或压缩数据的最大样本量。默认值为 0,因此不会应用补偿来使样本与音频时间戳匹配。
- first_pts
仅对于 swr,假设第一个点应该是这个值。时间单位是1/采样率。这允许在流开始时进行填充/修剪。默认情况下,不会对第一帧的预期点数做出任何假设,因此不会进行填充或修剪。例如,如果音频流在视频流之后开始,则可以将其设置为 0,以便用静音填充开头,或者由于编码器延迟而用负点修剪任何样本。
- min_comp
仅对于 swr,设置时间戳和音频数据之间的最小差异(以秒为单位)以触发数据的拉伸/挤压/填充或修剪,以使其与时间戳匹配。默认情况下,拉伸/挤压/填充和修剪被禁用(最小补偿量=
FLT_MAX
)。- min_hard_comp
仅对于 swr,设置时间戳和音频数据之间的最小差异(以秒为单位)以触发添加/删除样本以使其与时间戳匹配。该选项实际上是在硬(修剪/填充)和软(挤压/拉伸)补偿之间进行选择的阈值。请注意,默认情况下,通过以下方式禁用所有补偿最小补偿量。默认值为 0.1。
- comp_duration
仅对于 swr,设置数据拉伸/压缩以使其与时间戳匹配的持续时间(以秒为单位)。必须是非负双浮点值,默认值为 1.0。
- max_soft_comp
仅对于 swr,设置数据拉伸/压缩的最大因子以使其与时间戳匹配。必须是非负双浮点值,默认值为 0。
- matrix_encoding
选择矩阵立体声编码。
它接受以下值:
- ‘none’
选择无
- ‘dolby’
选择杜比
- ‘dplii’
选择杜比定向逻辑 II
默认值为
none
。- filter_type
仅对于 swr,选择重采样滤波器类型。这仅影响重采样操作。
它接受以下值:
- ‘cubic’
选择立方
- ‘blackman_nuttall’
选择 Blackman Nuttall 窗口 sinc
- ‘kaiser’
选择 Kaiser 窗口 sinc
- kaiser_beta
仅对于 swr,设置 Kaiser 窗口 beta 值。必须是区间 [2,16] 内的双精度浮点值,默认值为 9。
- output_sample_bits
仅对于 swr,设置用于抖动的输出采样位数。必须是[0,64]区间内的整数,默认值为0,表示不使用。
3 另请参阅
ffmpeg、ffplay、ffprobe、 libswresample
4 位作者
FFmpeg 开发人员。
git log
有关作者身份的详细信息,请参阅项目的 Git 历史记录 (https://git.ffmpeg.org/ffmpeg),例如通过在 FFmpeg 源目录中键入命令
,或浏览https://git 的在线存储库。 ffmpeg.org/ffmpeg。
文件中列出了特定组件的维护者 维护者在源代码树中。
本文档于2023 年 11 月 17 日使用makeinfo 生成。
由telepoint.bg提供的托管