phoboslab / jsmpeg-vnc

A low latency, high framerate screen sharing server for Windows and client for browsers
2.39k stars 395 forks source link

Can't seem to stream Minecraft window #15

Closed techninja closed 9 years ago

techninja commented 9 years ago

This might have something to do with the way the Java window is created? The app initially warns: "data is not aligned! This can lead to a speedloss", and yet does stream well (so it seems from the server), but connecting leads to a still screen and awkward somewhat unresponsive controls.

Other windows seem to stream fine and it's a great proof of concept!

phoboslab commented 9 years ago

The warning is from FFmpegs SWScaler - it can process the raw image data a bit faster (insignificantly in my tests) when pixel data for the window starts at a 16 byte boundary (which always seems to be the case for Windows Device Contexts) and the row width of the pixel data is also 16 byte aligned (which is not the case for certain window sizes). In any case, you can ignore this.

As for your problem: try disabling Windows Aero; the Grabber seems to have problems getting pixel data for OpenGL Windows when Aero is activated. This is probably because hardware accelerated contexts are "overlayed" after we grab the screen. Not sure what to do about that.

techninja commented 9 years ago

Yep, sounds right! Will test later and all will be revealed. I think there's an API for disabling aero during application run, I've certainly seen it. Also, I'm forced to wonder what trickery google is up to with their aero compatible full screen capture for hangouts... I doubt it's fully open source :P

techninja commented 9 years ago

Got minecraft to work after disabling aero. Though it seems that without capturing the cursor, playability is slim to none. Poo.