javaCV系列文章:
补充篇:
javacpp-ffmpeg系列:
javacpp-opencv系列:
一、前言
本系列文章前面内容基本覆盖了推流拉流等内容,屏幕截屏之前也写过,只不过是基于java的,帧率比较低,所以就有了本章,基于javacv的屏幕录制、截屏功能实现。
二、实现功能
本章主要实现基于javacv的屏幕录制和截屏功能,简单实现平均帧率计算。
javacv中有两种方式可以获取windows下的屏幕画面,一种是本章使用的gdigrab方式,另一种是基于dshow的方式。
gdigrab进行实现有以下几个特点
1、屏幕任意范围截屏(offset_x,offset_y,width,height)
2、支持设置抓取帧率,支持高帧率(实测可以超过60帧/秒)
3、支持根据windows窗口标题(title)获取窗口画面,暂时支持中文,使用方式是:title=窗口标题名称
4、鼠标绘制和隐藏(通过draw_mouse属性控制是否隐藏鼠标,0=隐藏鼠标,1=显示鼠标)