rdp / screen-capture-recorder-to-video-windows-free

a free open source windows "screen capture" device and recorder (also allows VLC/ffmpeg and others to capture/stream desktop/audio)
https://github.com/rdp/screen-capture-recorder-to-video-windows-free/releases
Other
2.09k stars 458 forks source link

Recording disconnected RDP sessions #7

Closed ciaranj closed 12 years ago

ciaranj commented 12 years ago

Hi! Is it possible to record disconnected remote desktop sessions with this driver ? (Server 2008 R2) The driver functions beautifully [both the shipped java tools and ffmpeg] when I'm connected to the remote session. But if I disconnect (not logout, disconnect) the recorded session is 'black'.

Is this a fundamental limitation of directshow or something that I'm doing wrong that I can work around with some awesome configuration options?

rdp commented 12 years ago

are you starting it from within that rdp session, then leaving it?

ciaranj commented 12 years ago

I am, yes.

rdp commented 12 years ago

Could you try "starting it after logging out?" (add some delay in there?)

It appears from http://social.msdn.microsoft.com/Forums/pl/vcmfcatl/thread/3b03757a-9560-474a-82d5-3cf9885f5421 that when a client is disconnected, it ceases drawing their screen.

Barring that, perhaps...start it with VNC Server running on it maybe that keep it active (or figure out some trick to keep it active)? Oh here's one: start a second rdp connection that rdp's into the first one and is left on (ok maybe not).

ciaranj commented 12 years ago

Hmmm, since this is for running tests, we have an active session 'normally' so that shouldn't be an issue, I'll re-test using the scripts, rather than manually.

ciaranj commented 12 years ago

Sorry for the delay on this, got side-tracked :(

Running :

def command = """c:\temp\vlc\vlc -I dummy dshow:// :dshow-vdev="screen-capture-recorder" :sout=#transcode{vcodec=WMV2,scale=0.5}:std{access=file,mux=asf,dst=c:\temp\vlc\output.wmv}""" def proc = command.execute() // Call execute on the string proc.waitFor()

From a jenkins script console, results in the 'black screen' I'm accustomed to seeing, until I sign into the remote desktop, then video 'appears' in my stream. (Same behaviour with ffmpeg)

ciaranj commented 12 years ago

Fwiw... the info here: http://www.autoitscript.com/forum/topic/133603-screencapture-with-rdp-connections/ helped .. in that if I execute :

c:\\Windows\\System32\\tscon.exe 2 /dest:console

Then my 'session' with id '2' starts to record as expected! :)

rdp commented 12 years ago

awesome, so you got it working fine then?

ciaranj commented 12 years ago

Yeah I think so.. Was a bit fussy, so I'll probably put up a blog post or gist on it at some point (screen capturing tests with jenkins, your driver and vlc) :) thank you.

rdp commented 9 years ago

for followers, if you're using a hyper-V instance, from the mailing list: "This appears to be windows 8.1 RDP client behavior. It closes GUI session when minimized. I found a workaround by not connect to vm through mstsc client directly but from hyper-v manager. Thus I can minimize the window and GUI session stays alive." See also http://stackoverflow.com/questions/32224067/ffmpeg-record-server-desktop-without-connection