Windows - 捕获所有桌面屏幕和会话

时间:2018-02-05 12:11:47

标签: windows winapi ffmpeg video-streaming screen-capture

我正在尝试捕获屏幕视频以模拟与TeamViewer和mstsc类似的功能(同时支持多次登录),目前正在使用带有“-f gdbgrab”选项的ffmpeg进行奇妙的操作。

但是,每当我切换用户时,包括尝试升级到管理员,不仅我无法捕获UAC或登录屏幕,而且该过程完全终止:

[gdigrab @ 07e34780] Failed to capture image (error 5)
desktop: I/O error

(以管理员身份运行时甚至是SYSTEM)

根据我的理解,这是由于Windows在登录屏幕,UAC屏幕等方面有不同的会话,而且我从这里读到的内容: Session 0 capture screen - 似乎你无法从其他会话中捕获视频,也无法连接到多个会话,因此也没有使用mstsc。

TeamViewer能够捕获UAC甚至登录屏幕。怎么样?

(最好的情况是,我会使用mstsc,但它会注销已登录的用户)

这是我目前用于流式传输的内容:

ffmpeg -f gdigrab -framerate 10 -i desktop -rtmp_live live -c:v mpeg4 -f rtsp -rtsp_transport udp rtsp://localhost:8888/live.sdp?udp

(我已经有一个或多或少的HID输入功能解决方案,但也可能无法正常使用UAC等。)

0 个答案:

没有答案