I have had a 3DR Solo drone since last summer and have been looking for interesting ways to expand its capabilities. One thing that I thought should be possible is to stream live video from the drone while it’s in flight. The Solo controller has an HDMI port to push video to a monitor but I wanted to see if I could get to the video stream directly, through software. I’m proud to say that I figured out how to do it.
First you need a separate computer, preferably a laptop or something portable. The computer will need to connect to the WiFi network that the Solo controller creates. Once you’ve got your computer joined, make sure it’s connected by pinging the controller (IP address 10.1.1.1).
Next, create an SDP file on your laptop as discussed on the 3DR Solo wiki.
c=IN IP4 10.1.1.1
m=video 5600 RTP/AVP 96
a=rtpmap:96 H264/90000
t=0 0
… save this as sololink.sdp.
The controller will only stream video if it’s got a TCP connection from the host requesting a stream. In a terminal window, connect to the controller as follows:
telnet 10.1.1.1 5502
or
nc 10.1.1.1 5502
Now the controller should be able to stream video using a tool such as VLC or ffmpeg. For VLC, open the osololink.sdp file you created above. You should see the drone video appear on your laptop. VLC is nice for checking the video but I haven’t worked out how to send it to YouTube yet. I believe it does not properly handle the RTMP media format that YouTube needs, though I’m not sure of this.
Continue reading →