1 描述
FFmpeg 缩放器为 libswscale 库图像转换实用程序提供了高级接口。特别是,它允许执行图像重新缩放和像素格式转换。
2 缩放器选项
视频缩放器支持以下命名选项。
可以通过在 FFmpeg 工具中指定 -option 值来设置选项,但下面列出了一些仅限 API 的例外情况。对于编程使用,可以在 SwsContext 选项中或通过 libavutil/opt.h API 明确设置它们。
- sws_flags
-
设置缩放器标志。这也用于设置缩放算法。只应选择一种算法。默认值为“双三次”。
它接受以下值:
- ‘ fast_bilinear ’
-
选择快速双线性缩放算法。
- ‘ bilinear ’
-
选择双线性缩放算法。
- ‘ bicubic ’
-
选择双三次缩放算法。
- ‘ experimental ’
-
选择实验性缩放算法。
- ‘ neighbor ’
-
选择最近邻重新缩放算法。
- ‘ area ’
-
选择平均区域缩放算法。
- ‘ bicublin ’
-
为亮度分量选择双三次缩放算法,为色度分量选择双线性缩放算法。
- ‘ gauss ’
-
选择高斯缩放算法。
- ‘ sinc ’
-
选择 sinc 缩放算法。
- ‘ lanczos ’
-
选择 Lanczos 缩放算法。默认宽度(alpha)为 3,可以通过设置 param0 进行更改。
- ‘ spline ’
-
选择自然双三次样条重缩放算法。
- ‘ print_info ’
-
启用打印/调试日志记录。
- ‘ accurate_rnd ’
-
启用精确舍入。
- ‘ full_chroma_int ’
-
启用全色度插值。
- ‘ full_chroma_inp ’
-
选择全色度输入。
- ‘ bitexact ’
-
启用位精确输出。
- srcw (API only)
-
设置源宽度。
- srch (API only)
-
设置源高度。
- dstw (API only)
-
设置目标宽度。
- dsth (API only)
-
设置目标高度。
- src_format (API only)
-
设置源像素格式(必须以整数表示)。
- dst_format (API only)
-
设置目标像素格式(必须以整数表示)。
- src_range (boolean)
-
如果值设置为 1,表示源为全范围。默认值为 0,表示源为有限范围。
- dst_range (boolean)
-
如果值设置为 1,则启用目标的全范围。默认值为 0,启用有限范围。
- param0, param1
-
设置缩放算法参数。指定的值是某些缩放算法所特有的,其他算法会忽略这些值。指定的值是浮点数值。
- sws_dither
-
设置抖动算法。接受以下值之一。默认值为“自动”。
- ‘ auto ’
-
自动选择
- ‘ none ’
-
无抖动
- ‘ bayer ’
-
拜耳抖动
- ‘ ed ’
-
误差扩散抖动
- ‘ a_dither ’
-
基于加法的算术抖动
- ‘ x_dither ’
-
基于异或的算术抖动(更随机/不太明显图案化 a_dither)。
- alphablend
-
设置当输入有 alpha 但输出没有时使用的 alpha 混合。默认值为“无”。
- ‘ uniform_color ’
-
混合到统一的背景颜色上
- ‘ checkerboard ’
-
混合到棋盘上
- ‘ none ’
-
无混合