1.?屏幕屏幕?Ļ¼??Դ??
2.OBS 源码分析- 采集方案之二(显示器采集)
??Ļ¼??Դ??
LICEcap,一款免费开源的录制录制动画录制神器,适用于Windows和Mac平台。源码源码相比Gifcam,屏幕屏幕LICEcap具有以下优势:
1. 录制的录制录制动画占用空间更小,便于网络传输。源码源码灰色按键源码
2. 支持Windows和Mac平台,屏幕屏幕跨平台兼容性更强。录制录制
LICEcap的源码源码核心功能是捕捉屏幕区域,并将其保存为.gif动画或自有的屏幕屏幕无损.lcf格式文件。其特点包括:
1. .LCF文件格式的录制录制压缩比高于.gif,图像质量更高,源码源码每帧支持的屏幕屏幕颜色数量可超过。
2. 支持内置命令行工具,录制录制轻松转换为.gif格式。源码源码
LICEcap遵循GPL协议,提供免费的开源源代码,方便编程爱好者进行定制和优化。
主要功能包括:
1. 轻量级设计,源码退款操作直观易用,功能灵活。
2. 支持.gif和自定义.lcf文件格式。
安装和获取源代码:
1. 通过git克隆官方仓库。
2. 使用GitHub镜像。
LICEcap的界面简洁,操作简单,主要功能包括:
1. 设置是否在录制前加入标题帧。
2. 是源码布局否在录制的动画右下角显示录制时间。
3. 显示鼠标点击情况。
录制时,用户还可以设定录制时长,达到设定时间自动停止。
总结:
LICEcap是一款强大的动画录制软件,适合用于创建高质量的.gif和.lcf动画。其主要缺点包括:
1. 缺少中文支持,文件名中的中文显示为乱码。
2. 无法全屏录制,wheel源码只能录制指定区域。
3. 无法直接编辑录制的动画,需使用第三方软件如Photoshop。
OBS 源码分析- 采集方案之二(显示器采集)
OBS的视频录制功能支持多种采集方式,其中在plugin-main.c文件中定义了不同采集方式的结构体,并通过extern声明。在Windows系统中,特别是从Windows 8开始,显示器采集方式有所改变,ring 源码以提高采集效率。Windows 8引入了Microsoft DirectX图形基础设施(DXGI)的API,旨在简化桌面协作和远程桌面访问,这一变化使得应用程序能够更轻松地访问和传输桌面内容。
Windows 8及更高版本的桌面采集API,称为桌面复制API,通过位图和关联的元数据进行优化,允许应用程序请求访问沿监视器边界的桌面内容。API提供的元数据包括脏区域、屏幕移动、鼠标光标信息等,应用程序可以根据这些信息进行优化,如基于脏区域进行处理、硬件加速移动和鼠标数据、以及压缩等。OBS的桌面复制功能主要在duplicator-monitor-capture.c、monitor-capture.c以及libobs-d3d中实现,使用DXGI技术来获取屏幕数据,相比传统GDI截图技术有显著性能提升。
在添加采集源时,选择使用DXGI技术可以解决fps采集的挑战,特别是对于Windows 8以上的系统。例如,在duplicator-monitor-capture.c中的duplicator_capture_tick方法会根据系统版本决定采用WCG还是DXGI。在使用DXGI时,关键函数如gs_duplicator_update_frame会被频繁调用,获取桌面资源,并可能遇到如DXGI_ERROR_WAIT_TIMEOUT的返回值处理问题。获取到纹理数据后,需要进行拷贝操作。
DXGI的开发基于COM技术,如果不熟悉这部分,理解相关代码可能会有难度。但熟悉COM的开发者会注意到,如IDXGIOutputDuplication这样的对象都继承自IUnknown。在使用OBS SDK进行二次开发时,确保包含libobs-winrt生成的DLL文件是至关重要的。