For one our installation I need to stream Kinect2 Depth data over Wi-Fi. I need the smallest possible latency there.
I spent half of the day to google what other people from creative communities did in this area and found almost nothing.
Most promising thing I found is https://github.com/arturoc/ofxGstRTP
Can you share some experience about video streaming? about ofxGstRTP? about it on Windows 8?
How complex is this problem? Any pitfalls? I will appreciate any helpful advices.
I need to understand if I have time for the task (if it is several days of work at max or should I change the idea of installation).
we are using this addon for streaming point clouds over internet, we are reducing the point clouds to 160x120 and then compressing them using ofxDepthCompression (ofxGstRTP does all that automatically if you choose 16bit depth).
with that resolution is working pretty well, but as i said we are working over internet connection so on a local network you might be able to go to higher resolutions but i doubt that you can go till HD resolution, but i guess the best way is to try it.
we are about to publish a web with more detailed instructions on how to set it up but in general the first thing you need to do is install gstreamer with the instructions you can find in ofxGStreamer, download all the dependencies, ofxGStreamer, ofxNice, ofxXMPP and ofxGstRTP. and then try to build example_point_clouds which is the most similar to what you need.
if you want to do this on a local network it might be easier to configure following example-lan but that only sets up video and audio although mixing both example-point-clouds and example-lan shouldn’t be that complicated
also in windows we only support visual studio, so code blocks won’t work
I am new for OF on Windows. So wait for lots of stupid questions
How do I compile example? It uses make file. Should I install MinGW? Is it Windows-compatible?
Or should I create VS2012 project by hands?
take a look first at how to use OF for visual studio, there’s setup guides in the downloads, once you get that and have run a couple of examples try to create a simple example by yourself using the project generator. then you should know how to setup the project using ofxGstRTP following the instructions there
Hey @arturo has anyone done a performance comparison between WebSockets streaming and Gstreamer Streaming? I always end up using @bakercp’s ofxHTTP for streaming video.
Maybe I am missing something, but http://openframeworks.cc/setup/vs/ doesn’t contain any useful information. Is it full setup guide? It says only - install VS and that’s all.
I had one problem — VS couldn’t find gl/glu.h. I installed Windows SDK, because some post in Google said I need it to include GL headers. It didn’t help. Then I found in project properties, that Platform Toolset was Windows Phone 8 v110.
I changed it to Visual Studio 2012 v110 and managed to compile OF examples.
Now I try to compile generated project with ofxGstRTP and dependencies. I can’t because of
Error 3 error C2061: syntax error : identifier 'uint' c:\of\addons\ofxnice\src\ofxniceagent.h 40 1 streaming
What am I doing wrong? Looks like missing #include with typedef.
you need to create the project with the project generator pointing at the example you want to try and add all the dependencies
You mean like this?
It doesn’t help, still problem with missing uint
yes that should be it, i’ve never found that problem but it might be something with newer versions of visual studio, try changing uint with UINT or even int, you’ll need to change it in the corresponding .h too
i don’t think it does make much difference, both should be udp if i’m not mistaken, the main difference might be in the compression not in the network protocol as long as both are udp. gstreamer uses rtp though which has some advantages like being able to ask for a new keyframe if the video gets corrupted…
Thank you. Will update post in case of success
After a lot of other build errors I finally managed to compile it and run.
And now I get this:
Am I using wrong gstreamer version?
How did you do that? I’m having the undefined indentifier ‘uint’ too. But I don’t know to deal with it.