WebRTC Videochat e Apoio Conferencing

WebRTC é uma nova tecnologia de comunicação de vídeo em tempo real. Suporte não está disponível em todos os navegadores e dispositivos, mas está aumentando. A verdadeira questão no presente é a escalabilidade.

Escalabilidade

Porque WebRTC utiliza redes de troca de tráfego, Ainda tem que haver um nó nas proximidades para ajudar a distribuir o fluxo para outros hosts locais. Olhando através de uma rede global pode ser incrivelmente difícil.

Soluções de WebRTC de out-of-the-box convencionais exigem cada cliente para estabelecer e manter conexões separadas, com todos os outros participantes em uma complicada rede de onde a carga de largura de banda aumenta exponencialmente, como cada participante adicional é adicionado.

As emissoras precisam conexões de servidor de classe para transmissão ao vivo para vários usuários e usando uma conexão normal de ADSL em casa (que tem tem maior download e upload maior) causas de problemas reais.

Ao testar com 2 ou alguns usuários funciona bem em demonstrações e testes de carga pequena, WebRTC limites frequentemente apresentam em modo de produção: torna-se inutilizável quando muitos usuários estão assistindo o mesmo fluxo de HD e conexão da emissora é regular.

Todas as partidas, espero que suas aplicações de streaming se tornará um grande sucesso, com milhares de telespectadores assistindo. Um artista streaming um vídeo em full hd 8 Mbps diretamente para 100 os espectadores em vários locais do mundo exigiria até 800Mbps upload de conexão.
A maioria das conexões ADSL tem sob carregamento de 100Mbps, permitindo a transmissão de tal vídeo até um máximo de 12 usuários.

Uma solução é usar um servidor de retransmissão para streaming confiável de e para os clientes WebRTC conforme implementado com o BroadcastLiveVideo solução.

Suporte de navegador regular e confiabilidade da aplicação

WebRTC não é atualmente suportada por navegadores de PC padrão em sistemas mais antigos (Internet Explorer para Windows e Safari para Mac mais velho) ou versões geralmente mais velhas, usadas por muitos usuários.
Isso cria um problema real para redes de organização com distribuições de software padrão, configurações de sistema operacional mais velhas, estúdios e internet caffes com software administrativo restritivo ou simples novato usuários que usam seus computadores com a configuração padrão.
WebRTC não é suportado atualmente em navegadores móveis ou padrão, com exceção mais recente Android.
Enquanto WebRTC é popular entre os geeks e entusiastas de tecnologia, muitos usuários regulares não são capazes de acessar essa execução ou podem usar apenas a funcionalidade limitada.

WebRTC padrões estão adiantados no processo de ratificação. Navegadores suporte WebRTC não são totalmente transparentes com atualizações que podem resultar em problemas com a implementação de WebRTC.

Para mais detalhes veja esses sites de referência:

PC Navegador Ação WebRTC RTMP
Internet Explorer + Borda (Padrão do Windows) 9% N * Sim
Safári (MacOS padrão) 13% Nenhuma Sim
Cromo 57% Sim Sim
Raposa De Fogo 9% Sim * Sim
Ópera 5% Sim Sim

*Relatórios de Mozilla Navigator.getUserMedia como obsoleto e MediaDevices.getUserMedia como Experimental .
*IE não oferece suporte a WebRTC em tudo, mas há planos de introduzir algum apoio em Borda navegador .

Quota de mercado do Browser do PC mostra WebRTC instalação não funcionará para muitos usuários de PC devido à sustentação do browser. Muitos desses usuários com navegadores padrão são iniciantes ou restringido por políticas de trabalho de usar uma navegadores diferentes e não são susceptíveis de alterar o seu navegador.
Em apoio celulares WebRTC é ainda menor, enquanto RTMP é suportado tanto no Android e iOS com Aplicativos.
Fluxos RTMP podem ser publicados em navegadores iOS e Android como HLS.

WebRTC vs RTMP

Atualmente, WebRTC ainda está em discussão o desenvolvimento para a sua implementação total, enquanto que RTMP já está disponível para implantações de qualquer projeto real Comunicação Tempo.

WebRTC poderia ser uma solução para o futuro e RTMP é uma solução para o presente que possa ser necessário para um tempo.

WebRTC poderia perder a batalha atual para sua padronização e interoperabilidade, com muitas propostas de implementação ao longo dos navegadores web de topo ou com uma abordagem de mercado divergente do Google, Microsoft, Maçã.

RTMP confiável é implementado em todos os navegadores de PC com o plugin do Flash e como stand-alone aplicações para sistema operacional móvel e desktop.

Retransmitida (RTMP Servidor) vs P2P (WebRTC ou Flash RTMFP)

Dependendo da configuração de ISP e a rede uma parte importante dos usuários não pode se conectar e transmitir diretamente para o outro em todos os. Alguma experiência enorme latência (vários segundos) e maciça perda de quadros sobre P2P.

Teste as suas capacidades de rede P2P com este Verificador RTMFP Conectividade .

Usando um servidor de retransmissão é a solução mais confiável para comunicações de vídeo.

Alguns provedores dizem que apenas 8% de seus usuários precisam RTMP, mas que poderia ser tendenciosa considerando que eles enfatizam WebRTC / Sessões RTMFP que não requerem os custos do servidor de streaming.
Geralmente a maioria das conexões de internet em casa não vão bem com P2P, a menos que os usuários são iguais ou muito próximos da rede. Conexões de servidor de classe são geralmente necessárias para P2P confiável nesta tecnologia.

Preocupações de segurança com o uso de navegadores que suportam WebRTC

Em Janeiro 2015, TorrentFreak relatou que os navegadores que suportam WebRTC sofrer de uma grave falha de segurança que comprometa a segurança da VPN-túneis, permitindo que o endereço de IP do utilizador verdadeiro para ser lido. O endereço IP pedidos de leitura não são visíveis no console navegadores desenvolvedor, e eles não estão bloqueados por anúncios comum plugins bloqueio / privacidade (permitindo acompanhamento on-line por anunciantes e outras entidades apesar das precauções).

Se o seu navegador é compatível teste WebRTC este Ferramenta de detecção de IP.

Fim do Flash

Flash foi planejada para ser descontinuado há uma década, mas alternativas levaram um longo tempo e apoio contínuo de navegadores como que era o método confiável somente para fornecer determinados recursos como webcam de radiodifusão.

Atualmente os navegadores e os desenvolvedores planejam fim de suporte para Flash no final da 2020.

Suporte a flash será descontinuado por navegadores quando outras tecnologias tornam-se disponíveis e confiáveis para recursos anteriormente fornecidos pelo Flash apenas (streaming de vídeo ao vivo de webcam).

VideoWhisper RTMP Sessão Web Check

Para sites e integrações que são necessárias medidas de segurança adicionais, Aplicativos da Web de VideoWhisper apoio verificação sessão de login no lado Wowza RTMP.

Isto é usado para garantir que nenhum clientes serão capazes de se conectar a RTMP servidor sem ter previamente logado no site (com os scripts _login.php para edições php).
Quando um novo cliente tenta se conectar ao servidor RTMP com um nome de sessão, aplicação RTMP irá verificar no servidor web, se essa sessão cliente existe. Se o servidor web não confirma que o cliente logado, servidor RTMP irá rejeitar a conexão. Servidor RTMP também irá verificar se há um Webkey que precisa ser configurado mesma maneira em RTMP e servidor web: isso vai impedir conexões em caso de domínio web seqüestro (único servidor web e servidor RTMP saber a chave, app cliente não).

Notas

  • Isso irá desativar conexões de encoders externos (ou seja,. FMLE) e jogadores (ou seja,. Jwplayer) para esse endereço RTMP, uma vez que estes não irá fornecer um nome de sessão para verificar se há validade. Esses aplicativos podem ser suportados com uma solução mais avançada que permite a inserção de uma chave no endereço rtmp e também controle de sessão rtmp contínua de web (rtmp relata sessões on-line para os scripts da web e estes podem terminar qualquer sessão rtmp): Controle de sessão RTMP
  • Geralmente, cada instalação exigirá seu próprio lado RTMP que verifica informações sessão com a instalação. Caso contrário, você terá que ajustar os scripts para verificar em todas as instalações.
  • Essa funcionalidade SE Wowza é opcional e pode ser desabilitada, deixando essas propriedades em branco.

Configuração RTMP

Verificação sessão lado web RTMP é actualmente suportado por Wowza lado RTMP. Download da última versão do Wowza lado rtmp, implantar em seu servidor e atualizar essas configurações no conf / VideoWhisper-web / Application.xml :


<Propriedades>
<Imóvel>
<Nome>acceptPlayers</Nome>
<Valor>verdade</Valor>
</Imóvel>
<Imóvel>
<Nome>webLogin</Nome>
<Valor>http://installation_url /rtmp_login.php?s =</Valor>
</Imóvel>
<Imóvel>
<Nome>Webkey</Nome>
<Valor>VideoWhisper</Valor>
</Imóvel>
<Imóvel>
<Nome>webLogout</Nome>
<Valor>http://installation_url/rtmp_logout.php?s =</Valor>
</Imóvel>
</Propriedades>
</Aplicação>

Em seguida, reinicie o serviço WowzaMediaServer. Para solução de problemas verificar os logs de acesso Wowza. Se ocorrerem erros nos logs de erro enviar um ticket para VideoWhisper sobre esta.

Configuração Web

Download da última edição da PHP Conference vídeo e confira esses arquivos de integração:
rtmp.inc.php – armazena informações de sessão quando o usuário se autentica de vc_login.php ; contém $ Webkey se você quiser mudá-lo
rtmp_login.php – chamado pelo servidor RTMP para ver se um nome de sessão é válida (autenticado); também recebe permissão canKick para permitir ao usuário chutar clientes
rtmp_logout.php – chamado pelo servidor RTMP quando o cliente com um nome de sessão desconectada (a sessão de limpeza)

Configurar settings.php para usar o endereço RTMP VideoWhisper-web.

Para integrar isso em outras edições ou instalações que você precisa para copiar o 3 arquivos mencionados acima a pasta de instalação e incluem rtmp.inc.php nos scripts _login.php que autorizam o usuário.
Outras mudanças podem ser necessárias, dependendo particularidades de cada integração.

Configuração Demonstrativa Amostra

Url Instalação: http://www.videowhisper.com/demos/vc_web
Usando endereço RTMP: RTMP://videowhisper.com/videowhisper-web

<Imóvel>
<Nome>webLogin</Nome>
<Valor>http://www.videowhisper.com/demos/vc_web/rtmp_login.php?s =</Valor>
</Imóvel>
<Imóvel>
<Nome>Webkey</Nome>
<Valor>VideoWhisper</Valor>
</Imóvel>
<Imóvel>
<Nome>webLogout</Nome>
<Valor>http://www.videowhisper.com/demos/vc_web/rtmp_logout.php?s =</Valor>
</Imóvel>

Controle de sessão RTMP (incluindo após o login e para encoders terceiro partido / apps)

Além de sessão de controle de login, VideoWhisper lado rtmp para Wowza também pode fornecer RTMP Sessão Contral (licença especial é necessário para servidores terceiro partido).

Isto pode ser utilizado para monitorar os clientes terceiro partido, , excepto os VideoWhisper, como Wirecast, O Flash Media Live Encoder (FMLE), Open Software Broadcaster (OBS), iOS / Android app para GoCoder rtmp transmissão ao vivo.

No exemplo, se um organismo de radiodifusão se conecta diretamente com uma aplicação encoder externo, os scripts de site pode ser notificado sobre isso para mostrar seu canal como VIVO.
Também scripts da web pode se comunicar de volta ao servidor RTMP para desconectar um cliente quando necessário.