请问 win 端有支持后台录制窗口的c++ demo 吗,支持网页 视频等窗口录制 ps:Windows.Graphics.Capture 一下代码怎么获取rgb数据。
嗯呢111
代码如下:
加我qq20958887
https://download.csdn.net/download/bill20100829/14951632
https://download.csdn.net/download/bill20100829/14951646
有个C#项目,比较小,下面C++比较大
都是源码
CamStudio 不是开源的吗 而且不是截取窗口的 他是截取窗口的那块区域
https://github.com/onlyet/ScreenCapture
您好 ffmpeg方案我已经使用过了 有的窗口是不能抓的
您可以使用opencv来录制视频
https://blog.csdn.net/diebiao6526/article/details/101435572
from PIL import ImageGrab
import numpy as np
import cv2
p = ImageGrab.grab()#获得当前屏幕
k=np.zeros((200,200),np.uint8)
a,b=p.size#获得当前屏幕的大小
fourcc = cv2.VideoWriter_fourcc(*'XVID')#编码格式
video = cv2.VideoWriter('test.avi', fourcc, 16, (a, b))#输出文件命名为test.mp4,帧率为16,可以自己设置
while True:
im = ImageGrab.grab()
imm=cv2.cvtColor(np.array(im), cv2.COLOR_RGB2BGR)#转为opencv的BGR格式
video.write(imm)
cv2.imshow('imm', k)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video.release()
cv2.destroyAllWindows()
至于您需要框定区域录制....这涉及windows界面编程
from PIL import ImageGrab
import numpy as np
import cv2
p = ImageGrab.grab((0,0,100,100))#获得指定区域中的图像
k=np.zeros((200,200),np.uint8)
a,b=p.size#获得当前屏幕的大小
fourcc = cv2.VideoWriter_fourcc(*'XVID')#编码格式
video = cv2.VideoWriter('test.avi', fourcc, 16, (a, b))#输出文件命名为test.mp4,帧率为16,可以自己设置
while True:
im = ImageGrab.grab((0,0,100,100))
imm=cv2.cvtColor(np.array(im), cv2.COLOR_RGB2BGR)#转为opencv的BGR格式
video.write(imm)
cv2.imshow('imm', k)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video.release()
cv2.destroyAllWindows()
我这没opencv c++环境啊,不过代码应该都一样写的
2222222222222222