ffmpeg文档28-重采样选项

28 重采样选项

音频重采样支持下面一些选项。

选项可以在ffmpeg工具集中采用-option value的形式进行设置,或者在aresample滤镜中以option=value形式设置,也可以通过libavutil/opt.h的API或明确设置在SwrContext选项中。

  • 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

    设置输入/输出通道布局

    参考FFmepg工具集(ffmpeg-utils)通道布局章节手册(ffmpeg-utils(1) )以了解要求语法。

  • 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

    设置rematrix处理的最大值。它用来防止声音放缩为1.0时被裁剪

  • flags, swr_flags

    设置为采用转换的标志,默认为0.

    它支持下面的标志:

    • res

      强制重采样。这个标志将强制重采样,即使输入和输出的采样频率一样。

  • dither_scale

    设置抖动率。默认1.
    关于dither:Dither是数字音乐处理上非常神奇的技巧,目的是通过用少数的Bit达到与较多Bit同样的听觉效果,方法是在最后一个Bit(LSB)上动“手脚”。例如用16Bit记录听起来好似20Bit的信息,听到原先16Bit无法记录的微小信息。举例来说,现在我有个20Bit的采样信息,现在想将其存为16Bit的信息格式,最简单的转换方式就是直接把后面4个Bit去掉,但是这样就失去用20Bit录音/混音的意义。比较技巧性的方法是在第17~20Bit中加入一些噪音,这段噪音就叫做Dither。这些噪音加入后,可能会进位而改变第16个Bit的信息,然后我们再把最后4个Bit删掉,这个过程我们称为redithering,用意是让后面4个Bit的数据线性地反映在第16个Bit上。由于人耳具有轻易将噪音与乐音分离的能力,所以虽然我们加入了噪音,实际上我们却听到了更多音乐的细节。

  • dither_method

    设置抖动方法,默认 0.

    支持的值:

    • ‘rectangular’

      选择rectangular抖动方法

    • ‘triangular’

      选择triangular抖动方法

    • ‘triangular_hp’

      对高频采用triangular抖动方法

    • ‘lipshitz’

      选择lipshitz噪音塑造抖动方法

    • ‘shibata’

      选择shibata噪音塑造抖动方法

    • ‘low_shibata’

      选择低shibata噪音塑造抖动方法

    • ‘high_shibata’

      选择高shibata噪音塑造抖动方法

    • ‘f_weighted’

      选择f-weighted噪音塑造抖动方法

    • ‘modified_e_weighted’

      选择modified-e-weighted噪音塑造抖动方法

    • ‘improved_e_weighted’

      选择improved-e-weighted噪音塑造抖动方法

  • resampler

    设置重采样技术。默认为 swr.

    支持的值:

    • ‘swr’

      选择原生SW重采样; 滤镜选项precisioncheby在这种情况下不可用

    • ‘soxr’

      选择SoX重采样(如果可用)。 compensation, 和滤镜选项filter_size, phase_shift, filter_typekaiser_beta在这种情况下不可用

  • filter_size

    仅对swr有效,设置重采样滤镜尺寸,默认为32

  • phase_shift

    仅对swr有效,设置重采样相移,默认为10,范围 [0,30].

  • linear_interp

    如果为1则采用线性插值。默认为0

  • cutoff

    设置截止频率 (swr: 6dB ; soxr: 0dB ) 比例;必须是一个0到1的浮点数。默认为0.97(对swr模式)和0.91(对soxr)(这意味着采样率为44100,就可以保存整个20KHz的频带)

  • precision

    仅对soxr有效,重采样信号精度位计算。默认值为20(配合合适的抖动,适合一个16bit位深的目标),适合于高品质的SoX,可以设置为28以获得非常高品质的SoX

  • cheby

    仅对soxr有效, 选择通频带滚边切除(Chebyshev)和高精度近视’无理数’比率。默认为0

  • async

    仅对swr有效, 为1则可以采用伸展、挤压、填充和修剪等方法实现同步,默认为0,表示没有任何补偿用于同步音频时间戳

  • first_pts

    仅对swr有效,假定第一个pts(这里表示数据包时间戳)是这个值。时间单位是1/采样率。 这允许对流填充/切边。默认,没有假设第一帧预期时间,所以没有填充或者切边。例如这个值设置为0,表示如果有编码器延迟,音频流与视频流本身是同步的,则先静音直到二者同步开始

  • min_comp

    仅对swr有效, 设置时间戳与音频数据最小差值,单位秒,以此来触发拉伸/压缩/填充或调整的数据匹配的时间戳。默认值为(min_comp = FLT_MAX),表示禁用拉伸/压缩/填充或调整的数据匹配到时间戳

  • min_hard_comp

    仅对swr有效, 设置时间戳与音频数据最小差值,单位秒,以此来触增加/抛弃以匹配时间戳。它设置了一个阀值来选择有效的硬(裁剪/填充)补偿和软(压缩/拉伸)补偿.注意补偿默认是禁止的。而这个选项默认值是0.1.

  • comp_duration

    仅对swr有效, 设置拉伸/压缩数据匹配的时间戳的持续时间。 必须是非负双精度浮点数,默认为1.0.

  • max_soft_comp

    仅对swr有效, 设置在拉伸/压缩以匹配时间戳的最大系数。必须是非负双精度浮点数,默认为0.

  • matrix_encoding

    选择立体声编码矩阵

    接收如下值:

    • ‘none’

      选择none

    • ‘dolby’

      选择Dolby

    • ‘dplii’

      选择Dolby Pro Logic II

    默认为none.

  • filter_type

    仅对swr有效,选择重采样滤镜类型,仅用于重采样操作。

    接收如下值:

    • ‘cubic’

      选择cubic

    • ‘blackman_nuttall’

      选择Blackman Nuttall Windowed Sinc

    • ‘kaiser’

      选择Kaiser Windowed Sinc

  • kaiser_beta

    仅对swr有效, 设置Kaiser Window Beta值,必须是整数,范围[2,16],默认为9.

  • output_sample_bits

    仅对swr有效,采用输出采样抖动。必须为整数,范围 [0,64], 默认为0,表示不采用

时间: 2024-08-04 20:19:01

ffmpeg文档28-重采样选项的相关文章

ffmpeg文档29-放缩选项

29 放缩选项 视频支持下面的一些选项. 选项可以在ffmpeg工具集中采用-option value的形式进行设置,或者在aresample滤镜中以option=value形式设置,也可以通过libavutil/opt.h的API或明确设置在SwrContext选项中. sws_flags 设置放缩标志.也用于设置放缩算法,仅有一个算法能被选中. 接受如下值: ‘fast_bilinear’ 快速双线性缩放算法 ‘bilinear’ 双线性缩放算法 ‘bicubic’ 双三次的缩放算法. ‘e

ffmpeg文档20-格式选项

20 格式选项 libavformat库提供一些常规的全局选项,它们都可被混合器/分离器设置.一些混合器/分离器还支持附加的私有选项,这些都在其组件处介绍. ffmpeg工具中选项通过特定的-option value进行设置,或者通过AVFormatContext选项设置,或者通过libavutil/opt.h中的API设置 下面是一些被支持的选项: avioflags flags (input/output) 可能值: ‘direct’ 减少缓冲 probesize integer (inpu

ffmpeg文档25-设备选项

25 设备选项 libavdevice库提供类似libavformat的接口,即一个输入设备被认为类似一个分离器活着输出设备类似一个混合器.这些接口也类似libavformat一样提供一些常规设备选项.(参考ffmepeg 格式手册). 当然,一些输入或者输出设备还提供一些私有的选项,它们只在特定的组件中有效. 可以做ffmpeg命令行中采用-option value来设定某个选项点,或者通过libavutil/opt.h中的API设置,或者通过AVFormatContext的显式值来进行设置.

ffmpeg文档27-输出设备

27 输出设备 输出设备是可配置用于ffmpeg写入多媒体数据的元素,其附加到系统的输出设备. 在编译配置ffmepg时,所有支持的输出设备都被默认允许.你可以使用配置选项–list-outdevs了解有哪些设备. 你可以通过–disable-outdevs禁止编译所有输出设备,然后再通过–enable-outdev=OUTDEV以支持个别的设备,也可以通过默认配置,再添加–disable-outdev=OUTDEV来禁用个别设备. 在ff*工具集中,-devices可以显示当前允许的输出设备.

ffmpeg文档43-开发者

43 开发者 是FFmpeg的开发者 关于作者的详细信息,可以观看项目(git://source.ffmpeg.org/ffmpeg)的Git历史,或者项目中目录中使用命令git log了解,或者浏览在线的源码(http://source.ffmpeg.org) 源代码树中维护者文件(MAINTAINERS)列出了特定组件的维护人员 另本文档英文版本由makeinfo于2015年6月16日生成 汉化翻译补充说明 由xdsnet(xdsnet at gmail dot com)在2015年6月16

ffmpeg文档26-输入设备

26 输入设备 FFmpeg中的输入设备配置元素用来启用对附加到您的系统一个多媒体设备访问数据. 当编译时,默认会支持所有的输入设备.你可以通过在配置脚本执行时附加–list-indevs了解到支持的设备. 可以通过–disable-indevs在编译时禁用所有输入设备,也可以在此基础上通过–enable-indev=INDEV允许个别设备,或者在默认支持基础上通过–disable-indev=INDEV禁用个别设备支持达到类似的目的. 在ff*工具集中,使用-devices可以获取当前支持的设

ffmpeg文档17-视频编码器

17 视频编码器 介绍一些当前有效的视频编码器 libtheora libtheora的封装 编译需要头和库文件,还需要利用--enable-libtheora在配置中允许 更多信息参考http://www.theora.org/ libtheora选项 下面是映射给libtheora的全局选项,它们对品质和码率产生影响. b 对CBR(固定码率编码)设置码率,单位bit/s,在VBR(动态码率编码)模式下本选项被忽略. flags 设置是否允许qscale标志(恒定质量模式——VBR模式下)在

ffmpeg文档16-音频编码器

16 音频编码器 介绍当前可用的音频编码器 aac AAC(Advanced Audio Coding )编码器 当前原生(内置)编码器还处于实验阶段,而且只能支持AAC-LC(低复杂度AAC).要使用这个编码器,必须选择 ‘experimental’或者'lower' 因为当前还处于实验期,所以很多意外可能发生.如果需要一个更稳定的AAC编码器,参考libvo-aacenc,然而它也有一些负面报告. aac选项 b 设置码率,单位是bits/s,是自动恒定比特率(CBR)模式的码率 q 设置为

ffmpeg文档05-选项

5 选项 所有的数值选项,如果没有特殊定义,则需要一个接受一个字符串代表一个数作为输入,这可能跟着一个单位量词首字母,例如"k","m"或"G" 如果i是附加到SI单位的首字母,完整的字母将被解释为一个2的幂数单位,这是基于1024而不是1000的,添加B的SI单位则是再将此值乘以8.例如KB,MiB,G和B 对于选项中不带参数的布尔选项,即把相应的值设置为true,它们可以添加no设置为false,例如nofoo就相当于foo false .