It took 4 days of painful work, but i finally got there. I consider this the base for my UAV experience. The transmission is incredibly stable, the video is really smooth. Here is what i used:
-Logitech C920, a good quality camera.
-Pandaboard: has an embedded video encoder that can take the raw YUYV video from the camera and encode it in h264. You can set the encoding quality/bitrate and other parameters.
-HSDPA usb dongle; 60 hours of high speed connection for 10€/month, i have a 2Mbps upload speed with this little beast. Ping increases during workload and reaches 250ms, when unused, it's as low as 50ms.
-The traffic is sent from the pandaboard to a VPN i connect with my client. This is only a way to bypass firewalls.
864x480 works but it's not as smooth as 360p, and i consider the 360p streaming to be more than enough for this. 1280x720 lags considerably.
If there is interest maybe i can publish my code and a video of how it works. Anyway, i'm a happy guy and i wanted to share it. I've never tried radiofrequency video transmission, but was worried about the range.
Now, i don't have to worry about it anymore ;)
Good point ;-) We indeed do not show 1080p in the demo video.
We have HD working on a development pc client application, as our first mobile client is the BlackBerry PlayBook which does not have a high res display. The main issue for 1080p is to have a LTE connection that is fast enough. As the Sky Drone FPV auto-adapts resolution to the connection quality, the resolution can change frame by frame (but is then rescaled on the client to make it transparent to the user).
Sure, that's important. But in my homemade demo i had a point to point LTE connection. My provider was probably limiting the bandwidth of the single stream of data to a level lower than my connection (standing to speedtest i had a full 2Mbit upload bandwith, and i was streaming to my VPN server right ahead).
If you show a working 1080p or even 720p demo i will be happy to back your product.
Nice setup, but why not encoding to H264 using the camera processor ?
I was thinking the same... :)
Because the h264 encoded stream is at a constant bitrate of (around) 4Mbps, indipendently from the resolution.
It must be some kind of proprietary protocol.
Skype is able to decode it, but i have no idea on where to start to do the same.
I am trying to do the same with raspberry, but it dosnt see dongle as 3g modem,, it see as storage. Can you help?
see USB mode switching (https://wiki.archlinux.org/index.php/USB_3G_Modem)