c++ 要怎么实现窗口录制 支持后台录制最小化 可以录制网页

请问 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