Photo by Jesus Loves Austin / Unsplash

Installation d'un serveur de streaming RTMP et test depuis un drone Mavic Air 2

Global 27 juin 2022

Pour un évènement communal à venir on souhaite pouvoir diffuser en direct des flux de GoPro voire de drones.

J'ai donc installé un serveur de streaming RTMP. On en trouve un bon nombre en format Docker, je me suis arrêté sur celui d'alfg. Comme toujours, ça s'installe en 2-2

docker run -d \
--name=stream \
--restart always \
-p 1935:1935 \
-p 1936:80 \
--label=com.centurylinklabs.watchtower.enable=true \
alfg/nginx-rtmp

Je ne suis pas un pro de ce protocole mais ça n'est pas du HTTP (captain obvious!) et n'ai pas trouvé comment passer ça en reverse-proxy Nginx. Si vous avez des idées...

Du coup l'URL de stream (pour envoyer) est du type rtmp://IP:port/nom. Par exemple rtmp://ip_personnelle:1935/stream. On peut également définir un mot de passe.

Voici sur OBS, idéal pour tester tout ça

Et pour lire ça avec VLC, on ajoute alors un flux rtmp://IP:port/nom/clé soit rtmp://ip_personnelle:1935/stream/nawak. Depuis le menu Media/Ouvrir un flux réseau

N'ayant pas de GoPro, j'ai testé le streaming depuis mon drone DJI Mavic Air 2. Les options sont limitées et il faut bien avoir à l'esprit que même en choisissant un flux 1080p ce ne sera sans doute pas beau.

Ce n'est pas le drone qui streame mais bien le smartphone/télécommande depuis l'appliation DJI Fly. Donc entre la qualité de réception qui peut être aléatoire (temps, distance), le capacité du smartphone à encoder puis à diffuser, à l'arrivée le résultat est passable mais sans plus.

https://www.slashcam.de/news/single/DJI-Fly-App-1-4-12-Update-bringt-Live-Streaming-un-16814.html

J'ai testé rapidement près de chez moi, beau temps, maxi 600m de distance et j'ai un amplificateur de signal pour la télécommande.

En plus j'ai cassé mon anti-éblouissement, j'en ai racheté un autre. Faut pas être trop brusque en l'enlevant :P

Bon, je ne mets pas la vidéo de test mais voici quelques images. Vous comprendez aisément qu'il faudra que je reteste avec moins de soleil sur la caméra...

Faut aussi que je teste en stationnaire et plus près du sol. De toute manière pour ce qu'on veut faire je n'aurai pas à le mettre à 500m d'altitude. là je devais être à 100-120m je pense, j'ai pas fait attention.

En tous cas j'ai appris à monter un serveur de streaming rtmp :)

Mots clés