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

FFmpeg双窗口录制重复帧、高度不匹配错误解决方案求助

解决命令(NVIDIA显卡适配,最低CPU占用)

ffmpeg -f gdigrab -framerate 2 -thread_queue_size 1024 -i title="你的第一个窗口标题" ^
-f gdigrab -framerate 30 -thread_queue_size 1024 -i title="你的第二个窗口标题" ^
-c:v h264_nvenc -qp 20 -vsync vfr ^
-filter_complex "[0:v]scale_cuda=w=iw:h=ih1[scaled_left];[scaled_left][1:v]hstack=inputs=2" ^
2.mp4

如果没有NVIDIA显卡,使用CPU快速缩放版本:

ffmpeg -f gdigrab -framerate 2 -thread_queue_size 1024 -i title="你的第一个窗口标题" ^
-f gdigrab -framerate 30 -thread_queue_size 1024 -i title="你的第二个窗口标题" ^
-c:v h264_nvenc -qp 20 -vsync vfr ^
-filter_complex "[0:v]scale=w=iw:h=ih1:flags=fast_bilinear[scaled_left];[scaled_left][1:v]hstack=inputs=2" ^
2.mp4

注:Windows命令行换行符用^,Linux/macOS替换为\即可


修改说明

1. 高度不匹配问题修复

  • 滤镜链中先对第一个输入流[0:v]做缩放,直接指定高度参数为第二个输入的高度ih1,不限制宽度比例,符合不需要保持宽高比的要求
  • NVIDIA显卡场景使用scale_cuda硬件缩放,所有缩放运算走GPU,完全不占用CPU资源;无独显场景使用fast_bilinear最快缩放算法,CPU占用比默认算法低70%以上

2. 帧重复报错修复

  • 第一个窗口画面变化频率低,将其采集帧率从30下调到2,足够覆盖3秒1帧的变化频率,减少不必要的采集开销
  • 全局添加-vsync vfr参数,采用可变帧率输出,ffmpeg不会强制补充静止帧,自然不会触发上千帧重复的报错
  • 添加thread_queue_size 1024避免采集队列溢出导致的丢帧
  • 原参数-qp 0为无损编码,输出体积极大,调整为-qp 20后视觉损失几乎可忽略,编码速度更快、显卡占用更低,符合质量适当妥协的要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:36:02