qq_36679549
qq_36679549
采纳率25%
2021-01-28 18:36 阅读 23

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

100

请问 win 端有支持后台录制窗口的c++ demo 吗,支持网页 视频等窗口录制 ps:Windows.Graphics.Capture  一下代码怎么获取rgb数据。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

16条回答 默认 最新

  • 已采纳
    qq_26097379 qq_26097379 2021-02-01 13:35

    嗯呢111

    点赞 评论 复制链接分享
  • qq_36679549 qq_36679549 2021-01-28 18:39

    代码如下:

     

    点赞 评论 复制链接分享
  • bill20100829 歇歇 2021-01-28 19:45

    加我qq20958887

    点赞 评论 复制链接分享
  • bill20100829 歇歇 2021-01-28 20:40
  • bill20100829 歇歇 2021-01-28 20:41

    有个C#项目,比较小,下面C++比较大

    点赞 评论 复制链接分享
  • bill20100829 歇歇 2021-01-28 20:42

    都是源码

    点赞 评论 复制链接分享
  • qq_36679549 qq_36679549 2021-01-28 20:45

    CamStudio 不是开源的吗 而且不是截取窗口的 他是截取窗口的那块区域

    点赞 评论 复制链接分享
  • bosaidongmomo bosaidongmomo 2021-01-28 22:50
    点赞 评论 复制链接分享
  • qq_36679549 qq_36679549 2021-01-28 23:41

    您好  ffmpeg方案我已经使用过了 有的窗口是不能抓的

    点赞 评论 复制链接分享
  • bosaidongmomo bosaidongmomo 2021-01-29 08:58

    您可以使用opencv来录制视频

    点赞 评论 复制链接分享
  • bosaidongmomo bosaidongmomo 2021-01-29 08:59
    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()
    点赞 评论 复制链接分享
  • bosaidongmomo bosaidongmomo 2021-01-29 09:01

    点赞 评论 复制链接分享
  • bosaidongmomo bosaidongmomo 2021-01-29 09:01

    至于您需要框定区域录制....这涉及windows界面编程

    点赞 评论 复制链接分享
  • bosaidongmomo bosaidongmomo 2021-01-29 09:41
    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()

    点赞 评论 复制链接分享
  • bosaidongmomo bosaidongmomo 2021-01-29 10:03

    我这没opencv c++环境啊,不过代码应该都一样写的

    点赞 评论 复制链接分享
  • qq_26097379 qq_26097379 2021-02-01 13:35

    2222222222222222

    点赞 评论 复制链接分享

相关推荐