轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频

最好的轻量级录屏软件 Captura 使用 NVDIA nvenc 录制小体积网课视频

  • Captura 安装
    • 下载 Captura
    • 下载 ffmpeg
    • 在 Captura 指定 ffmpeg 路径
    • 测试
      • 选择屏幕
      • 选择音频源
      • 随手一录
  • NVENC 配置
    • hevc_nvenc
      • 高级编码参数
    • h264_nvenc
  • 性能测试
    • hevc_nvenc
      • 视频体积
      • 资源占用
        • GPU
        • CPU
        • 图像质量

Captura 安装

很不幸,由于盗版横行,Captura的开源项目已经终止,终止原因点这里查看

下载 Captura

终止前,最终版本为 9.0.0-beta 4,有诸多小bug,由于 Captura支持直接调用 ffmpeg 命令行,因此我们下载 8.0.0 stable版本即可。

8.0.0 稳定版下载链接

由于 Captura 的便携版本只有 2.68M,因此,如果需要更强大的功能,需要下载另一个开源项目 ffmpeg 的包。
轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第1张图片

下载 ffmpeg

有很多人直接点程序里的下载 ffmpeg,然后下载失败,觉得安装困难,其实大可不必,ffmpeg是极其流行的音视频编解码库,全球有上亿用户使用(包括臭名昭著的格式工厂就是调用的ffmpeg,自己只是做了个壳),不可能装不上的。

一个可用的 ffmpeg 下载路径为
Windows builds from gyan.dev
选择下图所示的 70+M的那个压缩包,版本就用最新的即可
轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第2张图片
下载后,直接解压到全英文路径,复制 bin 文件夹的路径
轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第3张图片

在 Captura 指定 ffmpeg 路径

打开 Captura 的设置页面
轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第4张图片

在 ffmpeg 标签的 ffmpeg folder 填入刚刚的路径即可,无需修改环境变量、无需重启
轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第5张图片

测试

选择屏幕

点击如图所示的图标,后面你的屏幕会变灰,移动鼠标到你想录制的那个屏幕,点击左键即可。
轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第6张图片

选择音频源

按箭头去点,如果你不知道你用的哪个麦克风,那你全点上
至于扬声器,就是你有几个声音源,就列几个,网课从哪个地方出声音,你就点哪个。还不会?全点上
轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第7张图片

随手一录

然后,直接点击 Captura 最上方的红色圆点,理论上即可开始录制,此时用的是默认的编码器 x264

等几秒钟,再次点击红色圆点,停止录制,视频文件的目录请看 UI 最下方的 Output folder。如果录制成功,说明 ffmpeg框架无问题,已经可以软件编码了,后面配置 nvenc进行硬件快速编码

NVENC 配置

hevc_nvenc

hevc 编码器在 Pascal 架构及以上的 N 卡已经支持,我是 GTX1080, 所以,我倾向于用 hevc。

打开之前说过的 ffmpeg 标签,点 Custom标签,在下面高亮的 field 填入如下信息:
Name:随便取个你自己能看得懂的英文名,后续切换编码器的时候用的
Args:-c:v hevc_nvenc
对,就只有这一个参数,指定用nvenc进行编码,后面的编码参数慢慢加
Audio Format: 选AAC吧,比mp3稍微好一点,不过不改也行。
轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第8张图片

填完后,重启,不重启看不到你刚刚自定义的codec!!!!

重启后,可以在ffmpeg 下面选到你刚刚敲的那个编码器,此时,帧数设置上限为
720p: 350fps
1080p: 165 fps
1440p: 60fps
4k: 别了吧,你录网课要这么高清骗鬼呢?!

在上述帧率以内,可以很随意的录制,不会崩溃
轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第9张图片

高级编码参数

也没啥,建议只用下面这个,网课足够了!是不是很精简?
示例:
-c:v hevc_nvenc -preset medium -cq 28

然后在UI,把帧率拉到24

详解:
-c:v hevc_nvenc : 使用N卡的 H.265 硬件编码器
-preset medium : 预制的一些编码设置,我记得大概有 slow medium fast ultrafast,看名字大家都知道是啥,我就不解释了, 实测网课用 slow和medium差距 10%以内
-cq 28 :这个是重点,这个是比-qp (固定量化质量)更高级一点的固定质量(Const Quality),作用是,网课画面不动,老师讲解的时候,文件体积极低,老师ppt动画效果,和切换ppt的时候,用很大的体积去存,这样在质量达到需求时,极大的降低了录制文件的体积,比固定码率(-b)更适合网课(毕竟大部分时间都是老师在bibibibibi,画面最多鼠标动动,不是么)。调节范围是 0~ 51,官方说法是 19 能达到接近无损的画质,又有相对不错的体积,而我们,激进点,直接28,实测网课1小时,1080 24fps 视频体积 160M 左右。下面请看画质对比。
下面两个可以不用加

-pix_fmt nv12 : 输出强制设为 nv12,比yuv444 体积小那么一丢丢(看数字也知道),如果不是high profile 也不会用444的,所以默认即可
-color_range jpeg : 色彩空间 0~255 ,默认为 Y [16,235] UV[16,240],没什么必要改,改了还有可能因为播放器没好好解析metadata擅自又缩放颜色,导致偏色
如果都加上,长这样:-c:v hevc_nvenc -pix_fmt nv12 -color_range jpeg -preset medium -cq 28

h264_nvenc

和 hevc 差不多,但是 Pascal 架构,h264编码支持b帧率(Turing 架构 hevc 也支持 b帧了,然而我买不起),简单说,有了b帧,体积更小!
参考:
图灵 H.264 视频编码速度和质量

轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第10张图片

官方都给测试参数了,你干嘛不用?对吧?
我们精简一下:
-c:v h264_nvenc -preset medium -bf 3 -b_ref_mode 2 -temporal-aq 1 -rc-lookahead 20 -cq 28

性能测试

hevc_nvenc

视频体积

一个小时 160M,我刚录,没问题,你有问题?自己调 cq 数值就行了,很简单

资源占用

GPU

如下图,我想,不算什么吧? 一个屏幕录网课,另一个屏幕打游戏都够了!
轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第11张图片

CPU

我是 AMD 3900X ,CPU还是要干点活的
在这里插入图片描述

图像质量

放大(nearest ,不带线性插值),和screenshot对比
文字的锐利程度,对网课来说,我觉得非常可以了。

轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第12张图片
轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第13张图片

轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频_第14张图片

你可能感兴趣的:(Windows,ffmpeg,视频处理,nvidia)