Video wireless streaming efficiency (analog vs digital)

video-transmitterwireless

I was wondering about the best way to transmit a real-time video (wireless).I do not need to be high quality video, so I've bought this camera module:

Camera module
Camera datasheet

Now I need to make a wireless transmission in real time without substantial delay. I have here a couple of nrf24l01 modules:

NRF24L01
NRF24L01 Datasheet

Note that despite the fact that it uses a carrier of 2.4GHz, it has a maximum air data rate of only 2Mbps. Is this only because all the checksum, encoding and redundance methdos (specified in datasheet) to ensure a reliable communication?

If that so, I know that for a video live streaming I should use some type of transmission that excels for speed and not for reliability, correct? So this module will probably be a bad choice.

With that said, now I still wonder what should be the best method: analog or digital? I've seen some 5.8GHz analog transmitters but its input is an analog video signal. Since my camera module only outputs digital signal, I would have to use a DAC between the camera and this 5.8GHz module, correct? On the other hand, I could use some other kind of 2.4GHz transceiver which could give me some free choice of encoding. Then I could use some simple digital modulating process (FSK based) and transmit full RGB scenes with a simple CRC in the end.

Still, another thing I thought is to compress each image before sending (with some high speed MCU that I've got here). The problem is that my best MCU has only 8kB of RAM and I think it would easily exceed that.

What do you suggest me to use in this process?

Just a reminder: I need a fast transmission because my computer (receiving images) will compute some algorithms based on those images to send back a command to my MCU. So it all depends on this transmission.

Best Answer

You could split data rate into two halves and use two separate Nordic modules for transmission and two separate modules for reception. Each pair can be set to transmit and receive on different channels.

It's not elegant but it halves the problem. I bet it would work with several pairs. Just a thought.