欢迎光临
我们一直在努力

FFmpeg Windows 录屏实战:从命令行到 C/C++ API 完整实现

output_20260909_173642

觉得有用,就请您帮忙点赞转发收藏吧,您的鼓励是我创作的动力,多谢看官了。 由于能力水平有限,文中的错误或不严谨的地方在所难免,还请批评指正。

环境:Windows 10/11,FFmpeg 5.x/6.x/7.x(推荐 gyan.dev 的 full 构建)。 本文系统讲解在 Windows 平台用 FFmpeg 做屏幕录制的完整方案,核心结论: 技术选型:gdigrab(GDI,系统自带、免装)采视频 + dshow/wasapi采音频是最通用组合;高性能场景用 ddagrab(DXGI)+ GPU 硬件编码。 音视频组合:gdigrab只采视频,必须搭配独立音频输入,多路音频用 amix混合或保留多音轨。 编码策略:实时采集用 ultrafast + crf 23防掉帧;CPU 瓶颈切 NVENC/QSV/AMF;MP4 加 -movflags +faststart。 完整实现:给出命令行与 C API 两种可运行示例,覆盖设备枚举、采集、编码、封装、优雅停止全流程。 问题排查:音视频同步、CPU 占用、麦克风无声、文件体积、MP4 损坏。


目录

一、技术选型与原理

1.1 Windows 采集方式对比

1.2 架构

二、环境准备

三、命令行实战

3.1 基础录屏(无声音)

3.2 区域 / 窗口

3.3 录屏 + 麦克风

3.4 录屏 + 麦克风 + 系统声音(混合为一条音轨)

3.5 保留双音轨(不混合,建议 MKV)

四、编码优化与硬件加速

4.1 软编(libx264)参数

4.2 硬件编码(大幅降 CPU)

4.3 终极性能:ddagrab + GPU 全链路

4.4 减少启动延迟与丢帧

五、C/C++ API 完整实现

5.1 打开 gdigrab 输入

5.2 初始化 H264 编码器

5.3 主循环:采集 → 编码 → 写入

赞(0)
未经允许不得转载:171主机测评 » FFmpeg Windows 录屏实战:从命令行到 C/C++ API 完整实现
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址