Pular para o conteúdo

WebRTC

WebRTC Digest – Week of 6/3 – IE, Hype, and Security

WebRTC no IE?

postagem de blog e alguns tweets De acordo com informações de uma conferência de desenvolvedores da Microsoft, parece que a Microsoft está progredindo no WebRTC no IE (pelo menos no contexto de...). Executando o Lync sem um pluginNão parece haver detalhes sobre se é CU-WebRTC ou vanilla. WebRTC, Ou algo completamente diferente.

Reavaliação do Hype

Enquanto isso, a Cisco continuou republicando o artigo da semana passada intitulado "A realidade do WebRTC... Tudo hype?". diversos Em uma ocasião, Tsahi Levent-Levi publicou uma réplica afirmando:

O WebRTC é a tecnologia mais disruptiva em VoIP até o momento. Não por conter tecnologia nova, mas sim por possibilitar a implementação de novos casos de uso.

Segurança e WebRTC

Notícias recentes gerou uma discussão sobre segurança e privacidade do WebRTC. Justin Uberti, líder da equipe WebRTC do Chrome, falou sobre o assunto. compartilhou uma publicação, escrito por Adam Roach, funcionário da Mozilla, que oferece uma boa visão geral dos problemas: “WebRTC: Segurança e Confidencialidade”Cullen Jennings, Funcionário da Cisco e co-presidente do RTCWeb, foi um dos muitos colaboradores de um relatório escrito recentemente que descreve os perigos da adição pontos de extremidade de escuta telefônica aos serviços de Internet.

Tunneling WebRTC over TCP (and why it matters)

Há algumas semanas, ativamos discretamente o suporte para tunelamento TCP bilateral na nuvem vLine, tornando-nos os primeiros. provedor de infraestrutura WebRTC Para permitir a conexão através de firewalls que bloqueiam UDP. Isso pode não parecer interessante ou importante, mas na verdade faz toda a diferença entre ter um serviço que "geralmente se conecta" e um que "simplesmente funciona". Vamos explicar:

Uma das muitas vantagens do WebRTC é a relativa facilidade de configuração inicial. Basta iniciar uma instância do aprortc No backend para sinalização, basta copiar e colar um pouco de JavaScript e, pronto, você estará fazendo videochamadas no seu aplicativo (na verdade, é um pouco mais complicado do que isso, mas um bom desenvolvedor web consegue facilmente ter um chat de vídeo de demonstração funcionando em um ou dois dias).

Infelizmente, o caminho da demonstração ao serviço de nível de produção pode ser mais desafiador do que você imagina (e mais caro!). Geralmente, acontece assim: 

Nível 1: ATORDOAMENTO

Você começa fazendo suas primeiras chamadas em uma rede local e tudo funciona perfeitamente. Que ótimo! Então você tenta ligar para alguém fora do seu firewall e uma de duas coisas acontecerá.

1) Se por acaso você copiou e colou o endereço do servidor STUN do Google do código-fonte do apprtc, sua chamada será bem-sucedida e você ficará satisfeito (embora possa ter algumas dúvidas persistentes sobre se é correto usar um serviço não documentado para o qual o Google não deu permissão explícita a desenvolvedores terceirizados). Observe o silêncio do Google sobre o assunto. este tópico).

2) Se você não tiver um servidor STUN configurado, sua chamada falhará. Uma breve pesquisa revelará que STUN é um protocolo que o navegador usa para determinar seu endereço IP público e abrir uma brecha no firewall. Portanto, se você quiser se conectar através de um firewall, precisará de um servidor STUN. Algumas horas depois, você terá um servidor de código aberto funcionando no EC2. Uma instância pequena deve ser suficiente ($43,92 por mês), mas provavelmente você vai querer executar pelo menos duas para garantir a disponibilidade, de preferência em regiões diferentes ($87,84 por mês).

Nível 2: GIRAR

Você faz mais algumas chamadas de teste e todas funcionam. Tudo parece bem. Então você tenta fazer uma chamada entre duas redes corporativas e ela falha. Grrr. Enquanto pesquisava sobre STUN, você leu sobre outro protocolo chamado TURN Isso é usado para retransmitir dados nos casos em que o navegador não consegue estabelecer uma conexão ponto a ponto. Você não tinha certeza se era estritamente necessário, mas uma pesquisa mais aprofundada revela que o STUN é suficiente apenas para conectar cerca de 80% chamadas. Se isso não for suficiente para você (e provavelmente não será), você precisará de um servidor TURN.

Um pouco tópicos da lista de discussão Mais tarde, você terá um servidor TURN funcionando em sua instância EC2. Na verdade, a taxa de transferência de rede em uma instância pequena pode ser bastante imprevisível se outras pessoas estiverem usando sua interface de rede compartilhada, então você deve considerar obter uma instância maior. Uma instância média ($87,84 por mês) funciona muito bem, mas para obter a maior previsibilidade e a menor instabilidade (jitter), você precisará de uma instância extra grande ($351,36 por mês), que lhe dará “alto desempenho de rede”Na verdade, serão dois ($703,52 por mês), para garantir a disponibilidade.

Claro, como você está retransmitindo vídeo, também precisará levar em consideração os custos de largura de banda. O preço base do EC2 é $0,12 por GB. Ao analisar os números, você pode começar a se perguntar o que impede que outra pessoa use o servidor público que você acabou de configurar e aumente seus gastos com banda larga. Aqui está uma boa resposta: tópico da lista de discussão Sobre o assunto. Resumo: não há uma maneira eficaz de evitar isso, dada a forma como o protocolo TURN funciona e o fato de as credenciais TURN precisarem estar presentes no seu JavaScript, onde qualquer pessoa pode encontrá-las.

Mas não vamos nos prender aos detalhes financeiros. Agora você pode ligar para seus amigos em outras empresas de tecnologia. Incrível! Aí você tenta ligar para alguém em uma grande empresa, de outro ramo, e não dá certo. Puxa vida. Você achava que a TURN tinha tudo sob controle.

Vinte minutos depois, após uma breve pesquisa, você descobre que a implementação de alocação TURN do Chrome suporta apenas o retransmissão de pacotes UDP. O Chrome 28 adicionará suporte para... alocação Um servidor TURN sobre TCP, mas os pacotes ainda serão retransmitidos via UDP. Opa, isso ainda não resolve seu problema quando o firewall bloqueia o tráfego UDP. 

Nível 3: Nuvem vLine

É aqui que entra em ação nosso novo suporte a túneis TCP. Ele não depende da implementação TURN do Chrome, portanto, funciona no Chrome atualmente. Além disso, funciona mesmo se ambas as partes estiverem atrás de firewalls que bloqueiam UDP. Tudo o que é necessário é acesso à internet pela porta 443 (a porta HTTPS), que a grande maioria dos firewalls permite.

Você não precisa fazer nada de especial para habilitar o túnel TCP no seu serviço vLine. Basta usar o vline.js para construir seu aplicativo e nós nos conectaremos usando o melhor método disponível para cada chamada. Executamos um rede global de servidores de alta disponibilidade, Assim, garantimos a melhor qualidade de chamada possível para todos os seus usuários, em qualquer lugar do mundo, mesmo atrás de firewalls que bloqueiam tudo, exceto o tráfego TCP na porta HTTPS. E, caso esteja se perguntando, ainda utilizamos DTLS de ponta a ponta, portanto, nossos servidores nunca veem seus fluxos de mídia não criptografados.

Nosso objetivo é uma taxa de conexão de 100%. Se você tiver uma rede onde as chamadas não estão sendo conectadas, por favor... nos avise.

Nota 1: Se você quiser testar isso bloqueando o UDP no seu firewall, lembre-se de deixar a porta DNS (53) aberta.

Nota 2: Alguns firewalls ultrarrestritivos que realizam inspeção de pacotes com estado ainda podem bloquear conexões, pois, embora o navegador esteja usando a porta HTTPS, ele não está realmente usando SSL/TLS (nunca encontramos um firewall assim na prática, mas eles existem). O Chrome em breve oferecerá suporte a conexões WebRTC sobre TLS, momento em que também poderemos contornar esses firewalls.

WebRTC + Chromebox = Sistema de Telepresença HD $400

WebRTC Digest – Week of 5/27 – Flow Charts, FUD, and T-Shirts

Explicações detalhadas e de qualidade sobre WebRTC ainda são raras. Felizmente, Anant Narayanan de Firebase (e anteriormente da equipe WebRTC da Mozilla) deu uma grande contribuição ao conjunto de apresentações na semana passada com sua palestra "Uma Introdução Prática ao WebRTC" na Fluent Conference.

Não deixe de conferir os slides Para obter o conjunto mais completo de fluxogramas de sinalização WebRTC na web (use a seta para baixo em slide 7Sério. Se você quer entender o que acontece nos bastidores quando clica em "Iniciar chamada" em um aplicativo WebRTC, precisa ler os fluxogramas. Nós esperamos.

FUDdy-duddy

O WebRTC foi um dos assuntos mais comentados no No Jitter na semana passada, com nada menos que três posts sobre o tema. Irwin Lazar A Nemertes Research iniciou suas atividades com um artigo positivo intitulado WebRTC: Por que as empresas deveriam se importar?

Talvez ainda mais interessante seja a oportunidade de dar aos aplicativos de CRM ou ERP seus próprios aplicativos de voz/vídeo diretamente incorporados em suas interfaces web [...] Imagine uma equipe de pessoas que trabalha o dia todo em um aplicativo de processos de negócios e que podem conversar por chat, voz ou videochamada [...] Novamente, aqui as oportunidades são infinitas para os desenvolvedores de aplicativos expandirem a comunicação e a colaboração para qualquer lugar.

Então, Laurent Philonenko, vice-presidente/gerente geral da unidade de negócios de clientes e mobilidade da Cisco, jogou um balde de água fria no WebRTC com o artigo "A realidade do WebRTC... Tudo hype?".

[…] O WebRTC ainda não está totalmente pronto para uso em larga escala. Simplificando, os padrões ainda não estão finalizados. Suponha que a conclusão dos padrões do WebRTC ainda leve um ano e que o Chrome e o Firefox levem seis meses para lançar uma versão com os padrões finais; além disso, considere o tempo necessário para que os usuários atualizem seus navegadores. Veremos implementações iniciais antes disso, mas eu diria que levará mais de dois anos para que essa tecnologia seja amplamente adotada no mercado.

Dave Michels encerrou com uma análise sobre o hype do WebRTC, explicando gentilmente que não havia nada para ver ali e que todos deveriam seguir em frente.

O WebRTC não é disruptivo. [...] O WebRTC não oferece novas funcionalidades, nem economias de custos significativas em comparação com outras tecnologias ponto a ponto. O WebRTC poderia ser descrito com mais precisão como uma tecnologia evolutiva, que efetivamente traz recursos em tempo real para o navegador, em vez de depender de plugins e downloads pontuais.

Por enquanto, estamos nos contendo, mas vocês podem esperar mais informações sobre este assunto aqui no Blog vLine. Enquanto isso, vamos aprimorar o design da nossa nova linha de camisetas "WebRTC Is Ready".

Seriamente. Envie-nos uma mensagem. Se você quiser um.

GitTogether: Video Chat for GitHub (powered by WebRTC)

Resumindo:

  1. Vá para gittogether e faça login com o GitHub.
  2. Veja como contatos as pessoas que você segue no GitHub, além de membros de suas equipes e organizações.
  3. Se as pessoas com quem você deseja conversar não estiverem online ou não estiverem na sua lista de contatos, envie a elas seu URL do GitTogether (gittogether GitHub).
  4. Converse à vontade!

Fundo

É difícil saber se sua plataforma é boa até que você a tenha usado para construir um aplicativo real, de preferência um que você mesmo use diariamente. Então, quando começamos a desenvolver o Plataforma vLine e a API, há dois anos, também começamos a desenvolver um aplicativo baseado nela.

Como nossas vidas basicamente giram em torno do GitHub, decidimos criar uma ferramenta de comunicação que também funcionasse assim. Batizamos a ferramenta de GitTogether, criamos um login do GitHub e preenchemos a lista de contatos com as pessoas que você segue ou com quem trabalha no GitHub.

Avançando para os dias de hoje, temos um aplicativo robusto que usamos internamente como nossa principal ferramenta de comunicação há mais de um ano. Como nosso principal objetivo era aprender com a experiência de criá-lo e usá-lo, nunca o compartilhamos amplamente, mas um número suficiente de pessoas o descobriu e o considerou útil, então decidimos que deveríamos finalmente dedicar um pouco mais de tempo para falar sobre ele.

Nas próximas semanas, publicaremos uma série de posts no blog explicando como tudo funciona internamente, o que aprendemos durante o processo de desenvolvimento e como você pode criar aplicativos com as mesmas funcionalidades. Enquanto isso, aproveite!

WebRTC Digest – Week of 5/20 – Chrome 27, Temporal Scalability & Hardware Acceleration

Chrome 27

Chrome 27 era lançado oficialmente. Um Lista de alterações relacionadas ao WebRTC Está disponível na lista de discussão discuss-webrtc. Uma das mudanças mais visíveis para o usuário final é a capacidade de Selecione a câmera e o microfone. a partir do “Omnibox”, em vez de vasculhar as configurações do Chrome.

Escalabilidade Temporal

Havia um discussão interessante Na lista de discussão sobre escalabilidade temporal e se os controles para ela poderiam ser expostos no WebRTC por meio do SDP, especialmente para uso em conferências/mixagem. A escalabilidade temporal é um método de codificação de um fluxo de vídeo em um formato que permite decodificá-lo em várias taxas de quadros (por exemplo, 30 FPS ou 15 FPS), ao custo de uma sobrecarga de codificação maior. Blog LifeSize Oferece uma boa descrição no contexto do codec H264, e a lista de discussão do WebM tem uma descrição técnica mais detalhada. Como funciona no VP8.

Aceleração de hardware

A aceleração de hardware VP8 continua a ser suportada por mais plataformas, como demonstra a nVidia com esta demonstração de videoconferência em 1080p a 30 FPS no Tegra 4. O Tegra 4 terá suporte de hardware integrado para codificação e decodificação VP8, com o objetivo declarado de

Oferecendo a melhor experiência WebRTC no Android, Chrome OS e Google TV.

WebRTC Digest – Week of 5/13 – BB10, Firefox 22 & Google IO

WebRTC no Blackberry 10

Nossos amigos da Hookflash A semana começou com o anúncio do suporte para WebRTC no Blackberry 10. Erik Lagerway deu sequência ao assunto. na lista de discussão webrtc:

Só para avisar a todos que concluímos a migração completa do pacote de mídia WebRTC do Google para QNX/Blackberry 10. Atualmente, ele está disponível em nosso repositório Open Peer no GitHub e planejamos enviá-lo de volta para o repositório principal, caso o Google o aceite.

Justin Uberti, líder técnico do WebRTC, comemorou a notícia e estabeleceu as regras básicas para as portas contribuídas:

Erik, obrigado por nos avisar. É sempre bom ver alguém expandindo o ecossistema WebRTC!

Desde que a adaptação esteja de acordo com nossas diretrizes de estilo e práticas para código específico da plataforma, podemos ajudar na implementação. A única ressalva é que não poderemos oferecer suporte completo por meio de nossos trybots e testes. Caso a compilação apresente problemas, você precisará corrigi-los.

Firefox 22 chega à versão beta

Na terça-feira, Firefox 21 foi lançado, o que significa que falta apenas mais uma versão para que o WebRTC seja ativado por padrão. O Firefox 22 está atualmente programado para ser lançado em 24 de junho.Se você estiver impaciente, pode obter uma prévia no Firefox Beta., aurora, Ou, se você for realmente corajoso, Noturno.

Jon Fingas, escrevendo para o Engadget, Tem mais informações sobre o Firefox 22.:

Embora a Mozilla seja defensora do WebRTC há muito tempo para bate-papo por vídeo e voz sem plugins, ela ainda não estava pronta para habilitar o protocolo completo no Firefox por padrão. A partir desta semana, a empresa está mais confiante…

Google I/O

Justin Uberti e Sam Dutton encerraram a semana com uma apresentação sobre WebRTC no Google I/O. Tanto os slides quanto o vídeo Já estão disponíveis para seu deleite visual.

Janko Roetgers abordamos os principais pontos da sessão. para GigaOm:

O WebRTC, a nova tecnologia que permite bate-papo por voz e vídeo sem a necessidade de plugins diretamente no navegador, deverá estar disponível em mais de um bilhão de dispositivos únicos (como navegadores de desktop e dispositivos móveis) "dentro de uma semana", de acordo com Justin Uberti, líder de engenharia do WebRTC no Google.

Endpoints++

Por último, mas não menos importante, Tsahi Levent-Levi tem algumas sugestões para fornecedores e clientes de UC em nosso [link para o artigo/recurso]. Postagem favorita da semana:

Todos os sistemas e dispositivos de sala que você está instalando? Torne-os totalmente compatíveis com WebRTC – faça com que executem um navegador HTML5 e deixe o JavaScript cuidar do resto. Implemente esse tipo de solução na sua própria plataforma. E todos os seus produtos legados? Crie um gateway para que eles acessem o sistema.

Concordo plenamente.

WebRTC Digest – Week of May 6

Aqui na sede da vLine, temos uma lista de discussão interna que usamos para compartilhar links para artigos, mensagens da lista de discussão, atualizações de código e outras informações interessantes relacionadas ao WebRTC.

Agora que finalmente temos um blog, pensamos que seria legal compartilhar esses links com vocês, queridos leitores (Oi, mãe!). Então, fiquem de olho aqui toda segunda-feira para uma nova seleção de notícias sobre WebRTC, cuidadosamente escolhidas e atualizadas (que tal em tempo real?). Sem mais delongas, aqui está nossa primeira edição:

Pontos finais explosivos e aranhas

Kelly Teal, escrevendo para a Channel Partners, pergunta: "O que diabos é WebRTC?" e consulta alguns analistas em busca de respostas:

Quando se trata de colaboração por vídeo, todos estão falando sobre WebRTC. Mas o que é WebRTC e o que isso significa para os parceiros?

 …

“O que o WebRTC faz é criar o potencial para uma explosão de pontos de acesso de vídeo baseados em navegador, que só se conectarão a outros pontos de acesso que executem o mesmo padrão”, disse Bill Haskins, analista da Wainhouse Research, ao Channel Partners.

Certamente concordamos com a explosão de endpoints baseados em navegador. Genband, No entanto, discordaram da ideia de que só se comunicariam com outros que utilizam o mesmo padrão ao anunciarem o SPiDR, um novo gateway de conversão de sistemas legados para WebRTC. Gary Audin, escrevendo para o NoJitter, conta a história:

O SPiDR está localizado na borda da rede da operadora. Ele fornece APIs abertas e centradas na web que permitem aos desenvolvedores de aplicativos criar serviços de comunicação avançados por meio da rede, incluindo voz, vídeo, presença, agenda de contatos compartilhada, histórico de chamadas, mensagens instantâneas e colaboração. 

Google IO 411

O evento anual do Google festa de desenvolvedores estará na cidade ainda esta semana, e o Líder Técnico do WebRTC Justin Uberti Ele estará de volta ao palco com mais uma sessão que certamente lotará o local, em nosso cenário favorito de música eletrônica em tempo real (caso você tenha perdido a sessão dele no ano passado, pode conferir o vídeo aqui).

Este ano ele fará uma apresentação conjunta com o Chrome Developer Advocate e Colaborador do HTML5 Rocks Sam Dutton. Os dois também irão ministrar um Laboratório de Programação prático para ajudar os sortudos portadores de ingressos a traduzir a sopa de letrinhas das APIs e protocolos do WebRTC em aplicativos web interessantes.

Neste codelab, vamos ajudá-lo a dominar as APIs e tecnologias principais do WebRTC: – MediaStream (também conhecido como getUserMedia): o que é e como posso usá-lo? – RTCPeerConnection: qual a importância da API mais poderosa do WebRTC? – RTCDataChannel: como posso configurar a comunicação em tempo real de dados arbitrários? – Sinalização: o que é e como configurá-la? – Servidores: o que preciso para sinalização, STUN e TURN?

Comida para pássaros

Falando em delícias saborosas, Justin se preparou para o IO servindo um trio de petiscos muito aguardados, destinados a... Chrome Canary no discutir-webrtc lista de discussão. Na quarta-feira, ele insinuou que canais de dados confiáveis chegarão em breve (se você quiser ser o primeiro a saber quando eles estiverem disponíveis, você pode adicionar uma estrela à sua lista de desejos). Edição 1493).

Então, na sexta-feira, ele fez a nossa semana acontecer. anunciando Em breve, você poderá usar a API getStats() para descobrir quais candidatos ICE o navegador selecionou. Chega de tcpdump ou logs detalhados para descobrir se você está usando um servidor de retransmissão! Você está tão animado quanto nós?

E por último, mas não menos importante, ele confirmou que o Canary agora tem a capacidade de balancear a carga entre vários servidores TURN. Tópico completo. aqui.

Richard Mentor Johnson?

Por fim, temos algumas informações interessantes relacionadas a codecs. Matt Frost, gerente de produto do WebM e ex-CEO interino da On2, publicou que VP9 está quase concluído.. Não sabemos o que nos deixa mais animados: o suporte para canais de profundidade (webcams 3D + mapas de profundidade + WebGL = ???) ou a guerra dos codecs VP9 vs H.265.

Como não parece muito provável que os fornecedores de navegadores cheguem a um acordo sobre um codec integrado comum nesta década, a proposta da Mozilla de um codec totalmente em JavaScript começa a soar cada vez mais razoável. Dando sequência ao artigo de Brendan Eich... Hoje eu vi o futuro Uma postagem sobre ORBX.js, escrita por Peter Bright, bela peça Para a Ars Technica, com mais detalhes técnicos:

Para navegadores como o Internet Explorer 10 e o Safari no iOS, o ORBX é usado no modo somente com frames I. Para outros navegadores, como o Firefox e o Chrome, ele usa um modo misto mais convencional. Isso ocorre porque o modo misto depende do WebGL para parte da decodificação. Os frames I podem ser codificados inteiramente em JavaScript, mas os frames P exigem o uso de programas de shader devido à sua maior complexidade. O Internet Explorer 10 e o Safari no iOS não são compatíveis com WebGL e, portanto, não podem ser usados para executar programas de shader. Como resultado, eles usam aproximadamente o dobro da largura de banda para o mesmo nível de qualidade de vídeo.

Infelizmente, ainda não há uma demonstração pública. Mas estamos ansiosos para testá-la em nossos iPhones 12.

Free vLine/WebRTC Consulting and Training

Uma de nossas maiores prioridades é facilitar ao máximo o início do uso do WebRTC e da plataforma vLine. Para isso, estamos oferecendo cinco sessões gratuitas de consultoria e treinamento de um dia inteiro para desenvolvedores que trabalham em projetos que utilizam WebRTC e vLine e que entrarão em operação até 30 de junho.

Para desenvolvedores nos Estados Unidos continentais, iremos até seu escritório, sentaremos ao seu lado e faremos o que for preciso para garantir o sucesso do seu projeto. Para aqueles em outras partes do mundo, faremos o mesmo por meio de videochamada e compartilhamento de tela.

Se tiver interesse, envie um e-mail para [email protected] Conte-nos o que você está construindo e como pretende utilizar o tempo de consultoria.

No dia 10 de maio, analisaremos as solicitações e selecionaremos os cinco desenvolvedores. Será dada prioridade aos projetos para os quais os recursos de desenvolvimento já foram alocados e que serão lançados em breve.

Aguardamos seu contato!

vLine Just Got Easier

Temos o prazer de anunciar um marco importante para a plataforma vLine: agora você pode criar um serviço de videochamadas com marca própria em cerca de um minuto, sem escrever uma única linha de código.

E para facilitar ainda mais a integração com seu site, estamos oferecendo cinco sessões gratuitas de consultoria e treinamento presenciais de um dia inteiro para projetos qualificados (veja todos os detalhes). aqui).

Para criar seu serviço de bate-papo por vídeo, acesse vline.com e clique no botão grande "Começar". Ou, para ver como funciona, assista a este vídeo: