Streaming live drone footage using Azure Media Services

Streaming live drone footage using Azure Media Services

Directly from your drone to the world, via the the cloud

I have a DJI Phantom 3 Standard drone and love to fly it around. You can get some really amazing shots from all sorts of unique perspectives.

Usually, I simply use the DJI GO app to record video during flight and then download it from the SD card later for processing/editing. But DJI also offers the ability to live-stream the video to sites like YouTube and Facebook. That is pretty cool, but I wanted to live-stream the video to a custom site. The DJI GO app does support streaming to a custom RTMP endpoint, and since Azure Media Services allows ingesting live video via RTMP, I figured it would be a great fit.

Microsoft's own documentation does an OK job of explaining how to set up live video ingest, but it glosses over a few important bits of info. There are also a couple of gotchas when configuring the drone streaming settings, so here is the complete and accurate steps to stream live video from your drone.

1. Create a Media Services account

2. Create a live streaming channel

3. Copy the resulting RTMP url

4. Create a new live event

5. Enable the Streaming Endpoint

6. Start the channel

At this point, Azure is ready to ingest the incoming video stream and encode it into multi-bitrate streams that can be consumed by clients.

Over in the DJI GO app...

1. General Settings > Select Live Broadcast Platform

2. Choose RTMP

3. Enter the RTMP url

NOTE: You must add an additional /mystream to the end of the url that you copied from the Azure portal. The value is not important, but the ingest will not work without the extra path info.

When you are live streaming, the DJI GO app will show an indicator in the upper left corner.

At this point, you are broadcasting your live stream to the world. The Azure portal has a handy feature that lets you view the live stream directly in the portal (as well as providing the live stream url).