FAQ

SRT et authentification par login/mot de passe dans des logiciels tiers

L’authentification par login et mot de passe en SRT entre instances de Perfect Streamer est prise en charge nativement et configurée via les champs correspondants dans output et input, mais le fonctionnement avec d’autres logiciels n’est pas garanti. Cette fonctionnalité n’est pas standardisée et est implémentée différemment selon les logiciels.

Pour une interopérabilité entre Perfect Streamer et d’autres logiciels, l’autorisation s’effectue en créant un pair dont le nom correspond à la valeur du stream ID. Par exemple :

srt://Stream_IP:port?streamid=!#::u=1234567890,password=1234567890

Nom du pair :

!#::u=1234567890,password=1234567890

La syntaxe du stream ID n’a pas d’importance pour Perfect Streamer ; toute valeur jusqu’à 511 caractères est prise en charge.

Different SRT receivers could send stream ID with different format, so if receiving doesn’t work you can switch on tracing option in SRT output settings and find the reason of issue in the stream log, for example you can see how actually the receiver generates the stream ID. This information can help you fix the stream ID.

Utilisation de RTSP et RTMP dans Perfect Streamer avec FFmpeg

Pour prendre en charge RTSP, RTMP et tout autre protocole de transport non pris en charge nativement par Perfect Streamer, vous pouvez utiliser le type STD input du stream (stdin). Il est possible d’utiliser FFmpeg, GStreamer et toute autre application prenant en charge stdout.

Examinons la configuration sur l’exemple de FFmpeg :

  1. Choisir le type d’entrée : std.

  2. Indiquer le chemin de FFmpeg dans le champ Cmd — /usr/bin/ffmpeg.

  3. Dans le champ Args, saisir la commande de réception du flux :

-loglevel error -i rtmp://192.168.1.29/channelTV/chanelSD -c copy -f mpegts -

ou

-loglevel error -i rtsp://viewer:viewer200@172.31.91.197:554/play1.sdp -c copy -f mpegts -

Si la vidéo de la caméra n’a pas d’audio, des erreurs apparaîtront sur la page du flux. Pour les éviter, sélectionner dans le type de flux : Only Video.

Description dans la documentation sur l’intégration d’applications tierces.

Utilisation de RTSP et RTMP dans Perfect Streamer avec GStreamer

Pour prendre en charge RTSP, RTMP et tout autre protocole de transport non pris en charge nativement par Perfect Streamer, vous pouvez utiliser le type STD input du stream (stdin). Il est possible d’utiliser FFmpeg, GStreamer et toute autre application prenant en charge stdout.

Examinons la configuration à l’aide de GStreamer.

  1. Choisir le type d’entrée : std.

  2. Indiquer le chemin de l’interpréteur de commandes dans le champ Cmd — /bin/bash.

  3. Dans le champ Args, saisir le chemin du script générateur de flux et les autres arguments :

/opt/conf/pss/scripts/rtmp.sh rtmp://192.168.1.2/live/mmtv2025air

ou

/opt/conf/pss/scripts/rtsp.sh rtsp://viewer1:viewer300@172.34.95.198:553/play1.sdp

L’instruction complète est disponible sur le forum.

Scripts : scripts_gstreamer.zip.

Recommandations pour l’utilisation de l’UDP multicast

Tâche :

Recevoir de manière stable de l’UDP multicast à plusieurs centaines de Mbit/s (1 Gbit/s ou plus) sur un seul serveur.

Problème :

Réception sur des cartes réseau avec interface RJ-45 — au-delà de quelques centaines de mégabits, des pertes croissantes en multicast apparaissent. Le tuning des paramètres de la carte réseau ne résout pas le problème (il était pertinent pour les anciennes versions des systèmes d’exploitation ; les versions modernes utilisent déjà des paramètres optimaux). Sur toute carte réseau dotée des meilleures puces (Intel, Broadcom, etc.), le problème persiste, particulièrement au-delà de 500 Mbit/s. Le bonding de deux cartes ne résout pas non plus.

Solution :

Pour la réception et la transmission de multicast UDP, nous recommandons des cartes réseau à interface SFP+, qui utilisent des puces plus puissantes. Une carte économique de type Intel X520-DA1/2 (Intel 82599ES) suffit — son utilisation élimine complètement le problème de pertes en multicast UDP au-delà de 1 Gbit/s.

Avantage supplémentaire : la charge CPU et GPU diminue sensiblement lors de l’utilisation du transcodeur.

Recommandations pour la configuration réseau multicast

Configurer les paramètres réseau dans /etc/sysctl.conf :

net.core.rmem_default=8388608
net.core.rmem_max=16777216

Appliquer :

sudo sysctl --system

Flussonic et SRT

Exemple de lien SRT pour la réception sur le logiciel « Flussonic » :

srt://Stream_IP:port?streamid=flussonic

streamid est le login du client dans le logiciel « Flussonic », défini dans « Configuration – Paramétrage des pairs ».

Lors de l’ajout d’un nouveau peer, il suffit d’indiquer uniquement le login — dans le lien de test figure « flussonic ». Le logiciel « Flussonic » génère streamID automatiquement avec SRT, et si le login streamID n’est pas indiqué dans le lien de réception, le flux ne sera pas reçu et « Perfect Streamer » ne pourra pas le délivrer.

De manière analogue, on peut définir streamID sous forme de login/mot de passe en créant dans « Perfect Streamer » un pair avec la valeur dans Login or IP : !#::u=1234567890,password=1234567890

et en saisissant dans « Flussonic » le lien : srt://Stream_IP:port?streamid=!#::u=1234567890,password=1234567890

Il est possible d’indiquer streamid/login sous forme d’adresse IP dans « Perfect Streamer » :

  • 192.168.1.1 (IP unique)

  • 192.168.1.1-192.168.1.254 (plage d’IP ; sur le pair, l’option Login is IP doit être activée)

Dans les deux cas, le lien de réception par IP dans « Flussonic » ressemble à : srt://Stream_IP:port?streamid=*

Le lien sera lié à l’adresse IP du client ; la réception ne sera possible qu’à partir de cette IP (ou plage d’IP).