音频重采样器支持以下命名选项。
可以通过在FFmpeg工具中指定-option值,为aresample过滤器指定option = value,通过在SwrContext选项中显式设置值或使用libavutil / opt.h``API进行编程来设置选项。
ich,in_channel_count
设置输入通道的数量。默认值为0。如果设置了相应的通道布局in_channel_layout,则不必设置此值。
och,out_channel_count
设置输出通道的数量。默认值为0。如果设置了相应的通道布局out_channel_layout,则不必设置此值。
uch,used_channel_count
设置已使用输入通道的数量。默认值为0。此选项仅用于特殊重映射。
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。未明确设置时,将自动选择此选项。
- icl,in_channel_layout
- ocl,out_channel_layout
设置输入/输出通道布局。
学习地址:音视频新手快速入门必备系列-FFmpeg+SDL播放器开发实现-学习视频教程-腾讯课堂
【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~
![]()
有关所需语法,请参阅(ffmpeg-utils)channel布局语法。
clev,center_mix_level
设置中心混音水平。它是以deciBel表示的值,并且必须在区间[-32,32]中。
slev,surround_mix_level
设置环绕声混音水平。它是以deciBel表示的值,并且必须在区间[-32,32]中。
lfe_mix_level
将LFE混音设置为非LFE级别。当有LFE输入但没有LFE输出时使用。它是以deciBel表示的值,并且必须在区间[-32,32]中。
rmvol,rematrix_volume
设置rematrix卷。默认值为1.0。
rematrix_maxval
设置重新矩阵的最大输出值。这可用于防止削波与防止音量减小。值1.0可防止剪裁。
flags, swr_flags
设置转换器使用的标志。 默认值为0。
它支持以下各个标志:
| 值 | 解释 |
|---|---|
| res | 强制重新采样,即使输入和输出采样率匹配,此标志也会强制使用重采样 |
dither_scale
设置抖动比例。 默认值为1。
dither_method
设置抖动方法。 默认值为0。
支持如下的值:
| 值 | 解释 |
|---|---|
| rectangular | 选择矩形抖动 |
| triangular | 选择三角形抖动 |
| triangular_hp | 选择高通三角形抖动 |
| lipshitz | 选择Lipshitz噪音塑造抖动 |
| shibata | 选择Shibata噪音整形抖动 |
| low_shibata | 选择低Shibata噪声整形抖动 |
| high_shibata | 选择高Shibata噪声整形抖动 |
| f_weighted | 选择f加权噪声整形抖动 |
| modified_e_weighted | 选择修改的e加权噪声整形抖动 |
| improved_e_weighted | 选择改进的e加权噪声整形抖动 |