wcap
Windows系统下简单高效的屏幕录制工具。
在此获取最新版本: [wcap.exe][] (警告: Windows Defender或其他杀毒软件可能会误报)
功能特点
- 按 Ctrl + PrintScreen 开始录制当前显示器(鼠标所在的显示器)
- 按 Ctrl + Win + PrintScreen 开始录制当前活动窗口
- 按 Ctrl + Shift + PrintScreen 选择并录制当前显示器上的固定区域
- 再次按下上述任一组合键停止录制
- 右键单击或双击托盘图标可更改设置
- 视频使用 [H264/AVC][] 或 [H265/HEVC][] 编码,HEVC支持10位编码
- 音频使用 [AAC][] 或 [FLAC][] 编码
- 窗口捕获可录制整个窗口区域(包括标题栏/边框)或仅客户区域
- 可选择在捕获中排除鼠标光标
- 可限制录制时长(秒)或文件大小(MB)
- 可限制最大宽度、高度或帧率 - 捕获的帧将自动缩小
详细说明
wcap使用自**Windows 10 1903版本(2019年5月更新,19H1)**起可用的 [Windows.Graphics.Capture][wgc] API来捕获窗口或整个显示器的内容。捕获的纹理会提交给Media Foundation,使用硬件加速编码器将视频编码为mp4文件。使用从合成器捕获和硬件加速编码器,使其能够消耗很少的CPU和内存资源。
你可以在设置中选择只捕获客户区域或窗口的完整大小 - 对于标准窗口样式,客户区域不包括标题栏和边框。录制的视频大小由初始窗口大小决定。
如果硬件视频编码出现问题,请确保已更新GPU驱动程序 - 默认启用硬件编码器,你可以在设置中禁用它 - 然后视频将使用 [Microsoft Media Foundation H264][MSMFH264] 软件编码器进行编码。在较旧的GPU上,你可能需要显式使用软件编码器,因为它们的硬件编码器质量不佳。
H265编码可能需要从Microsoft Store安装HEVC包 - 将以下链接复制到资源管理器地址栏或开始->运行对话框中:
windows-store://pdp/?ProductId=9n4wgh0z6vhq
音频使用 [WASAPI回环录制][WASAPI loopback recording] 捕获,并使用 [Microsoft Media Foundation AAC][MSMFAAC] 编码器或未公开的Media Foundation FLAC编码器进行编码(似乎在Windows 10中总是存在)。
在设置中可以将录制的mp4文件设置为使用分段mp4格式(仅适用于H264编码)。分段mp4文件不需要"最终化"处理。这意味着如果应用程序或GPU驱动崩溃,或者磁盘空间不足,部分mp4文件仍然可以播放。分段mp4文件的缺点是比普通mp4格式稍大,且搜索速度较慢。
你可以使用设置对话框限制视频的最大分辨率 - 如果将任何最大宽度/高度设置为非零值,捕获的图像将按比例缩小。同样,可以降低捕获帧率以限制每秒最大帧数。将其设置为零将使用合成器帧率,通常是显示器刷新率。较低的视频帧率在相同比特率下会提供更高质量的视频,并减少GPU使用率。如果在录制过程中发现丢帧过多,请尝试降低视频分辨率和帧率。
只有在使用Windows 10 2004版本(2020年5月更新,20H1)或更新版本时,才能在视频中禁用鼠标光标捕获。
从mp4创建gif
如果你想从录制的mp4文件创建gif文件,可以使用以下.bat文件:
ffmpeg.exe -hide_banner -nostdin -loglevel fatal -stats -y -i %1 -filter_complex "[0]fps=15,split[v0][v1];[v0]palettegen=stats_mode=full[p];[v1][p]paletteuse" %~n1.gif
要为每一帧使用新调色板以获得更多颜色(但文件大小更大),可以使用:
ffmpeg.exe -hide_banner -nostdin -loglevel fatal -stats -y -i %1 -filter_complex "[0]fps=15,split[v0][v1];[v0]palettegen=stats_mode=single[p];[v1][p]paletteuse=new=1" %~n1.gif
将这行代码放入make_gif.bat
文件中,将 [ffmpeg][] 可执行文件放在旁边,然后只需将.mp4文件拖放到它上面即可。
将fps=15
更改为所需的gif帧率(或删除以使用原始视频帧率)。查看 [paletteuse][] 过滤器参数以了解不同的抖动方法。
构建
要从源代码构建二进制文件,请安装 [Visual Studio][VS],然后简单运行 build.cmd
。
更新日志
2022.11.06
- 移除捕获开始和停止时的通知
- 移除启动时的Windows 10版本检查,代码始终假定为Windows 10
- 支持10位HEVC编码
较早的条目
2021.12.21
- 允许选择集成GPU还是独立GPU用于编码
- 当没有新帧捕获时,保持正确的编码视频流时间
2021.12.18
- 修复编码音频时的错误音频时间戳
- 修复在大小为奇数时复制纹理的错误d3d11调用
- 修复在编码音频和视频时丢帧过多导致的挂起
2021.12.08
- 修复计算着色器以在较旧的D3D11硬件上工作
2021.12.05
- 允许为YUV转换选择有限范围或全范围
2021.12.04
- 改进调整大小和YUV转换质量
- 改进矩形选择背景绘制的性能
- 修复窗口捕获时子窗口在前台导致的崩溃
2021.10.17
- 允许配置键盘快捷键
2021.10.04
- 选项使用HEVC编解码器编码视频
- 选项使用FLAC编解码器编码音频
- 允许限制文件长度或大小
- 允许选择输出文件夹位置
- 自定义音频编解码器通道和采样率
2021.09.25
- 允许在屏幕上捕获固定位置的矩形区域
- 防止多次打开配置对话框
2021.09.20
- 添加WASAPI回环录制
- 音频使用AAC编解码器编码
- 修复捕获工具栏窗口时的崩溃
2021.09.19
- 初始发布
许可证
这是发布到公共领域的自由和不受限制的软件。
任何人都可以自由复制、修改、发布、使用、编译、销售或分发此软件,无论是源代码形式还是编译后的二进制文件,用于任何目的,商业或非商业用途,并通过任何方式进行。