Échec de lecture de flux RTMP
Le lecteur embarqué d'un site Internet affiche une erreur de type "Server not found: rtmpt://" au lancement de la vidéo.
Symptôme
Chez un client, le lecteur embarqué d'un site affiche une erreur de type Server not found: rtmpt:// au lancement de la vidéo.
Exemple :
Ce message apparaît alors que le proxy est renseigné dans les paramètres du navigateur.
PS : Dans certains cas, la vidéo fonctionne mais vous constaterez des latences.
Tests
Voici les tests qui ont permis d'identifier l'origine du dysfonctionnement sur un poste client Ubuntu qui ne rencontre pas ce problème.
Étape 1 : Analyse des trames
La capture de trames effectuées avec Wireshark sur un poste client Ubuntu a permis de confirmer que le lecteur utilise le protocole RTMP et non le HTTP/HTTPS.
Les requêtes ne sont pas envoyées au proxy HTTP (il suffit d'analyser le fichier access.log du proxy).
Le fichier access.log du proxy se trouve :
- jusqu'à la version 95.013 : /var/log/squid3/access.log
- à partir de la version 95.014 : /opt/olfeo5/data/proxy/log/access.log
Le protocole RTMP est-il bloqué par une règle du firewall ?
Étape 2 : Test sur le poste client
Pour reproduire le problème du client, une règle iptables interdisant le RTMP a été ajoutée sur le poste client Ubuntu afin de vérifier si certaines requêtes outrepassent le proxy (passent en direct).
iptables -t filter -A OUTPUT -p tcp --dport 1935 -j DROP
Cette règle bloque les paquets RTMP (port 1935) du lecteur. Une fois la règle activée, la vidéo ne fonctionne plus.
Ceci confirme que le lecteur outrepasse le proxy et qu'il cherche un accès direct. Il a fallu autoriser le RTMP sur le firewall du client pour que la vidéo fonctionne.
Résolution
Autoriser le protocole RTMP au niveau du firewall.