Live Stream From Drone To AWS With S3 Backup
Drones are awesome, and a lot of fun. But what happens if your drone gets lost along with all its footage? Or, what if you want other people around the world to be able to tune in to what the drone sees — in real time — as it sees it?
With AWS, these questions we discussed as a team during the Q2 2020 Hackathon quickly became opportunities to provide new functionalities for our fellow team member’s popular brand name drone, along with any others that support compatible protocols like RTP, RTMP, and HLS.
With a bit of basic knowledge about AWS and services like MediaLive and S3, we thought it was more than plausible to be able to live stream video from a drone through MediaLive while simultaneously backing up the video footage to an S3 bucket.
Along the way we ran into a few obstacles like finding the correct variable name to make the names of files going to S3 iterate correctly. We also had a lot of latency when we first got the stream working. After some tinkering, we were able to make significant improvements, but still ended up with more latency than we would have liked. Given other cases we’ve heard about, we think RTP would result in much lower latency, but it is not supported by the drone we had. There are likely other improvements we could have made, if we had more time to research and try other settings.
We learned a lot about MediaLive, MediaPackage, and how many different factors affect latency in various ways. In the end, we were able to successfully stream the video output from our team member’s drone via RTMP to a MediaLive Input. From there we had two Output Groups: One going to MediaPackage, which packages media streams into different formats that are then endpoints able to be connected to through applications such as VLC media player or JW Player, and the second uses an Archive Output Group to output periodic mp4 files to an S3 bucket, appending date and time to filenames in place of standard iteration.
So there we were, able to share our drone’s vision with the world, and keep a safe and secure record of it all at the same time. What will we do with all this power you might ask? Only time will tell.