在webrtc对外接口中,没有直接实现屏幕共享和抓屏接口;
但是可以webrtc中实现了windows上的抓屏模块;
DesktopCapturer
src\modules\desktop_capture\desktop_capturer.h
具体可以参考示例;
这里特别说明一下几点注意的地方:
1:如果只有一个屏幕,默认就抓取一个屏幕的图像,如果有两个屏幕,默认就抓取两个屏幕的图像,合成一个图像;
如果想要指定屏幕抓取,需要枚举屏幕ID,然后设置相关ID;
2:在window上,如果想要应用抓屏,那么需要保护一下几个lib文件:
#pragma comment (lib,"C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.1A\\Lib\\d3d11.lib")
#pragma comment (lib,"C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.1A\\Lib\\dxgi.lib")
#pragma comment (lib,"C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.1A\\Lib\\winmm.lib")
#pragma comment(lib,"out/debug32h264/obj/modules/desktop_capture/desktop_capture_generic.li
WebRTC虽然未直接提供屏幕共享和抓屏接口,但其内部实现了Windows平台的屏幕捕获功能。通过DesktopCapturer模块,我们可以进行屏幕或特定窗口的捕获。在Windows上进行屏幕抓取需要注意屏幕ID的枚举、依赖库的链接,以及两种抓取方式:直接调用CaptureFrame或使用共享内存定时抓取。图像处理可使用libyuv,注意数据格式通常为RGBA或BGRA。
订阅专栏 解锁全文
315

被折叠的 条评论
为什么被折叠?



