I have started looking at UltraVNC as a possible solution for a remote viewing and access application requirement we have, but I would need for the VNC server to get the pixel data that it sends from an image buffer which our software updates rather than from the system desktop or any specific window. I have managed to build the the winvnc project source and started stepping though it. Can someone here tell me where to find the code that I would need to change to make UltraVNC work the way we want?
Thank You
Larry
Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
Modifications to UltraVNC
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
Re: Modifications to UltraVNC
There are several changes.
-screensize need to become imagesize
-same for color depth
-bitmap pointer
Mouse/keyboard... works on screen with screen coordinates
Not a simple change of buffer...
-screensize need to become imagesize
-same for color depth
-bitmap pointer
Mouse/keyboard... works on screen with screen coordinates
Not a simple change of buffer...
Re: Modifications to UltraVNC
I realize that there are a number of changes that need to be made, but I was hoping to get an idea of where in the code to start looking. We have a software application which controls a camera and displays live video, and we need to allow remote viewers to see the video and do certain actions to control the camera, but we cannot allow the remote viewer to take control of the host computer, access arbitrary files, etc.. Data security is an important issue for us, so we need to strictly restrict what remote users are allowed to see and do.
Thank You
Larry
Thank You
Larry
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
Re: Modifications to UltraVNC
Single user/ multi user ?
Does your camera app can be controled with sendmessage().
Like up/down/left/right in that case you could filter all input and only handle cursor keys or mouse moves.
What's the fomat of the image buffer RGBA ?
Basic this is the same as working with ddegine or the mirror driver.
They provide an image buffer and the changed rectangles. You should make something that does the same
Put the image in a buffer, add a fullsize reactable and loop this with x FPS
Then you also need fake screensize and depth function to simutale a screen with your camera bitmap size.
Nice project, have fun.
Does your camera app can be controled with sendmessage().
Like up/down/left/right in that case you could filter all input and only handle cursor keys or mouse moves.
What's the fomat of the image buffer RGBA ?
Basic this is the same as working with ddegine or the mirror driver.
They provide an image buffer and the changed rectangles. You should make something that does the same
Put the image in a buffer, add a fullsize reactable and loop this with x FPS
Then you also need fake screensize and depth function to simutale a screen with your camera bitmap size.
Nice project, have fun.
Re: Modifications to UltraVNC
I do not have all of the requirements yet, but our app will need to support multiple concurrent client, and it will not be allowed to show the host's desktop or allow any generic control of the host computer or file transfer. After some investigation of the UltraVNC source code and discussion, I think that I will be modifying the code to do blits from the DC of a specific window which belongs to our software instead of the system desktop DC. I will also have to redirect mouse and keyboard events to our software to handle them in its context.
Thank You
Larry
Thank You
Larry