I need to display the contents of a video streaming application inside of my scene and am really stuck as to how I might approach this. Does anyone have any ideas?
Given that a couple of people have pointed out that I’m being too vague I’m adding a little more detail:-
This is for an application running on Microsoft Windows
I’m connecting to the other application via an official API that returns a window
The window with the content I’m interested in would ideally never actually be visible
I’m new to Unity but am a professional software developer
You don’t say what your Unity skills are like, or what platform you are trying to target , or how the video stream is being transported.
Either way it’s a tricky process. I would personally head to the asset store, as there are some really good solutions already made for this. For example:
After that this really is an open ended question. If you want to do it yourself then I would suggest starting small and learn animate images or stream a video that has been imported into Unity, both maybe on a side of a cube.
Most streaming providers, especially those who doesn’t provide direct access to their stream, doesn’t allow the usage by other programs and don’t allow any altering of their software. “content of an OS window” is way to unspecific since there are several ways to display something on a device context. A lot video players uses overlays, so the actual DC is empty and the stream is just overlayed by the graphics card of a low level graphics driver.
Beside the fact that your action is probably illegal it’s almost impossible to help you on this problem without more information on how “the streaming program” actually displays the stream. You actually have to debug / disassemble the actual software to figure out how it’s done. It’s probably way easier to grab the stream data from the programs memory or to figure out how the program gets the stream. This is what hacking / cracking crews are doing all the time and requires a great understanding of software and video streaming on a very low (hardware and software) level.
Currently i’m struggling if i should close this question or not…