WebRTC Videochat et soutien Conferencing

WebRTC est une nouvelle technologie de communication vidéo en temps réel. Prise en charge n’est pas disponible sur tous les navigateurs et périphériques mais augmente. La vraie question à présent est une évolutivité.

Évolutivité

Parce que WebRTC utilise des réseaux de peering, toujours il doit y avoir un nœud voisin pour aider à distribuer le flux vers d’autres hôtes les. Regardant à travers un réseau mondial peut être incroyablement difficile.

Les solutions classiques de WebRTC out-of-the-box exigent de chaque client établir et maintenir des connexions distinctes avec tous les autres participants dans un réseau complexe où la charge de la bande passante augmente de façon exponentielle comme chaque participant supplémentaire est ajouté.

Radiodiffuseurs ont besoin de connexions au serveur grade pour les flux en direct à plusieurs utilisateurs et en utilisant une connexion ADSL à domicile régulier (qui a a plus téléchargement et téléversement plus grand) causes des vrais problèmes.

Tout en testant avec 2 ou peu d’utilisateurs fonctionne très bien dans des démonstrations et des essais de petits chargements, WebRTC limites montrent souvent en mode production: devient inutilisable lorsque de nombreux utilisateurs regardent même flux HD et connexion de radiodiffuseur est régulière.

Toutes les startups espère que leurs applications de streaming vont devenir un énorme succès, avec des milliers de téléspectateurs regardant. Un artiste interprète ou exécutant en streaming une vidéo en full hd 8 Mbps directement à 100 téléspectateurs en divers endroits du monde exigerait jusqu'à 800Mbps Télécharger connexion.
La plupart des connexions ADSL doivent de 100 Mbit/s upload permettant le streaming de telle vidéo à un maximum de 12 utilisateurs.

Une solution consiste à utiliser un serveur de relais pour diffusion fiable depuis et vers les clients WebRTC comme mis en œuvre avec le BroadcastLiveVideo solution.

Soutien navigateur habituel et la fiabilité de mise en œuvre

WebRTC n’est pas actuellement pris en charge par navigateurs PC par défaut sur les systèmes plus anciens (Internet Explorer pour Windows et Safari pour les anciens Mac OS) ou des versions antérieures généralement utilisées par de nombreux utilisateurs.
Cela crée un vrai problème pour les réseaux d’organisation avec des distributions de logiciels standard, configurations d’OS plus anciennes, Studios et internet caffes avec logiciel administrative restrictive ou newbie plaine aux utilisateurs qui utilisent leur ordinateur avec la configuration par défaut.
WebRTC est pas actuellement pris en charge sur les navigateurs mobiles par défaut soit, à l'exception de la plus récente Android.
Alors que WebRTC est populaire auprès des geeks et les passionnés de technologie, de nombreux utilisateurs réguliers ne sont pas en mesure d’accéder à cette mise en œuvre ou peuvent utiliser uniquement les fonctionnalités limitées.

WebRTC normes sont tôt dans le processus de ratification. Navigateurs supportant WebRTC ne sont pas entièrement transparents avec mises à jour qui peuvent entraîner des problèmes avec la mise en œuvre de WebRTC.

Pour plus de détails voir ces sites de référence:

Navigateur de PC Part WebRTC RTMP
Internet Explorer + Bord (Par défaut de Windows) 9% No * Oui
Safari (MacOS défaut) 13% Aucun Oui
Chrome 57% Oui Oui
Firefox 9% Oui * Oui
Opéra 5% Oui Oui

*Rapports de Mozilla Navigator.getUserMedia comme obsolète et MediaDevices.getUserMedia titre expérimental .
*IE ne supporte pas du tout les WebRTC mais il est prévu d’introduire un soutien en Bord navigateur .

Part de marché de navigateur PC montre WebRTC le programme d'installation ne fonctionnera pas pour beaucoup d'utilisateurs de PC en raison de l'appui de navigateur. Beaucoup de ces utilisateurs avec des navigateurs par défaut sont débutants ou limité par les politiques en milieu de travail d'utiliser un des navigateurs différents et sont peu susceptibles de changer leur navigateur.
Sur le soutien de mobiles est encore plus faible RTMP tout est pris en charge à la fois sur Android et iOS avec applications.
Flux RTMP peuvent être publiés sur iOS et Android navigateurs que HLS.

WebRTC vs RTMP

Actuellement, WebRTC est encore en discussion de développement pour sa mise en œuvre complète alors RTMP est déjà disponible pour les déploiements de tout projet Real Time Communication.

WebRTC pourrait être une solution pour l'avenir et RTMP est une solution pour le présent qui pourrait être nécessaire pour un certain temps.

WebRTC pourrait perdre la bataille en cours pour sa standardisation et l'interopérabilité, avec de nombreuses propositions de mise en œuvre sur les navigateurs web en haut ou avec une approche de marché divergent de Google, Microsoft, Pomme.

RTMP est implémenté de manière fiable sur tous les navigateurs de PC avec le plugin Flash et comme applications autonomes pour les OS mobiles et de bureau.

Relayée (RTMP serveur) vs P2P (WebRTC ou Flash RTMFP)

Selon la configuration réseau et ISP une part importante des utilisateurs ne peuvent pas se connecter et diffuser directement les uns aux autres, à tous les. Certains énorme expérience de latence (plusieurs secondes) et une perte massive de trame sur P2P.

Testez vos capacités de réseau P2P avec ce RTMFP Connectivité checker .

Utilisation d'un serveur de relais est la solution la plus fiable pour les communications vidéo.

Certains fournisseurs disent seulement 8% de leurs utilisateurs ont besoin RTMP mais qui pourrait être biaisé étant donné qu'ils soulignent WebRTC / Sessions RTMFP qui ne nécessitent pas de frais de serveur de streaming.
Généralement la plupart des connexions internet domicile ne vont pas bien avec P2P sauf si les utilisateurs sont en réseau identiques ou très proche. Connexions serveur de grade sont habituellement exigées pour P2P fiable sur cette technologie.

Problèmes de sécurité avec l'aide de navigateurs qui supportent WebRTC

En Janvier 2015, TorrentFreak rapporte que les navigateurs supportant WebRTC souffrent d'une faille de sécurité grave qui compromet la sécurité des tunnels VPN-, en permettant à l'adresse IP de l'utilisateur vrai à lire. L'adresse IP des requêtes de lecture ne sont pas visibles dans la console développeur de navigateurs, et ils ne sont pas bloqués par ad commune plugins blocage / vie privée (permettant un suivi en ligne par les annonceurs et autres entités malgré les précautions).

Si votre navigateur est compatible WebRTC cette épreuve Outil de détection IP.

Fin du Flash

Flash était censée être abandonnées il y a une dizaine d’années, mais des solutions de rechange a eu une longue période et le soutien continu des navigateurs que c’était la seule méthode fiable pour fournir certaines fonctionnalités comme la radiodiffusion webcam.

Actuellement, les navigateurs et les développeurs plan à fin de support pour Flash à la fin de 2020.

Support de flash sera abandonnée par les navigateurs lorsque les autres technologies deviennent disponibles et fiables pour les fonctions précédemment fournies par Flash uniquement (le streaming vidéo en direct par webcam).

VideoWhisper RTMP session Web Check

Pour les sites et les intégrations où des mesures de sécurité supplémentaires sont nécessaires, Applications Web VideoWhisper soutien chèque de session de connexion sur le côté Wowza RTMP.

Il est utilisé pour vous assurer qu'aucun clients seront en mesure de se connecter au serveur RTMP sans avoir préalablement connecté sur le site (avec les scripts de _login.php pour les éditions php).
Quand un nouveau client tente de se connecter au serveur RTMP avec un nom de session, l'application RTMP va vérifier sur le serveur Web si cette session de client existe. Si le serveur Web ne confirme pas que le client connecté, serveur RTMP rejette la connexion. Serveur RTMP vérifie également pour un webkey qui doit être configuré même manière sur RTMP et serveur Web: cela permettra d'éviter les connexions en cas de détournement de nom de domaine Internet (seul serveur Web et le serveur de rtmp connaissent la clé, application client ne).

Remarques

  • Cela va désactiver les connexions à partir des capteurs externes (c'est à dire. FMLE) et les joueurs (c'est à dire. JwPlayer) à cette adresse RTMP, que ceux-ci ne fournira pas un nom de session pour vérifier la validité. Ces applications peuvent être pris en charge avec une solution plus avancée qui permet d'insérer une clé dans l'adresse de rtmp et aussi rtmp continue contrôle de session de web (rtmp rapporte sessions en ligne pour son web et ceux-ci peut mettre fin à une session de rtmp): RTMP Session Control
  • Habituellement, chaque installation nécessitera son côté RTMP qui vérifie informations de session avec cette installation. Sinon, vous devrez modifier les scripts pour vérifier toutes les installations.
  • Cette fonctionnalité SE Wowza est facultative et peut être désactivée en laissant ces propriétés blanc.

Configuration RTMP

RTMP contrôle de session côté web est actuellement soutenu pour Wowza côté RTMP. Téléchargez la dernière version de Wowza côté RTMP, déployer sur votre serveur et mettre à jour ces paramètres dans conf / videowhisper-web / Application.xml :


<Propriétés>
<Propriété>
<Nom>acceptPlayers</Nom>
<Valeur>vrai</Valeur>
</Propriété>
<Propriété>
<Nom>webLogin</Nom>
<Valeur>http://installation_url /rtmp_login.php?s =</Valeur>
</Propriété>
<Propriété>
<Nom>webkey</Nom>
<Valeur>VideoWhisper</Valeur>
</Propriété>
<Propriété>
<Nom>webLogout</Nom>
<Valeur>http://installation_url/rtmp_logout.php?s =</Valeur>
</Propriété>
</Propriétés>
</Application>

Puis redémarrez le service WowzaMediaServer. Pour le dépannage vérifier les journaux d'accès Wowza. Si des erreurs se produisent dans les journaux d'erreurs soumettre un ticket à VideoWhisper sur ce.

Configuration Web

Télécharger la dernière édition de la Conférence PHP de la vidéo et de vérifier ces fichiers d'intégration:
rtmp.inc.php – conserve les informations de session lorsque l'utilisateur s'authentifie de vc_login.php ; contient $ webkey si vous voulez changer
rtmp_login.php – appelé par serveur RTMP pour voir si un nom de session est valide (authentifié); obtient également l'autorisation canKick pour permettre à l'utilisateur pour lancer clients
rtmp_logout.php – appelé par serveur RTMP lorsque le client avec un nom de session déconnectée (à la session de nettoyage)

Configurez settings.php d'utiliser l'adresse RTMP videowhisper-web.

Pour intégrer cette sur d'autres éditions ou des installations, vous devrez copier le 3 fichiers mentionnés ci-dessus dans le dossier d'installation et comprennent rtmp.inc.php dans les scripts de _login.php qui autorisent l'utilisateur.
D'autres changements pourraient être nécessaires en fonction des particularités de chaque intégration.

Configuration de démonstration échantillon

url d'installation: http://www.videowhisper.com/demos/vc_web
Utilisation de l'adresse RTMP: RTMP://videowhisper.com/videowhisper-web

<Propriété>
<Nom>webLogin</Nom>
<Valeur>http://www.videowhisper.com/demos/vc_web/rtmp_login.php?s =</Valeur>
</Propriété>
<Propriété>
<Nom>webkey</Nom>
<Valeur>VideoWhisper</Valeur>
</Propriété>
<Propriété>
<Nom>webLogout</Nom>
<Valeur>http://www.videowhisper.com/demos/vc_web/rtmp_logout.php?s =</Valeur>
</Propriété>

RTMP Session Control (y compris après la connexion et pour la 3e encodeurs du parti / apps)

En plus de la session contrôle de connexion, VideoWhisper côté rtmp pour Wowza peut également fournir RTMP session Contrel (une licence spéciale est nécessaire pour les serveurs 3ème partie).

Cela peut être utilisé pour surveiller 3e clients externes, autres que les applications VideoWhisper, comme wirecast, Flash Media Live Encoder (FMLE), Logiciel Open Broadcaster (OBS), app iOS / Android GoCoder pour rtmp diffusion en direct.

Dans l'exemple, si un radiodiffuseur connecte directement avec une application de codeur externe, les scripts de sites Web peuvent être informés de cela pour montrer que sa chaîne en direct.
Aussi scripts web peuvent communiquer retour au serveur rtmp pour déconnecter un client lorsque nécessaire.