2012-10-12 5 views
1

J'ai un problème avec le videochat basé sur le serveur red5. Tout fonctionne bien, mais si certaines personnes ferment le navigateur au lieu de cliquer sur le bouton "Arrêter le chat", il y a la dernière image de leur flux. Donc, il ressemble à un cours de congélation. Existe-t-il une option pour tuer un tel flux?Red5 videochat geler

Répondre

0

Option non, mais vous pouvez mettre en œuvre dans l'application Red5 une méthode, par exemple mettre en œuvre la méthode:

/** 
* Notification that a broadcasting stream is closing. 
*/ 
@Override 
public void streamBroadcastClose(IBroadcastStream stream) { 
    //Notify all clients 
} 

Et puis envoyer un message via RTMP à tous les clients que l'utilisateur a quitté, et vous peut réagir dans l'interface utilisateur côté client et supprimer/noircir correctement cet écran de l'utilisateur qui a quitté.

Sebastian

+0

En fait, mon côté client écoute les événements NetStream pour supprimer le conteneur vidéo. Est-ce la même chose? Parce que ça marche mais pas tout le temps. –

+0

Non, la méthode que je publiais est une méthode Java que vous implémentez côté serveur. Vous devrez alors créer un message RTMP "XYZ" et du côté client écouter sur la NetConnetion (pas NetStream) pour la méthode "XYZ". –

0

La question sur les connexions stabulation lorsque la session est brusquement mis fin (par navigateur fermeture ou la perte de connexion Internet) est connu comme connexions fantômes.

Vous pouvez implémenter un système ping entre les clients et le serveur pour déterminer si les clients ne sont plus présents et générer la déconnexion côté serveur.

Également sur le client, le serveur de déconnexion doit notifier les autres clients et la vidéo de l'utilisateur doit être masquée (pour éviter d'afficher le cadre figé).

La détection de connexion fantôme et la suppression des utilisateurs déconnectés sont déjà implémentées par les applications de vidéo-chat populaires. Vous pouvez tester http://www.videowhisper.com/demos/conference/ pour voir si cela fonctionne dans le scénario que vous avez décrit.

Vous pouvez également tester avec Wowza Streaming Engine pour déterminer si le problème est strictement lié à Red5.