配置参数说明
硬件加速与编码器选择
codec(编码器)
- 默认值:自动检测
- 可选值:
hevc_vth264_vtx264x265x264_fast - 说明:选择视频编码器。默认自动检测硬件并选择最优方案。
- 自动检测逻辑:
- Apple Silicon + FFmpeg 支持
hevc_videotoolbox→ 自动选择hevc_vt(最快) - Apple Silicon + 仅支持
h264_videotoolbox→ 自动选择h264_vt - 其他情况 → 默认
x264(libx264 软件编码)
- Apple Silicon + FFmpeg 支持
| 编码器 | 类型 | 速度 | 压缩率 | 兼容性 | 说明 |
|---|---|---|---|---|---|
hevc_vt |
硬件(Apple VideoToolbox) | 极快 5-15x | 高 | 较好 | HEVC/H.265,需 Apple Silicon |
h264_vt |
硬件(Apple VideoToolbox) | 快 3-8x | 中 | 极好 | H.264,需 Apple Silicon |
x264 |
软件(libx264) | 基准 | 中 | 极好 | 默认软件编码 |
x265 |
软件(libx265) | 较慢 | 高 | 较好 | 软件 HEVC,文件更小但更慢 |
x264_fast |
软件(libx264 ultrafast) | 快 | 低 | 极好 | 速度优先,文件较大 |
注意:
- VideoToolbox 编码器不支持 CRF 和 preset 参数,使用
-q:v 65控制质量 - 软件编码(x264/x265)时 CRF 和 preset 参数正常生效
- HEVC 输出的 MP4 文件使用
-tag:v hvc1确保播放兼容性
压缩模式参数(compress.py)
crf(恒定质量因子)
- 默认值:
23 - 格式:整数(0 ~ 51)
- 说明:CRF(Constant Rate Factor)控制视频质量。值越小质量越高、文件越大;值越大质量越低、文件越小。CRF 模式会根据画面复杂度自适应调整码率——静态画面(如课件、屏幕录制)自动降低码率,动态画面自动提升质量。
- 推荐值:
18:高质量,接近原始画质23:默认值,屏幕录制/课件的最佳平衡点28:较低质量,文件更小32:极低质量,仅保留大致内容
maxrate(最大码率限制)
- 默认值:
2500k - 格式:数字 + 单位(
k= kbps,M= Mbps) - 说明:配合 CRF 使用的 VBV 码率上限。即使画面突然变化,码率也不会超过此值。防止复杂场景导致码率飙升。
- 推荐值:
1500k:严格限制,适合超小文件需求2500k:默认值,适配大多数屏幕录制场景4000k:宽松限制,保留更多动态细节
bufsize(VBV 缓冲区大小)
- 默认值:
2500k - 格式:数字 + 单位(
k= kbps,M= Mbps) - 说明:VBV 缓冲区大小,通常与 maxrate 保持一致。控制码率波动的平滑程度。
- 推荐值:与 maxrate 保持相同值即可。
audio_bitrate
- 默认值:
96k - 格式:数字 + 单位(
k= kbps) - 说明:AAC 音频比特率。96k 对语音内容完全够用。
- 推荐值:
64k:纯语音,文件更小96k:默认值,语音内容最佳平衡128k:含音乐的通用音质192k:高保真需求
preset
- 默认值:
veryfast - 可选值:
ultrafastsuperfastveryfastfasterfastmediumslowslowerveryslow - 说明:编码速度预设。越快编码速度越快但压缩率略低,越慢压缩率越高但编码时间越长。
- 推荐值:
ultrafast:紧急场景,编码最快,文件略大veryfast:默认值,速度与压缩比的最佳平衡medium:追求更小文件,愿意多等一点时间slow:批量处理时离线编码,文件最小
output_suffix
- 默认值:
_compressed - 格式:字符串
- 说明:输出文件名后缀,插入在扩展名之前。例如
video.mp4→video_compressed.mp4
静默/静止剪切模式参数(trim_silences.py)
noise_db(静默检测阈值)
- 默认值:
-30 - 格式:负数 +
dB(如-40) - 说明:音频低于此分贝值判定为静默。数值越小检测越严格(-40dB 比 -30dB 更严格)。
- 推荐值:
-20dB:宽松,大量短静默会被检测-30dB:默认值,大多数场景适用-40dB:严格,只有明显无声才会被检测-50dB:极严格,几乎完全无声才会计入
scene_threshold(画面静止阈值)
- 默认值:
0.05 - 格式:0 ~ 1 的小数
- 说明:ffmpeg scene detection 的阈值。值越小表示对"静止"的要求越严格,即画面几乎没有变化才视为静止。
- 推荐值:
0.03:极严格,几乎完全不动才算静止0.05:默认值,轻微页面变化可接受0.1:轻微动作(如鼠标移动)不算静止0.2:较大动作才算静止
min_duration(最短片段时长)
- 默认值:
120.0(2分钟) - 格式:秒数(浮点数)
- 说明:只有持续时长超过此值的片段才会被剪切。太短的片段(如语气停顿、短暂休息)会被忽略。设置为 120s(2分钟)意味着只有休息时段等明显的长段空档才会被剪掉。
- 推荐值:
60:1分钟以上才剪(宽松)120:默认值,2分钟以上才剪180:3分钟以上才剪(严格)
mode(检测模式)
- 默认值:
both - 可选值:
bothsilencestatic - 说明:判定要剪掉的片段的标准。
both(默认):同时满足静音 AND 画面静止才剪掉silence:只要静音就剪掉(不考虑画面)static:只要画面静止就剪掉(不考虑是否有声音)
output_suffix(精剪版后缀)
- 默认值:
_trimmed - 格式:字符串
- 说明:精剪版输出文件名的后缀。如
录制视频.mp4→录制视频_trimmed.mp4
cut_dir_name(被剪片段目录名)
- 默认值:
_cuts - 格式:字符串
- 说明:存放被剪片段的目录名。如设置为
_cuts时,原文件同目录下会创建原文件名_cuts/目录。