Streaming Xbox Kinect Video Over Network

I am trying to transfer Xbox Kinect video over a local network. I wrote a socket class that will send at about 25 megabits per second with a good connection and about 1 megabits per second with a bad connection. It will be on the robot, so I will shoot for 1 Mbps, and I would like to get 15 FPS with a minimum delay. Getting the YUV format from the camera (http://msdn.microsoft.com/en-us/library/jj131027.aspx) requires 4 bits per pixel. I will cut the resolution to 320 x 240. So let me do the math for the frame (320 * 240 * 4/1024/1024) = 0.29296875 Mb, which means that I can transmit at 3.4 FPS if I can send only 1 Mbps, so I need to reduce the byte array to about a fifth. I reviewed this before, but it actually takes longer to compress an array of bytes, send it and then decompress the array than to send raw data. Is there a good algorithm fast enough for this?

+4
source share
1 answer

Are they called video codecs?

You will be missed if you do not process the data as video ... it is much more compressible than the raw data. There are many codecs for all kinds of applications. The choice is usually a compromise between processing costs and throughput. It all depends on how much your robot can rise before downloading data over the network.

+3
source

Source: https://habr.com/ru/post/1436909/


All Articles