在Windows下使用ffmpeg录制屏幕

在电脑上怎样录屏方便?你可以在网上下一个带广告的带限制的要求你付费的软件,也可以使用PowerPoint自带的录屏,在Windows 10上,你可以按Win+G调出游戏Xbox Game Bar,将当前窗口程序设置为游戏,需要的时候点击录制按钮或按 Win+Alt+R 录制屏幕。

当然,你也可以用ffmpeg录屏,只要简单地下载几个文件,再调好适当的参数。无论哪种方法,以适合实际需求为主。

首先下载编译好的最新版本的 ffmpeg ( Windows builds by Zeranoe备份下载) ,将压缩包 bin 文件夹里的 ffmpeg.exe 放到 C:\Windows\System32 中。

使用 dshow 录制(推荐)

依赖 screen capture recorder 提供的虚拟输入设备,需要安装 rdp/screen-capture-recorder-to-video-windows-free

由于 Windows 的 DPI 显示缩放,录制时可能只显示左上角区域,需要修改 ffmpeg.exe 的高 DPI 设置。

高 DPI 设置
ffmpeg -f dshow -i video="screen-capture-recorder":audio="virtual-audio-capturer" -c:v h264_nvenc -r 15 -b:v 800k  -y filename.mp4

使用 gdigrab 录制

打开命令提示符,键入命令 ffmpeg -f gdigrab -framerate 15 -i "desktop" out.mp4 使用默认设置开始录像到工作目录。结束录像按 q 即可。

注意使用 CPU 编码时,-framerate 帧率不能设置太高,建议不超过15,否则会出现丢帧,重影等。 因此我们建议在视频编码时开启硬件加速

硬件加速

对于 intel 集成显卡,使用硬件加速: ffmpeg -f gdigrab -hwaccel cuvid -i "desktop" -vcodec h264_qsv out.mp4

如果你的电脑有 nvidia 显卡,可以开启 cuvid 硬件加速,能够实现 60 帧顺滑录制。

使用 cuvid 加速视频编码: ffmpeg -f gdigrab -hwaccel cuvid -i "desktop" -c:v h264_nvenc out.mp4

当然,你都可以加上 -framerate 60 参数强制设定录制的帧率。

简单地截取一段视频

录制完成后,可以通过 ffmpeg -i output.mp4 -ss 00:00:05(开始时间) -to 00:09:15(结束时间) -c copy output1.mp4 剪掉多余的片段。

cuvid 硬件加速

自动化 CMD 录屏脚本


set datevar=%date:~0,4%%date:~5,2%%date:~8,2%
set timevar=%time:~0,2%
if /i %timevar% LSS 10 (
set timevar=0%time:~1,1%
)
set timevar=%timevar%%time:~3,2%%time:~6,2%

::ffmpeg -list_devices true -f dshow -i dummy 列出可用设备

::ffmpeg -f dshow -framerate 15 -i video="screen-capture-recorder":audio="@device_cm_{xxxx}\wave_{xxxx}" -c:v h264_nvenc -r 30 -b:v 2500k -b:a 320k -y D:\rec\with_mic.mp4 带麦克风录制

ffmpeg -f dshow -framerate 5 -i video="screen-capture-recorder":audio="virtual-audio-capturer" -r 5 -b:v 2000k  D:\rec\%datevar%_%timevar%.mp4

参考链接

to be continue…

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Back to Top