2012-10-16 2 views
0

Salut avoir un lecteur qui fonctionne sur le pare-feu en utilisant des paquets RTMP sur le port 1935. Le problème que je reçois est le streaming commence 20 secondes après le démarrage du lecteur.délai de 20 secondes sur le lecteur flash RTMP

Ce qui pourrait être à l'origine de ce problème.

Lorsque le pare-feu est éteint, le lecteur commence à diffuser directement à partir de l'ouverture.

+1

Sons comme le décalage réseau; peut-être que le pare-feu analyse chaque paquet en quelque sorte? – JeffryHouser

+0

J'ai essayé ce http://dl.dropbox.com/u/2918563/flvplayback.swf pour diffuser et ça marche bien dans les flux bien, même si le pare-feu est activé. Donc je devine que le joueur a un problème. Quel shoudl je ajouterais au code AS3 pour diffuser sur rtmp sur le port 1935 – Vlad

Répondre

0

Il s'est avéré que le lecteur obtient le nom d'hôte au lieu de l'adresse IP pour le streaming, donc il luttait pendant 20 secondes pour le faire. Ok, nous avons constaté que le DNS ne résolvait pas l'URL pour le streaming correctement :) Donc, utiliser l'adresse IP réelle à diffuser au lieu de hostname

1

Les lecteurs Flash sur RTMP ont une chaîne de secours dans laquelle ils tentent de se connecter à TCP: 1935 et si cela échoue, essayez TCP: 80. Cette chaîne de secours peut prendre un certain temps, en particulier si votre pare-feu supprime 1935 paquets au lieu de les rejeter.

Si vous avez accès à la configuration du pare-feu, essayez de modifier la règle 1935 pour autoriser ou rejeter (mais pas supprimer). Sinon, si vous pouvez modifier le code HTML, vous pouvez essayer de changer le schéma d'URL de lien RTMP pour qu'il soit "rtmpt: //" au lieu de "rtmp: //". Cela amènera le lecteur à essayer le port 80 immédiatement (bien que, lorsque RTMP sur le port 1935 fonctionne, il fonctionne mieux que RTMPT sur le port 80).

+0

Est-ce que je manque quelque chose dans mon code pour rtmp sur 1935? J'ai implémenté la connexion réseau standard as3 et netstream pour rtmp et le lecteur fonctionne bien mais quand le firwall est allumé il fait 20 secondes de retard jusqu'à ce que commence le streaming – Vlad

+0

Si vous ouvrez une ressource "rtmp: //" dans as3, et le port 1935 peut Ne vous connectez pas, il tentera de se reconnecter sur le port 80 (sans avoir besoin de coder explicitement quelque chose pour cela). Si vous utilisez "rtmpt: //", la connexion sera forcée sur le port 80 depuis le début. – onon15

Questions connexes