You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置FFmpeg将25fps捕获流编码为60fps并自动插帧?

解决方案

要让FFmpeg将25fps的DXGI捕获流转换为流畅的60fps H264输出,仅设置编码器帧率是不够的——这只会修改输出流的元数据,不会实际生成新帧。你需要使用帧率转换滤镜来实现补帧,以下是两种常用方案:

1. 基础重复帧(低资源消耗)

如果对画面流畅度要求不高,可使用fps滤镜直接重复现有帧来填充帧率:

ffmpeg -f dxgi -framerate 25 -i desktop -vf "fps=60" -c:v libx264 -r 60 output.h264
  • -f dxgi: 指定输入为DXGI桌面捕获流
  • -framerate 25: 明确告知FFmpeg输入帧率为25fps(必须指定,避免自动识别错误)
  • -vf "fps=60": 通过fps滤镜将帧率提升至60fps,自动重复帧补全
  • -c:v libx264: 使用H264软编码器
  • -r 60: 确保输出流的帧率元数据标记为60fps

2. 智能运动插值补帧(高流畅度)

若需要更自然的流畅效果,使用minterpolate滤镜通过运动估计生成中间帧:

ffmpeg -f dxgi -framerate 25 -i desktop -vf "minterpolate=fps=60:mi_mode=mci:mc_mode=aobmc:me_mode=bilat" -c:v libx264 -crf 23 output.h264
  • minterpolate: 运动插值滤镜,通过分析帧间运动生成过渡帧
  • mi_mode=mci: 采用运动补偿插值模式,生成更自然的中间帧
  • mc_mode=aobmc: 自适应重叠块运动补偿,提升插值精度
  • me_mode=bilat: 双向运动估计,优化运动轨迹计算
  • -crf 23: 控制H264编码质量(数值越低质量越高,默认23)

注意事项

  • 若硬件性能有限,minterpolate会占用较多CPU资源,可改用mi_mode=dup降级为重复帧模式,或启用硬件加速编码(如-c:v h264_nvenc用于NVIDIA显卡)
  • 始终明确指定输入帧率,避免FFmpeg自动识别偏差导致滤镜工作异常

内容的提问来源于stack exchange,提问作者TONY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 02:30:44