A fun project to receive video stream from Parrot Drone and render it on screen without using any Parrot SDK. This project can also be used for creating mpegts files. it uses ffmpeg for decoding and SDL for rendering.
Create HLS stream from incoming stream- Add Audio
- Create RTSP stream from incoming stream
- Create RTMP stream from incoming stream
cmake
: for compiling projectyasm
needed by ffmpeglibsdl-dev
for renderinglighttpd
for web server (HLS streaming)
sudo apt-get install cmake yasm libsdl-dev lighttpd
Compilation needs internet connection for downloading dependencies. Once downloaded and compiled it doesn't need internet connection.
Go to root of the project
- create debug directory
- Enter debug directory
- generate makefiles using cmake
- Compile whole project
$ mkdir /var/www/html/parrot/ (for HLS streaming)
$ sudo chown pi:pi /var/www/html/parrot/ (on Pi, for other *nix use your machine user)
$ cd VideoStreamer
$ mkdir debug
$ cd debug
$ cmake ..
$ make
Note: If compiling on pi3, it takes around 1 hour to compile whole project. Once ffmpeg is compiled it takes less than a minute to compile whole project again.
(Connect to Bebop WiFi)
$ cd VideoStreamer/debug/bin
$ export LD_LIBRARY_PATH=../lib
$ ./BebopVideoStream
Note: By default Drone Ip address is set as 192.168.42.1 and command port is set as 4444
To run application for different Ip address and port
$ ./BebopVideoStream -i 192.168.43.1 -p 55555
http://<pi/*nix ip address>/parrot/parrot.m3u8
Note: machine running software and on PC you want to receive HLS streaming should be on same network
There are two ways you can achieve that On your pi connect wired network to your local LAN and use wifi to connect to Bebop, then on machine you want to receive HLS connect to same local LAN and use pi ip adress for HLS
On machine you want to receive HLS connect to Drone WiFi and use pi ip address for recieving HLS streaming.
- Parrot Bebop2 on Ubuntu/Fedora and Raspberry Pi3
mailto: cheersalam@gmail.com
LGPL