当前位置: 首页 > ds >正文

FFmpeg——参数详解

FFmpeg参数详解

  • 一、基本命令结构
    • 1.1、查询参数
      • 1.1.1、version
      • 1.1.2、buildconf
      • 1.1.3、devices
      • 1.1.4、formats
      • 1.1.5、muxers
      • 1.1.6、demuxers
      • 1.1.7、codecs
      • 1.1.8、decoders
      • 1.1.9、encoders
      • 1.1.10、bsfs
      • 1.1.11、protocols
      • 1.1.12、filters
      • 1.1.13、pix_fmts
      • 1.1.14、layouts
      • 1.1.15、sample_fmts
      • 1.1.16、colors

一、基本命令结构

ffmpeg [全局选项] [输入文件选项] -i 输入文件 [输出文件选项] 输出文件

1.1、查询参数

命令参数内容
-version显示版本
-buildconf显示编译配置
-devices显示ffmpeg支持的输入/输出设备(如摄像头、屏幕捕获、音频设备等)
-formats显示可用格式(muxers+demuxers)
-muxers显示可用复用器
-demuxers显示可用解复用器
-codecs显示可用编解码器 (decoders+encoders)
-decoders显示可用解码器
-encoders显示可用编码器
-bsfs显示可用比特流filter
-protocols显示可用的协议
-filters显示可用的过滤器
-pix_fmts显示可用的像素格式
-layouts显示标准声道名称
-sample_fmts显示可用的音频采样格式
-colors显示可用的颜色名称

1.1.1、version

在这里插入图片描述

  • 第一段为版本信息
  • 第二段为FFmpeg在编译时使用的具体配置选项。FFmpeg是一个功能强大的多媒体框架,可以处理视频和音频数据。这段配置信息表明了FFmpeg在编译时启用或禁用了哪些特性、库和硬件加速等
  • 第三段为函数库的版本信息

1.1.2、buildconf

在这里插入图片描述

实际就是将上文的第二段参数更加详细的描述。

1.1.3、devices

在这里插入图片描述

ffmpeg -devices 仅显示 FFmpeg 支持的设备类型,不显示具体设备名称。要查看具体设备(如摄像头、麦克风),需使用特定平台的命令(如 avfoundation、dshow)。

# 查看macOs
ffmpeg -f avfoundation -list_devices true -i ""

在这里插入图片描述

1.1.4、formats

在这里插入图片描述

关键说明:

  • D.,Demuxing(解封装支持,即可以读取该格式)
  • .E,Muxing(封装支持,即可以写入该格式)
  • DE,同时支持输入和输出(如mp4,mov,avi)
  • ..d,device,硬件设备

常见格式:

格式说明
mp4MP4 容器(H.264/AAC 常用)
movQuickTime 格式
aviAVI 容器
mkvMatroska 容器(支持多音轨/字幕)
flvFlash 视频
webmWebM(VP9/Opus)
mpegtsMPEG-TS(流媒体常用)
gif动画 GIF
wav无损 PCM 音频
mp3MP3 音频
aacADTS AAC 音频
h264裸 H.264 视频流
yuv4mpegpipeYUV 原始帧(用于滤镜处理)

如何检查某个格式是否支持?

ffmpeg -formats | grep "格式名"#输出D   mov,mp4,m4a,3gp,3g2,mj2 QuickTime / MOVE  mp4             MP4 (MPEG-4 Part 14)

总结:

  • ffmpeg -formats 列出所有支持的容器格式​(不包含编解码器)。
  • 要查看支持的编解码器,使用 ffmpeg -codecs
  • 要查看支持的硬件加速,使用 ffmpeg -hwaccels

1.1.5、muxers

只查看复用器:
在这里插入图片描述

1.1.6、demuxers

只查看解复用器:
在这里插入图片描述

1.1.7、codecs

查看支持的编解码器:
在这里插入图片描述

字段解释:

符号含义
D支持解码
​E​ 支持编码
V​视频编解码器
A​ 音频编解码器
S​ 字幕编解码器
I仅支持帧内编码(如 JPEG)
L有损压缩
S​无损压缩

常见视频编解码器:

编解码器类型说明
h264有损H.264/AVC(默认用 libx264)
hevc有损H.265/HEVC(默认用 libx265)
mpeg4有损MPEG-4 Part 2(如 DivX/Xvid)
vp9有损Google VP9
av1有损AOMedia AV1
prores无损Apple ProRes
ffv1无损FFmpeg 无损视频

常见音频编解码器:

编解码器类型说明
aac有损AAC(高级音频编码)
mp3有损MPEG Audio Layer III
opus有损低延迟 Opus
flac无损FLAC
alac无损Apple Lossless

常见字幕编解码器:

编解码器说明
assSSA/ASS 字幕
srtSubRip 字幕
webvttWebVTT 字幕

常用查询示例:
检查H.264支持:

ffmpeg -codecs | grep h264# 输出DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 libopenh264) (encoders: libx264 libx264rgb libopenh264 h264_videotoolbox)

查找所有无损音频编解码器:

ffmpeg -codecs | grep "A..S"# 输出DEVIL. asv1                 ASUS V1DEVIL. asv2                 ASUS V2D.V.L. lscr                 LEAD Screen CaptureDEAI.S alac                 ALAC (Apple Lossless Audio Codec) (decoders: alac alac_at) (encoders: alac alac_at)D.AI.S apac                 Marian's A-pac audioD.AI.S ape                  Monkey's AudioD.AI.S atrac3al             ATRAC3 AL (Adaptive TRansform Acoustic Coding 3 Advanced Lossless)D.AI.S atrac3pal            ATRAC3+ AL (Adaptive TRansform Acoustic Coding 3+ Advanced Lossless) (decoders: atrac3plusal)D.AILS bonk                 Bonk audioD.AI.S dst                  DST (Direct Stream Transfer)DEAILS dts                  DCA (DTS Coherent Acoustics) (decoders: dca) (encoders: dca)DEAI.S flac                 FLAC (Free Lossless Audio Codec)DEA..S mlp                  MLP (Meridian Lossless Packing)D.AI.S mp4als               MPEG-4 Audio Lossless Coding (ALS) (decoders: als)D.AI.S osq                  OSQ (Original Sound Quality)DEAI.S pcm_bluray           PCM signed 16|20|24-bit big-endian for Blu-ray mediaDEAI.S pcm_dvd              PCM signed 20|24-bit big-endianD.AI.S pcm_f16le            PCM 16.8 floating point little-endianD.AI.S pcm_f24le            PCM 24.0 floating point little-endianDEAI.S pcm_f32be            PCM 32-bit floating point big-endian
...

查看可用的硬件加速编解码器:

ffmpeg -hwaccels# 输出
Hardware acceleration methods:
videotoolbox

总结:

  • 编码器/解码器
    • 若显示 D 和 E(如 DEA.L. aac),表示支持解码和编码。
    • 若只有 D(如 D.V.L. cinepak),则仅支持解码(无法用此格式编码)。
  • 实际使用编解码器:在命令中通过 -c:v(视频)或 -c:a(音频)指定,例如:
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4

1.1.8、decoders

列出 FFmpeg 支持的所有解码器​(即可以解码的编解码器)
在这里插入图片描述

字段解释:

符号含义
V​视频解码器
A​音频解码器
S​字幕解码器
F​支持帧级多线程
S​支持切片级多线程
​X​实验性解码器(可能不稳定)
B​支持 draw_horiz_band(旧式多线程)
​D​支持直接渲染方法 1

常见视频解码器:

解码器说明
h264H.264/AVC
hevcH.265/HEVC
mpeg4MPEG-4 Part 2(DivX/Xvid)
vp9Google VP9
av1AOMedia AV1
proresApple ProRes
mjpegMotion JPEG

常见音频解码器:

解码器说明
aacAAC(高级音频编码)
mp3MP3
opusOpus
flacFLAC
ac3Dolby Digital (AC-3)

常见字幕解码器:

解码器说明
assSSA/ASS 字幕
srtSubRip 字幕
webvttWebVTT 字幕

常用查询示例:

# 检查H.264解码器支持:
ffmpeg -decoders | grep h264# 查找所有音频解码器
ffmpeg -decoders | grep "A"# 查看实验性解码器
ffmpeg -decoders | grep "X"

1.1.9、encoders

列出 FFmpeg 支持的所有编码器​(即可用于编码的编解码器)

在这里插入图片描述

字段解释:

符号含义
V​视频编码器
A​音频编码器
S​字幕编码器
F​支持帧级多线程
S​支持切片级多线程
X​实验性编码器(可能不稳定)
B​支持 draw_horiz_band(旧式多线程)
D​支持直接渲染方法 1

常见视频编码器:

编码器类型说明
libx264有损H.264/AVC(最常用)
libx265有损H.265/HEVC(高效压缩)
libvpx-vp9有损Google VP9(WebM/流媒体)
libaom-av1有损AOMedia AV1(新一代开源编码)
mpeg4有损MPEG-4 Part 2(兼容旧设备)
prores无损Apple ProRes(专业视频编辑)
ffv1无损FFmpeg 无损视频(归档用)

常见音频编码器:

编码器类型说明
aac有损AAC(主流音频格式)
libmp3lame有损MP3(兼容性广)
libopus有损Opus(低延迟,适合语音/流媒体)
flac无损FLAC(无损压缩)
alac无损Apple Lossless

常见字幕编码器:

编码器说明
srtSubRip 字幕
assSSA/ASS 字幕(支持样式)
webvttWebVTT 字幕

常用查询示例:

# 检查 H.264 编码器​:
ffmpeg -encoders | grep libx264# 查找所有无损音频编码器​:
ffmpeg -encoders | grep "A.*S"# 查看实验性编码器​:
ffmpeg -encoders | grep "X"

1.1.10、bsfs

列出 FFmpeg 支持的所有比特流过滤器(Bitstream Filters,简称 BSFs)​。这些过滤器用于在解码后、编码前修改编码的比特流,而无需完全解码和重新编码。
在这里插入图片描述

常见比特流过滤器及用途:

过滤器名称用途
aac_adtstoasc将 AAC 数据从 ADTS 转换为 ASC 格式(用于 MP4 封装)
h264_mp4toannexb将 H.264 比特流从 MP4 格式转换为 Annex B 格式(用于 TS 流或裸流)
hevc_mp4toannexb将 HEVC 比特流从 MP4 格式转换为 Annex B 格式
extract_extradata从比特流中提取 extradata(如 SPS/PPS)
dump_extra打印 extradata 信息(调试用)
vp9_superframe合并 VP9 超级帧
vp9_superframe_split拆分 VP9 超级帧
h264_metadata修改 H.264 流的元数据(如 level、profile)
hevc_metadata修改 HEVC 流的元数据
mpeg4_unpack_bframes解包 MPEG-4 B 帧
noise向比特流添加噪声(测试用)
null不做任何修改(用于测试或占位)

使用场景:

# MP4 转 TS 流时处理 H.264 数据
ffmpeg -i input.mp4 -c:v copy -bsf:v h264_mp4toannexb -f mpegts output.ts# 提取 H.264 的 SPS/PPS 信息​:
ffmpeg -i input.mp4 -c:v copy -bsf:v dump_extra -f null -# 修改 H.264 的 profile/level​:
ffmpeg -i input.mp4 -c:v copy -bsf:v h264_metadata=profile=high output.mp4# 处理 AAC 音频流​:
ffmpeg -i input.mp4 -c:a copy -bsf:a aac_adtstoasc output.aac

总结:

  • 作用阶段​:比特流过滤器在解码后、编码前处理数据,适用于 -c copy(流复制)场景。
  • ​组合使用​:可通过逗号分隔多个过滤器(如 -bsf:v h264_mp4toannexb,noise)。
  • ​查看参数​:使用 ffmpeg -h bsf=<过滤器名> 查看具体选项(如 ffmpeg -h bsf=h264_metadata)。

1.1.11、protocols

列出 FFmpeg 支持的所有输入/输出协议​(如 file, http, rtmp 等)。这些协议定义了 FFmpeg 如何访问输入源或输出到目标位置。

在这里插入图片描述
在这里插入图片描述

常见输入协议:

协议名用途
file本地文件(默认协议,可省略)
http/httpsHTTP/HTTPS 流(如 MP4/M3U8)
hls HLS直播/点播流(.m3u8)
rtmp/rtmpsRTMP 直播流(带/不带 SSL)
tcp/udp网络流(如 RTP/RTSP)
pipe从标准输入(stdin)读取数据
concat拼接多个文件(如分段视频)
srtp安全 RTP 流(加密传输)

常见输出协议:

协议名用途
file输出到本地文件
http/https输出到 HTTP 服务器
rtmp/rtmps推流到 RTMP 服务器
pipe输出到标准输出(stdout)
icecast输出到 Icecast 音频服务器
udp输出为 UDP 数据包

使用场景:

# 从HTTP下载视频
ffmpeg -i http://example.com/video.mp4 -c copy output.mp4# 推流到 RTMP 服务器
ffmpeg -i input.mp4 -c:v libx264 -f flv rtmp://server/live/stream_key# 拼接分段视频​(使用 concat 协议)
ffmpeg -f concat -i file_list.txt -c copy output.mp4# 从 UDP 接收流​:
ffmpeg -i udp://@239.1.1.1:1234 -c copy output.ts# 输出到 stdout 并管道处理​:
ffmpeg -i input.mp4 -f mp4 pipe:1 | other_command

总结:

  • 隐式协议​:若未指定协议(如 ffmpeg -i input.mp4),默认使用 file 协议。
  • ​协议参数​:部分协议支持附加参数(如 http 的 user_agent,rtmp 的 flashver)。
    ​- 动态协议​:某些协议(如 hls、concat)需要指定 -f 格式。

1.1.12、filters

列出 FFmpeg 支持的所有滤镜(Filters)​,包括视频滤镜(vf)、音频滤镜(af)和通用滤镜。这些滤镜可以对音视频流进行各种处理,如裁剪、缩放、降噪、混音等。

在这里插入图片描述

字段说明:

符号含义
​T​支持时间轴(Timeline)操作(如 enable=‘between(t,10,20)’)
​S​支持多线程切片处理(Slice threading)
C​支持动态命令(Command)控制(如运行时修改参数)
A​音频滤镜(输入/输出均为音频)
V​视频滤镜(输入/输出均为视频)
N​动态输入/输出(如 amix 可接受多个输入)
​`**​**`

常用视频滤镜:

滤镜名用途示例
scale调整分辨率scale=1280:720
crop裁剪视频crop=640:480💯50
`hflip/vflip 水平/垂直翻转hflip
rotate旋转视频rotate=90*PI/180
overlay叠加视频overlay=10:10
trim剪切片段trim=start=10:end=20
eq调整亮度/对比度eq=brightness=0.2
drawtext添加文字drawtext=text=‘Hello’:x=10:y=10
fps修改帧率fps=30
yadif去隔行扫描yadif=1

常用音频滤镜:

滤镜名用途示例
volume调整音量volume=2.0
afade淡入淡出afade=t=in:ss=0:d=5
atempo变速不变调atempo=1.5
aresample重采样aresample=44100
pan声道调整`pan=stereo
highpass/lowpass高通/低通滤波highpass=f=200

复杂滤镜:
FFmpeg 支持多个滤镜组合,使用 -filter_complex 处理复杂任务:

# 示例:水平翻转 + 缩放 + 叠加
ffmpeg -i input.mp4 -filter_complex "[0:v]hflip,scale=640:360[flipped];[0:v][flipped]overlay=10:10" output.mp4

常见使用场景:

# 调整视频分辨率​(保持宽高比:scale=1280:-1(自动计算高度))
ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4# 裁剪视频​ 640:480 = 输出宽高,100:50 = 起始坐标(左上角)
ffmpeg -i input.mp4 -vf "crop=640:480:100:50" output.mp4# 添加水印​
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4# 提取音频片段​
ffmpeg -i input.mp3 -af "atrim=start=10:end=20" output.mp3# 合并多个音频流
ffmpeg -i audio1.mp3 -i audio2.mp3 -filter_complex "amix=inputs=2" output.mp3

注意事项:

  1. 滤镜链顺序​:滤镜按从左到右顺序执行(如 hflip,scale 先翻转再缩放)。
  2. ​GPU 加速​:部分滤镜支持 GPU(如 scale_npp),需检查 FFmpeg 编译选项。
  3. 性能优化​:
    • 使用 -vf 代替 -filter_complex 处理简单任务。
    • 启用多线程(如 -threads 4)。

1.1.13、pix_fmts

列出 FFmpeg 支持的所有像素格式(Pixel Formats)​。像素格式定义了视频帧中像素的存储方式(如 RGB、YUV、色彩深度、平面/打包排列等),对视频处理和编解码性能有重要影响。

在这里插入图片描述

字段说明:

符号含义
​I​支持作为输入格式(解码器可输出此格式)
O​支持作为输出格式(编码器可接受此格式)
H​硬件加速格式(如 vaapi_vld)
P​调色板格式(如 GIF)
B​比特流格式(如字幕)
NAME​像素格式名称(如 yuv420p)
NB_COMPONENTS​ 颜色分量数(如 YUV=3,NV12=2)
BITS_PER_PIXEL​ 每像素总比特数(如 12=8+2+2)

YUV格式(主流视频编码):

格式说明用途
yuv420p标准 YUV 4:2:0 平面格式H.264/HEVC 默认
yuvj420p带 JPEG 色彩范围的YUV 4:2:0 旧式 MJPEG
yuv422pYUV 4:2:2 平面格式专业视频
yuv444pYUV 4:4:4 平面格式高保真
nv12/nv21YUV 4:2:0 半平面(Y+UV交错)硬件加速常用

RGB格式:

格式说明用途
rgb248-bit RGB 打包格式
rgbaRGB + Alpha 通道
bgr0BGR 打包(Windows 常用)

硬件加速格式:

格式说明
vaapi_vldIntel/AMD VAAPI 硬件解码
dxva2_vldWindows DXVA2 硬件解码
cudaNVIDIA CUDA 加速

特殊格式:

格式说明
gray8-bit 灰度图像
pal88-bit 调色板(如 GIF)

使用场景:

# 查看当前视频的像素格式​
ffmpeg -i input.mp4
# 在输出中查找 Stream #0:0(und): Video: h264 (yuv420p)。# 强制指定像素格式
# 输出为 yuv420p(兼容性最佳)
ffmpeg -i input.mp4 -pix_fmt yuv420p output.mp4# 转换为灰度视频
ffmpeg -i input.mp4 -pix_fmt gray output.mp4# 硬件解码时指定格式​
# 使用 VAAPI 解码并转换为 yuv420p
ffmpeg -hwaccel vaapi -i input.mp4 -pix_fmt yuv420p output.mp4# 检查编码器支持的格式
ffmpeg -h encoder=libx264 | grep pix_fmts

1.1.14、layouts

列出 FFmpeg 支持的所有音频通道布局(Audio Channel Layouts)​,这些布局定义了音频通道的数量和排列方式(如立体声、5.1环绕声等)。

在这里插入图片描述

在这里插入图片描述

字段说明:

字段含义
​NAME布局名称(如 stereo, 5.1)
​DESCRIPTION​通道缩写组合(见下表)

通道缩写对照:

缩写全称说明
FLFront Left左前
FRFront Right右前
FCFront Center中置
LFELow Frequency低频(低音炮)
BLBack Left左后
BRBack Right右后
SLSide Left左侧环绕
SRSide Right右侧环绕
DLDownmix Left下混左
DRDownmix Right下混右

常见布局及用途:

布局名称通道数典型用途
mono1单声道(播客、电话语音)
stereo2立体声(音乐、普通视频)
5.165.1环绕声(影院、游戏)
5.1(side)65.1(侧环绕替代后环绕)
7.187.1环绕声(高端影音)
7.1(wide)87.1(增加前中置)

使用场景:

# 查看音频文件的通道布局​
ffmpeg -i input.mp3
# 在输出中查找 Stream #0:0: Audio: mp3 (stereo)。# 强制指定输出通道布局​
# 将输入转为单声道
ffmpeg -i input.mp3 -ac 1 -layout mono output_mono.mp3# 将5.1音频转为立体声(自动下混)
ffmpeg -i input_5.1.mkv -ac 2 output_stereo.mp3# 自定义通道映射​
# 提取5.1音频中的左前(FL)和右前(FR)通道
ffmpeg -i input_5.1.mkv -filter_complex "channelsplit=channel_layout=5.1:channels=FL+FR" output_stereo.mp3# 检查编码器支持的布局​
ffmpeg -h encoder=aac | grep channel_layouts
# 输出示例
Supported channel layouts: mono stereo 5.1

关键点:

  • 自动转换​:若未指定 -layout,FFmpeg 会根据 -ac(通道数)自动选择布局(如 -ac 2 → stereo)。
  • 兼容性​:stereo 和 mono 是所有设备支持的基准布局。
  • ​无损处理​:使用 -acodec copy 时需保持输入输出布局一致,否则会失败。

1.1.15、sample_fmts

列出 FFmpeg 支持的所有音频采样格式(Sample Formats)​。这些格式定义了音频样本的位深度​(如 8-bit、16-bit、32-bit)和数据类型​(如整数 signed/unsigned 或浮点数 float),直接影响音频质量和处理精度。
在这里插入图片描述

字段说明:

符号含义
​I​支持作为输入格式(解码器可输出此格式)
O​支持作为输出格式(编码器可接受此格式)
H​硬件加速格式(如某些设备的 s16)
NAME​ 采样格式名称(如 s16, flt)
DESCRIPTION​格式的详细说明(位深度和类型)

常见采样格式:

格式名位深度数据类型典型用途
u88-bit无符号整数低质量音频(电话、旧游戏)
s1616-bit有符号整数CD音质(标准 PCM WAV/MP3)
s3232-bit有符号整数专业音频处理
flt32-bit浮点数高动态范围(录音/混音)
dbl64-bit浮点数超高精度计算(科学分析)

使用场景:

# 查看音频文件的采样格式
ffmpeg -i input.wav
# 在输出中查找 Stream #0:0: Audio: pcm_s16le (s16le)。# 强制指定输出采样格式​
# 转换音频为 32-bit 浮点格式(保留高精度)
ffmpeg -i input.mp3 -sample_fmt flt output.wav# 使用 16-bit 整数(兼容性最佳)
ffmpeg -i input.flac -sample_fmt s16 output.mp3# 硬件加速时的格式限制​
# 某些硬件编码器仅支持 s16(需检查编码器支持)
ffmpeg -hwaccel cuda -i input.wav -c:a aac -sample_fmt s16 output.m4a# 检查编码器支持的格式​
ffmpeg -h encoder=pcm_s16le | grep sample_fmts

关键点:

  • 位深度与质量​:
    • s16(16-bit)是标准 CD 音质(动态范围 ~96dB)。
    • flt(32-bit float)适合多次音效处理(避免截断噪声)。
  • 兼容性​:
    • MP3/AAC 等有损编码通常内部使用 s16。
    • WAV/FLAC 支持高精度格式(如 s32 或 flt)。​
  • 性能​:
    • 整数格式(s16)比浮点(flt)处理更快。
    • 硬件加速可能限制格式(如仅支持 s16)。

1.1.16、colors

列出 FFmpeg 支持的所有颜色名称和颜色空间标识符。这些颜色名称可以在 FFmpeg 滤镜(如 drawtext、color)或参数(如背景色)中直接使用,而颜色空间标识符(如 bt709、smpte170m)用于定义视频的 YUV/RGB 色彩标准。

在这里插入图片描述

预定义颜色名称:

FFmpeg 支持 CSS 风格的颜色名称(如 red、blue)和十六进制值(如 #FF0000)。示例:

$ ffmpeg -colors
Colors:
name            RGB hex
----            -------
white           FFFFFF
red             FF0000
green           00FF00
blue            0000FF
yellow          FFFF00
...(其他颜色)

颜色空间标识符:
列出 FFmpeg 支持的颜色标准(用于 -colorspace、-color_primaries 等参数):

Color spaces:
bt709           BT.709
smpte170m       SMPTE-170M
bt2020          BT.2020
...(其他标准)

常见颜色名称:

颜色名十六进制值示例用途
black#000000背景填充
white#FFFFFF文字颜色
red#FF0000警告标记
green#00FF00成功提示
blue#0000FF超链接
yellow#FFFF00高亮文本
transparen 特殊值透明背景

常见色彩空间标识符:

标识符标准用途
bt709BT.709 (Rec.709)高清电视(sRGB 相似)
smpte170mSMPTE-170M(BT.601) 标清电视(NTSC/PAL)
bt2020BT.2020超高清/HDR
rgb线性 RGB计算机图形

使用场景:

在滤镜中使用颜色名称​:

# 添加红色文字
ffmpeg -i input.mp4 -vf "drawtext=text='Error':fontcolor=red:x=10:y=10" output.mp4# 创建绿色背景视频
ffmpeg -f lavfi -i "color=c=green:size=640x480" -t 5 green_screen.mp4

指定颜色空间参数​:

# 转换视频色彩标准为 BT.709
ffmpeg -i input.mp4 -colorspace bt709 output.mp4# 强制使用 sRGB 色彩原色
ffmpeg -i input.mp4 -color_primaries bt709 output.mp4

透明背景处理(PNG/GIF):

# 生成带透明背景的文字
ffmpeg -f lavfi -i "color=c=black@0.0:size=640x480" -vf "drawtext=text='FFmpeg':fontcolor=white" -frames:v 1 transparent.png

关键点:

  • ​颜色名称兼容性​:
    • 支持所有 CSS 颜色名称。
    • 十六进制格式支持 3/6/8 位(如 #RGB、#RRGGBB、#RRGGBBAA)。
  • ​颜色空间转换​:
    • 错误的空间转换会导致色彩失真(如 BT.601→BT.709)。
    • 使用 -vf “colorspace=…” 滤镜可精确控制转换。
  • 透明度​:
    • 格式需支持 Alpha 通道(如 PNG、MOV with PNG codec)。
    • 使用 color=black@0.0 表示完全透明。
http://www.xdnf.cn/news/16587.html

相关文章:

  • 墨者:通过手工解决SQL手工注入漏洞测试(MongoDB数据库)
  • C++学习(线程相关)
  • 负载均衡Haproxy
  • SABR-Net
  • uniapp input 聚焦时键盘弹起滚动到对应的部分
  • iOS安全和逆向系列教程 第21篇:iOS应用加密与混淆技术深度剖析
  • Java面试宝典:MySQL性能优化
  • 用 ESP32 和 LCD 轻松显示植物湿度
  • 第十八章:AI的“通感”:揭秘图、文、音的共同语言——CLIP模型
  • 系统整理Python的循环语句和常用方法
  • Keil MDK 嵌入式开发问题:Error: L6218E: Undefined symbol HAL_TIM_PWM_ConfigChannel
  • GIt学习——分布式版本控制工具
  • 设计模式(八)结构型:桥接模式详解
  • 设计模式(七)结构型:适配器模式详解
  • 【网络协议安全】任务15:DHCP与FTP服务全配置
  • 安装Selenium⾃动化
  • PiscCode使用OpenCV实现漂浮方块特效
  • 三种常用的抗锯齿
  • Java大数据面试实战:Hadoop生态与分布式计算
  • esp32s3创建rust工程 window成功mac
  • 结构化文本文档的内容抽取与版本重构策略
  • net8.0一键创建支持(Orm-Sqlite-MySql-SqlServer)
  • 【最新最完整】SpringAI-1.0.0开发MCP Server,搭建MCP Client 实战笔记(进阶+详细+完整代码)
  • Map(HashMap、LinkedHashMap、TreeMap)双列集合
  • 【机器学习深度学习】LLaMAFactory评估数据与评估参数解析
  • 《频率之光:危机降临》
  • 下载 | Win11 官方精简版,系统占用空间极少!(7月更新、Win 11 IoT物联网 LTSC版、适合老电脑安装使用)
  • 进度条制作--Linux知识的小应用
  • RabbiteMQ安装-ubuntu
  • Flutter实现列表功能