WebRTC vs HLS: Comparação entre protocolos de streaming

Dito isto, quando os desenvolvedores se ramificam a partir dos aplicativos de bate-papo puro para os quais o WebRTC foi projetado, os desafios podem surgir. Este artigo analisa como funciona o streaming de vídeo WebRTC, os benefícios que ele oferece, as limitações do WebRTC e como resolvê -las.

Entregando vídeo ao vivo: streaming vs. Webrtc

Aqui na API.Vídeo, conversamos com muitos desenvolvedores que procuram maneiras de criar serviços interessantes e inovadores com vídeo. Muitos ainda estão descobrindo todos os seus casos de uso e tentando combiná -los com os recursos técnicos de diferentes serviços de vídeo.
Streaming Live Video é um recurso que recebemos muitas perguntas sobre. Na API.vídeo, Nossa solução de streaming de vídeo usa http ao vivo (HLS) para transmitir ao vivo vídeo. Outra tecnologia que nos perguntamos frequentemente é o webrtc. Ambas as tecnologias são ótimas, mas têm aplicativos significativamente diferentes. Neste post, veremos os recursos e vantagens de ambos, e os principais aplicativos para os quais são adequados.

O que é HLS?

O HTTP Live Streaming (HLS) foi desenvolvido pela Apple e atualmente é a maneira principal pela qual o vídeo é transmitido na web hoje. A ‘transmissão ao vivo’ no nome HLS é um pouco impróprio, pois o vídeo não precisa estar ao vivo – YouTube, Netflix e outros serviços de vídeo sob demanda usam HLS para transmitir vídeo que não está ao vivo. Esta é uma vantagem de usar o HLS para transmissão ao vivo – os mesmos arquivos usados ​​para entregar o vídeo ao vivo podem ser usados ​​para reproduzir o vídeo posteriormente ‘sob demanda’.
O ‘http’ no HLS indica que ele usa protocolos da web tradicionais para transmitir os dados em uma conexão TCP. O vídeo é cortado em pequenos segmentos e enviado do servidor para o usuário. O player no dispositivo do usuário recombina o vídeo para reprodução com base em um arquivo de manifesto baseado em texto que é transmitido com os segmentos de vídeo. O que torna isso poderoso é que, se você tiver versões diferentes do mesmo vídeo (diferentes dimensões e taxas de bits), o jogador pode otimizar a entrega com base nas condições reais para cada usuário (principalmente velocidade de rede e tamanho da tela).
Quando um vídeo ao vivo está sendo transmitido com HLS, o vídeo é enviado para um servidor e transcodificado em segmentos para transmissão para usuários finais. Isso torna o HLS ideal para transmissão ao vivo em fluxos individuais-uma vez gravado os arquivos, os arquivos são enviados como qualquer outra solicitação HTTP e a limitação é essencialmente o servidor que hospeda o vídeo. (e, claro, com CDNs, essa sobrecarga pode ser reduzida ainda mais).
Latência: A transmissão do HLS sofre de cerca de 6 a 15 segundos de latência (e dependendo das arquiteturas, pode até ser mais longo). Como o vídeo é transcodificado em segmentos de comprimento finito, o vídeo deve ser mantido pelo menos enquanto o comprimento do segmento. Para reduzir os erros de transmissão, alguns jogadores exigem que 2 segmentos sejam armazenados no buffer de reprodução antes do início da reprodução, afastando ainda mais o tempo de reprodução do evento ao vivo exato.
Nota: Há um trabalho ativo sendo feito hoje para reduzir a latência de streaming de HLS, e isso deve melhorar nos próximos meses (e API.O vídeo está investindo em trazer HLS de baixa latência para nossos usuários em um futuro muito próximo).
Resumo do HLS: Uma solução robusta para transmitir para muitos usuários. O estado atual do HLS inclui uma latência de 10 a 20 segundos que torna o HLS não ideal para apresentações interativas. Os vídeos HLS também estão disponíveis para reprodução após o evento ao vivo.

Webrtc

“Comunicação em tempo real da Web” ou WebRTC é um padrão W3C que é suportado em todos os navegadores, permitindo – como você deve ter adivinhado – comunicação em tempo real. O WebRTC tem entrega quase instantânea, normalmente abaixo de 300ms, tornando -o ideal para conversas interativas para frente e para trás, como nas soluções de conferência da web.
A redução na latência é (em parte) devido ao uso de UDP em vez de TCP e porque os formatos usados ​​não exigem transcodificação antes de transmitir.
No entanto, como há entrega instantânea de vídeo entre pares, há um limite para o número de usuários que podem compartilhar vídeo, normalmente abaixo de 6. Existem implementações para o WebRTC, onde um pequeno número de usuários (menores de 5 anos) compartilha seu vídeo, e outro número de usuários pode assistir em tempo real (mas esse número é geralmente pequeno – abaixo de 300.).
Cada pessoa compartilhando vídeo usa cerca de 1 Mbps de largura de banda. Se houver 4 pessoas transmitindo, o vídeo será de 4 Mbps por espectador – a largura de banda que sai do servidor será rapidamente o fator limitante para o número de usuários que podem se juntar ao fluxo. Além disso, os usuários em redes de baixa qualidade podem não ser capazes de ingerir 4 Mbps de vídeo e ter problemas para reproduzir o vídeo devido ao tamanho.
Para salvar o vídeo para reprodução posterior, a implementação do WebRTC usará o atributo mediarecorder para salvar o vídeo em um computador local. Para reprodução posterior, este vídeo terá que ser enviado para um servidor.
O WebRTC é ideal para comunicação instantânea em tempo real, mas é para pequenos grupos de espectadores-normalmente 1-4 compartilhando vídeo e um pequeno número de espectadores.

São HLS e WebRTC Independent?

Melding HLS e Webrtc é realmente bastante comum. Por exemplo, se você estiver hospedando um painel de alto -falantes, eles poderão se juntar ao WebRTC (como uma chamada de zoom) e depois transmitir a chamada sobre o HLS para um grande público (o Zoom oferece isso como um recurso para aumentar seu público).
Como você está usando o WebRTC e o HLS em seus aplicativos de vídeo? Sinta -se à vontade para continuar esta conversa em nosso fórum de desenvolvedores: comunidade.API.vídeo.
Avatar
Chefe de Relações com Desenvolvedores

WebRTC vs HLS: Comparação entre protocolos de streaming

Este blog

WebRTC vs HLS: Comparação entre protocolos de streaming

Dito isto, quando os desenvolvedores se ramificam a partir dos aplicativos de bate-papo puro para os quais o WebRTC foi projetado, os desafios podem surgir. Este artigo analisa como funciona o streaming de vídeo WebRTC, os benefícios que ele oferece, WebRTC’s limitações e como resolvê -las.

Entregando vídeo ao vivo: streaming vs. Webrtc

Aqui na API.Vídeo, conversamos com muitos desenvolvedores que procuram maneiras de criar serviços interessantes e inovadores com vídeo. Muitos ainda estão descobrindo todos os seus casos de uso e tentando combiná -los com os recursos técnicos de diferentes serviços de vídeo.

Streaming Live Video é um recurso que recebemos muitas perguntas sobre. Na API.vídeo, Nossa solução de streaming de vídeo usa http ao vivo (HLS) para transmitir ao vivo vídeo. Outra tecnologia que nos perguntamos frequentemente é o webrtc. Ambas as tecnologias são ótimas, mas têm aplicativos significativamente diferentes. Neste post, nós’verá as características e vantagens de ambos, e as principais aplicações para as quais são adequados.

O que é HLS?

O HTTP Live Streaming (HLS) foi desenvolvido pela Apple e atualmente é a maneira principal pela qual o vídeo é transmitido na web hoje. O “transmissão ao vivo” No nome, o HLS é um pouco impróprio, pois o vídeo não precisa estar ao vivo – YouTube, Netflix e outros serviços de vídeo sob demanda usam HLS para transmitir vídeo que não está ao vivo. Esta é uma vantagem de usar o HLS para transmissão ao vivo – os mesmos arquivos usados ​​para entregar o vídeo ao vivo podem ser usados ​​para reproduzir o vídeo posteriormente ‘Sob demanda.’

O ‘Http’ no HLS indica que ele usa protocolos da web tradicionais para transmitir os dados em uma conexão TCP. O vídeo é cortado em pequenos segmentos e enviado do servidor para o usuário. O jogador no usuário’S Device Recombines o vídeo para reprodução com base em um arquivo de manifesto baseado em texto que é transmitido com os segmentos de vídeo. O que torna isso poderoso é que, se você tiver versões diferentes do mesmo vídeo (diferentes dimensões e taxas de bits), o jogador pode otimizar a entrega com base nas condições reais para cada usuário (principalmente velocidade de rede e tamanho da tela).

Quando um vídeo ao vivo está sendo transmitido com HLS, o vídeo é enviado para um servidor e transcodificado em segmentos para transmissão para usuários finais. Isso torna o HLS ideal para transmissão ao vivo em fluxos individuais-uma vez gravado os arquivos, os arquivos são enviados como qualquer outra solicitação HTTP e a limitação é essencialmente o servidor que hospeda o vídeo. (e, claro, com CDNs, essa sobrecarga pode ser reduzida ainda mais).

Latência: A transmissão do HLS sofre de cerca de 6 a 15 segundos de latência (e dependendo das arquiteturas, pode até ser mais longo). Como o vídeo é transcodificado em segmentos de comprimento finito, o vídeo deve ser mantido pelo menos enquanto o comprimento do segmento. Para reduzir os erros de transmissão, alguns jogadores exigem que 2 segmentos sejam armazenados no buffer de reprodução antes do início da reprodução, afastando ainda mais o tempo de reprodução do evento ao vivo exato.

Nota: Há um trabalho ativo sendo feito hoje para reduzir a latência de streaming de HLS, e isso deve melhorar nos próximos meses (e API.O vídeo está investindo em trazer HLS de baixa latência para nossos usuários em um futuro muito próximo).

Resumo do HLS: Uma solução robusta para transmitir para muitos usuários. O estado atual do HLS inclui uma latência de 10 a 20 segundos que torna o HLS não ideal para apresentações interativas. Os vídeos HLS também estão disponíveis para reprodução após o evento ao vivo.

Webrtc

“Comunicação em tempo real da Web” Ou o WebRTC é um padrão W3C que é suportado em todos os navegadores, permitindo – como você deve ter adivinhado – comunicação em tempo real. O WebRTC tem entrega quase instantânea, normalmente abaixo de 300ms, tornando -o ideal para conversas interativas para frente e para trás, como nas soluções de conferência da web.

A redução na latência é (em parte) devido ao uso de UDP em vez de TCP e porque os formatos usados ​​não exigem transcodificação antes de transmitir.

No entanto, como há entrega instantânea de vídeo entre pares, há um limite para o número de usuários que podem compartilhar vídeo, normalmente abaixo de 6. Existem implementações para o WebRTC, onde um pequeno número de usuários (menores de 5 anos) compartilha seu vídeo, e outro número de usuários pode assistir em tempo real (mas esse número é geralmente pequeno – abaixo de 300.).

Cada pessoa compartilhando vídeo usa cerca de 1 Mbps de largura de banda. Se houver 4 pessoas transmitindo, o vídeo será de 4 Mbps por espectador – a largura de banda que sai do servidor será rapidamente o fator limitante para o número de usuários que podem se juntar ao fluxo. Além disso, os usuários em redes de baixa qualidade podem não ser capazes de ingerir 4 Mbps de vídeo e ter problemas para reproduzir o vídeo devido ao tamanho.

Para salvar o vídeo para reprodução posterior, a implementação do WebRTC usará o atributo mediarecorder para salvar o vídeo em um computador local. Para reprodução posterior, este vídeo terá que ser enviado para um servidor.

O WebRTC é ideal para comunicação instantânea em tempo real, mas é para pequenos grupos de espectadores-normalmente 1-4 compartilhando vídeo e um pequeno número de espectadores.

São HLS e WebRTC Independent?

Melding HLS e Webrtc é realmente bastante comum. Por exemplo, se você estiver hospedando um painel de alto -falantes, eles poderão se juntar ao WebRTC (como uma chamada de zoom) e depois transmitir a chamada sobre o HLS para um grande público (o Zoom oferece isso como um recurso para aumentar seu público).

Como você está usando o WebRTC e o HLS em seus aplicativos de vídeo? Sinta -se à vontade para continuar esta conversa em nosso fórum de desenvolvedores: comunidade.API.vídeo.

Avatar

Chefe de Relações com Desenvolvedores

WebRTC vs HLS: Comparação entre protocolos de streaming

Esta postagem do blog compara WebRTC e HLS, dois dos protocolos de streaming mais populares. Examina os prós e contras de cada protocolo e explora seus aplicativos. Além disso, a posta.

Ashik TS

22 de fevereiro de 2023

WebRTC vs HLS: Comparação entre protocolos de streaming

Na era digital de hoje, os protocolos de streaming tornaram -se essenciais para consumir e compartilhar mídias. De transmissões ao vivo a vídeo sob demanda, os protocolos de streaming nos permitiram acessar o conteúdo em qualquer lugar, a qualquer hora. Mas com tantas opções disponíveis, saber o que é melhor para suas necessidades pode levar tempo e esforço. Neste artigo, veremos dois dos protocolos de streaming mais populares: WebRTC e HLS, compará -los e ajudá -lo a tomar uma decisão informada.

O que é webrtc?

O WebRTC é um protocolo gratuito e de código aberto desenvolvido pelo W3C. Permite a comunicação em tempo real, como chamadas de voz e vídeo, conferência online e bate-papo. O WebRTC tornou-se proeminente recentemente devido à sua capacidade de fornecer fluxos de vídeo e áudio de baixa qualidade e alta qualidade.

Aplicações do WebRTC

Aqui estão alguns dos casos de uso mais frequentemente empregados do WebRTC:

  • Chamadas de voz e vídeo: Um dos casos de uso mais populares para WebRTC são as chamadas de voz e vídeo. Permite comunicação em tempo real e de baixa latência entre duas ou mais pessoas. As empresas usam amplamente esse recurso para comunicação interna, colaboração e aplicativos voltados para o consumidor para redes sociais e namoro online.
  • Conferência Online: Outro caso de uso popular para WebRTC é a conferência online. Ele permite que vários usuários ingressem em uma sala de reuniões virtuais e interajam entre si por meio de vídeo e áudio, além de compartilhar telas e documentos. As empresas usam amplamente esse recurso para reuniões e apresentações remotas, bem como por instituições educacionais para aulas e palestras on -line.
  • Bater papo: O WebRTC também permite a comunicação baseada em texto em tempo real através do chat. Esse recurso pode ser integrado a vários aplicativos e plataformas, como redes sociais, jogos online e suporte ao cliente. Permite comunicação instantânea e pode ser usada para aprimorar a experiência do usuário em vários contextos.

O que é HLS?

HLS (HTTP Live Streaming) é um protocolo de streaming de taxa de bits adaptável desenvolvido pela Apple. É amplamente utilizado para transmissão ao vivo em dispositivos móveis e navegadores de mesa. O HLS foi projetado para funcionar com o protocolo HTTP e pode ser facilmente integrado à infraestrutura baseada em HTTP existente.

Aplicações do HLS

Aqui estão algumas das maneiras mais comuns das maneiras que o HLS é usado nos dias de hoje:

  • Transmissão ao vivo: O HLS é amplamente utilizado para eventos ao vivo, como esportes, concertos e transmissões de notícias. O protocolo foi projetado para lidar com o tráfego alto e proporcionar uma experiência de streaming suave para os espectadores. O recurso de taxa de bits adaptável permite que o fluxo se ajuste à conexão com a Internet do espectador, proporcionando uma melhor experiência de visualização.
  • Video-sob demanda (VOD): O HLS também é comumente usado para conteúdo de vídeo sob demanda (VOD), como filmes, programas de TV e tutoriais em vídeo. O protocolo permite fácil integração com sistemas de gerenciamento de conteúdo e uma experiência de streaming suave para o espectador com taxa de bits adaptável.
  • IPTV e OTT: O HLS também é usado nos serviços IPTV e Over-the-Top (OTT), como streaming de serviços de televisão e vídeo. A capacidade do protocolo de lidar com o tráfego alto e proporcionar uma experiência de streaming suave o torna uma escolha popular para esses aplicativos.
  • Streaming móvel: O HLS também é popular para streaming móvel, pois é suportado nas plataformas iOS e Android.
  • Enterprise Communications: O HLS é usado em plataformas de comunicação corporativa que permitem aos funcionários transmitir vídeos, compartilhar telas e fazer chamadas de áudio/vídeo, pois oferece uma experiência de streaming suave e é compatível com a maioria dos dispositivos.

WebRTC vs HLS: uma comparação detalhada

Recurso Webrtc HLS
Suporte do navegador Chrome, Firefox, Safari, Edge (com um plugin) Safari, Chrome, Edge, Firefox (com um plugin)
Suporte ao dispositivo Windows, MacOS, Linux, iOS, Android iOS, Android, MacOS, Windows
Suporte de codec VP8, VP9, ​​H.264, h.265 H.264, h.265
Latência Baixo Alto
Segurança Alto Médio
Qualidade de vídeo Alto Alto
Método de Entrega Pessoa para pessoa Baseado em servidor
Escalabilidade Alto Alto
Compatibilidade Limitado Largo

Ao decidir qual protocolo usar, é importante considerar fatores como latência, segurança, qualidade do vídeo, método de entrega, escalabilidade e compatibilidade.

Latência

Quando se trata de latência, o WebRTC tem uma clara vantagem sobre o HLS. O WebRTC usa comunicação em tempo real, o que significa que o vídeo é entregue instantaneamente ao espectador. Por outro lado, o HLS usa um mecanismo de buffer, que atrasa a entrega de vídeo. Dependendo das condições da rede, esse atraso pode levar de alguns segundos a alguns minutos. Esses elementos tornam o WebRTC mais adequado para casos de uso que requerem baixa latência, como bate -papos de vídeo ao vivo e jogos online.

Segurança

Tanto o WebRTC quanto o HLS usam criptografia para proteger fluxos de vídeo. No entanto, o nível de segurança fornecido por cada protocolo é diferente. O WEBRTC usa o Protocolo de Transporte Em tempo real seguro (SRTP) para criptografar o fluxo de vídeo, que é considerado um dos métodos de criptografia mais seguros. Por outro lado, o HLS usa o protocolo HTTP Secure (HTTPS) para criptografar o fluxo de vídeo. Enquanto o HTTPS é considerado seguro, o SRTP é menos seguro. Por esses motivos, o WebRTC é mais adequado para casos de uso que requerem altos níveis de segurança, como transações financeiras e comunicação do governo.

Qualidade de vídeo

Tanto o WebRTC quanto o HLS são capazes de fornecer vídeo de alta qualidade. No entanto, a qualidade do vídeo entregue por cada protocolo pode variar dependendo das condições da rede. O WebRTC usa streaming de taxa de bits adaptável, que ajusta a qualidade do vídeo em tempo real com base nas condições de rede do espectador. Isso significa que a qualidade do vídeo será alta, mesmo em redes de baixa largura de banda. Por outro lado, o HLS usa um mecanismo de entrega de vídeo pré-segmentado, que pode levar ao buffer e gaguejando em redes de baixa largura de banda. Como resultado, o WebRTC é mais adequado para casos de uso que exigem vídeo de alta qualidade em redes de baixa largura de banda.

Método de Entrega

WebRTC e HLS usam diferentes métodos de entrega para transmitir vídeo. O WebRTC usa um método de entrega ponto a ponto (P2P), o que significa que o vídeo é entregue diretamente de um espectador para outro. Isso reduz a carga do servidor e aumenta a escalabilidade do fluxo de vídeo. Por outro lado, o HLS usa um método de entrega do cliente-servidor, o que significa que o vídeo é entregue do servidor para o espectador. Isso pode levar a problemas de escalabilidade, especialmente durante os horários de pico de trânsito. Como resultado, o WebRTC é mais adequado para casos de uso que requerem altas escalabilidades, como eventos ao vivo e jogos online.

Escalabilidade

WebRTC e HLS têm diferentes características de escalabilidade. O WebRTC usa um método de entrega P2P, que reduz a carga do servidor e aumenta a escalabilidade do fluxo de vídeo. Por outro. Como resultado, o WebRTC é mais adequado para casos de uso que requerem altas escalabilidades, como eventos ao vivo e jogos online.

Compatibilidade

WebRTC e HLS têm diferentes características de compatibilidade. O WebRTC é compatível com a maioria dos navegadores modernos, incluindo Chrome, Firefox e Safari. No entanto, não é compatível com o Internet Explorer e Edge. Por outro lado, o HLS é compatível com a maioria dos navegadores modernos, incluindo Chrome, Firefox, Safari, Internet Explorer e Edge. Por esse motivo, o HLS é mais adequado para casos de uso que requerem compatibilidade com uma ampla gama de navegadores e dispositivos.

Webrtc vs hls: o que é melhor?

Webrtc é uma ótima opção para aplicativos de streaming em tempo real e de baixa latência. É perfeito para casos de uso, como chamadas de voz e vídeo, conferência online e bate -papo. Por outro lado, HLS é uma excelente opção para transmitir vídeo ao vivo para um grande público. É particularmente adequado para casos de uso, como streaming de esportes ao vivo, shows e outros eventos que exigem alta escalabilidade. A capacidade do HLS de se adaptar a diferentes condições de rede o torna uma escolha popular para transmitir conteúdo para os espectadores em vários dispositivos e redes.

Além disso, o HLS tem melhor suporte para proteger os direitos autorais do conteúdo, tornando -o uma escolha preferida para transmitir conteúdo premium. Quando se trata de compatibilidade, o HLS tem uma ligeira vantagem sobre o WebRTC. O HLS é amplamente suportado, tornando -o uma opção mais versátil para transmitir conteúdo para um público mais amplo. No entanto, isso tem o custo de uma latência um pouco mais alta.

Se o seu foco principal é o streaming de baixa latência em tempo real, o WebRTC pode ser sua melhor opção. Caso contrário, se seu foco principal estiver na escalabilidade e compatibilidade, então o HLS pode ser a melhor escolha.

Conclusão

Em conclusão, o WebRTC e o HLS têm seus próprios recursos e casos de uso únicos que os tornam adequados para diferentes tipos de streaming. O WebRTC é mais adequado para baixa latência e comunicação em tempo real, como chamadas de voz e vídeo, conferência on-line e bate-papo. Por outro lado, o HLS é mais adequado para o streaming de alta qualidade de vídeos pré-gravados em uma ampla gama de dispositivos.

Perguntas frequentes

1. Webrtc usa tcp ou udp?

O WebRTC usa TCP e UDP, dependendo do tipo de dados transmitidos. Ele usa TCP para controlar mensagens e UDP para transmissão de mídia.

2. YouTube usa HLS?

Sim, o YouTube usa o HLS (HTTP Live Streaming) como um de seus protocolos de streaming para entregar vídeos aos espectadores.

3. O WebRTC é apenas para navegadores?

O WebRTC é principalmente uma tecnologia baseada em navegador, mas também pode ser usada em aplicativos nativos através das bibliotecas WebRTC.

4. Netflix usa webrtc?

Não, a Netflix não usa o WebRTC para streaming. Eles usam sua própria tecnologia proprietária chamada Streaming Adaptive sobre HTTP (ASOH) que é baseado no HTTP Live Streaming (HLS).

Netflix usa o webrtc para streaming de vídeo

Quero construir um site que tenha streaming de vídeo como a Netflix como meu projeto lateral. Eu gostaria de saber se eles construem sua própria maneira da solução para streaming de vídeo ou eles também usam o WebRTC?

Perguntado em 10 de fevereiro de 2021 às 13:39

Hua Chi Quan Hua Chi Quan

116 1 1 crachá de ouro 1 1 crachá de prata 8 8 crachás de bronze

1 Resposta 1

A Netflix usa principalmente o DASH (streaming adaptativo dinâmico sobre HTTP), mas também possui outros perfis de codificação de fallback (dependendo da plataforma). Até onde eu sei, o webrtc não é usado pela Netflix.

A Wikipedia tem mais um histórico técnico na Netflix, enquanto um tópico diferente aqui no StackOverflow lança alguma luz sobre as vantagens e desvantagens de várias opções de streaming.

O que é webrtc? (Atualizar)

Para soluções interativas de transmissão ao vivo, que variam de videoconferência a apostas e lances on-line, a comunicação em tempo real da Web (WebRTC) tornou-se uma tecnologia subjacente essencial. A proliferação do WebRTC se resume a uma combinação de velocidade e compatibilidade.

Mais especificamente, o WebRTC é o formato de streaming de menor latência ao redor com entrega de vídeo sub-500 milissegundos. O suporte ao navegador nativo também elimina a necessidade de os usuários finais baixarem aplicativos desajeitados para visualizar os fluxos entregues com ele.

Dito isto, quando os desenvolvedores se ramificam a partir dos aplicativos de bate-papo puro para os quais o WebRTC foi projetado, os desafios podem surgir. Este artigo analisa como funciona o streaming de vídeo WebRTC, os benefícios que ele oferece, WebRTC’s limitações e como resolvê -las.

Índice

  • O que é webrtc?
  • Como funciona o webrtc?
  • Snapshot WebRTC
  • Como o webrtc veio a ser
  • Benefícios do WebRTC
  • Limitações do WebRTC
  • Casos de uso de streaming webrtc
  • Como é a segurança do webrtc?
  • Como o WebRTC se compara a outros protocolos?
    • Webrtc vs. HLS
    • Webrtc vs. Rtmp e srt
    • Webrtc vs. RTSP
    • 1. Streaming em tempo real em escala para vídeo de wowza
    • 2. WebRTC alimentado por Wowza Streaming Engine
    • 3. Convertendo webrtc em hls ou traço

    O que é webrtc?

    O WebRTC é uma estrutura aberta e gratuita para a Web que permite a comunicação em tempo real (RTC), seu nome promete entregar. Como uma combinação de padrões, protocolos e APIs de JavaScript, o WebRTC aproveita as conexões ponto a ponto entre os navegadores para suportar uma troca quase simultânea de dados-sem exigir software de terceiros ou plug-ins.

    Em outras palavras, o WebRTC permite que os usuários iniciem bate-papos de vídeo de clique para iniciar seus navegadores e trocar informações com rapidez suficiente para replicar interações pessoais. Isso suporta transmissão ao vivo interativa entre indivíduos, bem como a comunicação de navegador para navegador através de um conjunto de protocolos padrão.

    Como funciona o webrtc?

    O WebRTC emprega três APIs HTML5 que permitem aos usuários’ Navegadores para capturar, codificar e transmitir transmissões ao vivo entre si, permitindo a comunicação de mão dupla. Por esse motivo, o WebRTC é chamado de tecnologia ponto a ponto, em que cada navegador se comunica diretamente um com o outro.

    A beleza do WebRTC está nela: elimina a necessidade de qualquer servidor da Web intermediário durante essas trocas, sem mencionar equipamentos ou software adicionais. As salas de reunião de URL são um excelente exemplo da conveniência e da comunicação em tempo real entregue pela WebRTC.

    Enquanto alguns fluxos de trabalho de streaming exigem uma câmera de transmissão ao vivo, codificador e servidor de mídia, as implantações mais simples do WebRTC podem realizar tudo com uma webcam e navegador conectados. E, diferentemente do vídeo baseado em flash, o WebRTC pode ser reproduzido em qualquer jogador HTML5 que suporta APIs do WebRTC.

    No entanto, porque o WebRTC foi projetado para troca de informações nativas sem um servidor intermediário, ele pode’T lide com grandes públicos. Qualquer pessoa que queira transmitir webrtc em escala exigirá a ajuda de um servidor ou serviço de streaming. Desde a reembalagem do conteúdo em um formato mais escalável até a entrega de transmissões ao vivo em uma rede de entrega de conteúdo WebRTC (WoWZA), WOWZA para configurar seu fluxo de trabalho do WebRTC para acomodar o público de até um milhão de espectadores.

    Snapshot WebRTC

    • Codecs de áudio:Opus, ISAC, ILBC
    • Codecs de vídeo:H.264, VP8, VP9
    • Compatibilidade de reprodução: Chrome, Firefox e Safari suportam WebRTC sem nenhum plug -in
    • Benefícios: Super rápido e baseado no navegador
    • Desvantagens: Projetado para videoconferência e não escala, exigindo uma plataforma de streaming como o WoWZA ao transmitir para grandes públicos
    • Latência: Entrega sub-500 milissegundo

    Como o webrtc veio a ser

    O WebRTC começou como um projeto de código aberto do Google, com o objetivo de dar aos navegadores a capacidade de apoiar a comunicação de voz e vídeo em tempo real sem nenhum plug-ins. De muitas maneiras, uma antítese para tecnologias proprietárias de streaming como RTMP e Flash, o WebRTC foi padronizado pelo IETF e W3C. Webrtc cresceu na década que’s Seguiu-se desde o seu desenvolvimento inicial para combinar o poder de um projeto orientado pela comunidade com o suporte cruzado de uma especificação bem estabelecida.

    Hoje, o WebRTC é suportado em Chrome, Safari, Firefox, Opera, Microsoft Edge, Android e iOS (exceto para iOS 15 + Safari). Isto’é também o bate -papo por vídeo em alta tecnologia no Google Hangouts, Facebook Messenger e HouseParty – para citar alguns. De acordo com o Google, “Com Chrome, Edge, Firefox e Safari, apoiando o WebRTC, mais de 85% de todos os navegadores instalados globalmente se tornaram um cliente para comunicações em tempo real na Internet.”

    Benefícios do WebRTC

    Ao considerar as muitas vantagens que o WebRTC entrega para usuários e desenvolvedores, faz sentido por que lá’é muito hype ao seu redor. Tudo, desde entrega de baixa latência até interoperabilidade, torna uma escolha atraente.

    A latência de streaming e o contínuo de interatividade

    • Latência inerentemente baixa. WebRTC bate no parque quando se trata de velocidade de entrega. Na latência de vidro para vidro sub-500 milissegundos, o WebRTC oferece o método mais rápido para transportar vídeos pela Internet.
    • Independência de plataforma e dispositivo. Todos os principais navegadores e dispositivos suportam o WebRTC, simplificando a integração em uma ampla gama de aplicativos sem infraestrutura dedicada. Como o WebRTC usa APIs HTML5, ele permite que os desenvolvedores utilizem muitos dos recursos incorporados na linguagem de programação HTML5 através de uma estrutura leve e incorporada. O que’S mais, a codificação baseada em navegador garante uma experiência mais acessível para o usuário final para todos.
    • Código aberto e padronizado. A estrutura de código aberto é padronizado pelo IETF e W3C, eliminando assim quaisquer desafios de interoperabilidade que acompanham as tecnologias de streaming proprietárias. Mundo de computador’S Shan Sinha explica, “O WebRTC se beneficia de ter milhares de desenvolvedores de software trabalhando nele em conjunto, padronizando protocolos de conferência e tornando a interoperabilidade menos preocupante. A maioria das empresas pode’T competindo com milhares de desenvolvedores independentes que contribuem com código para uma plataforma-mesmo organizações tão grandes quanto o Google e a Apple pálidas em comparação com um esforço orientado pela comunidade da Web.”
    • Adapta -se às condições de rede. O WebRTC garante publicação confiável sobre condições ruins de rede com codificação de rede adaptativa. Que’s porque suporta uma capacidade chamada ‘Simulcasting’ – Não deve ser confundido com a transmissão para vários destinos, que é a definição tradicional desse termo. Com o WebRTC simulcasting, o cliente gera vários fluxos em taxas de bits e qualidade variadas para que as más condições de rede não’T dificulta a contribuição de vídeo. Ao contrário do streaming de taxa de bits adaptável, onde o fluxo se ajusta dinamicamente durante a reprodução, isso ocorre no lado da publicação e fornece várias codificações, em vez da capacidade de adaptar a taxa de bits médio.

    Limitações do WebRTC

    Entrega de baixa latência tem a maior prioridade com o streaming WebRTC. Como resultado, a escala e a qualidade têm limitações ao implantar o WebRTC sem tecnologias adicionais.

    • Escalabilidade. Webrtc simplesmente não era’t projetado com escalabilidade em mente. A configuração intensiva em largura de banda exige que cada navegador participante se conecte através de uma conexão de pares. Para colocar isso em perspectiva, o especialista do WebRTC, Tsahi Levent-Levi, recomenda ficar com mais de 50 conexões simultâneas.
    • Qualidade de transmissão. Um equívoco comum é que o WebRTC não tem qualidade devido a limitações de taxa de bits. Embora a contribuição baseada no navegador seja inerentemente dependente de conectividade e câmera na frente da resolução, a codificação de alto bitrato ainda é possível. Dito isto, os distribuidores de conteúdo que desejam transmitir com um codificador e câmera profissional podem achar esse tipo de fluxo de trabalho menos do que o ideal para streaming de conteúdo produzido. Além disso, o suporte de streaming de taxa de bits adaptável é limitado com o WebRTC.

    Casos de uso de streaming webrtc

    O WebRTC é uma estrutura de entrega ideal para aplicações que dependem da velocidade e da interatividade. Por exemplo, imagine você’está hospedando um leilão online. Você’Re na câmera solicitando lances, mas uma latência de cinco segundos significa que seu público está um pouco atrás de você. Isto’está indo uma vez, indo duas vezes, você aceita a oferta final – e alguém entra no último segundo com uma oferta melhor, mas você’já o fechou por causa dessa latência.

    Com webrtc’s sub-500 milissegundo latência, que’não é um problema. Você’D Ser capaz de ouvir a oferta final em tempo quase real. O WebRTC também é útil para aplicações como:

    • Jogos
    • Esports
    • Esportes vivos
    • Fitness
    • Jogatina
    • Resposta de emergência
    • Vigilância
    • Telessaúde

    E muito mais. Quanto mais perto do tempo real você precisa do seu fluxo, maior a probabilidade de optar por Webrtc.

    Como é a segurança do webrtc?

    O WebRTC é seguro porque exige criptografia SRTP (Protocolo em tempo real seguro) e um grupo de outros padrões (é mais do que apenas um mero protocolo, afinal). Uma das organizações que ajudaram a padronizar o WebRTC, a Força -Tarefa de Engenharia da Internet, proíbe as conexões WebRTC sem a criptografia necessária.

    Além de ser criptografado no nível do protocolo, o WebRTC também aproveita o navegador e a segurança apoiada pela comunidade. Os principais navegadores como Firefox, Chrome, Safari e Edge levam a sério a segurança do WebRTC, para que eles exijam HTTPs para acessar a estrutura, proteções de vazamento de IP, usuários para conceder permissões a sites individuais antes de permitir acesso à câmera e microfone e outros controles de privacidade. Como um projeto de código aberto, WebRTC’A comunidade de desenvolvedores também trabalha juntos para garantir que sua segurança seja do mais alto calibre.

    Confira o seguinte fluxo de trabalho para entender melhor como a criptografia e a segurança padrão se comparam ao WebRTC’s camadas adicionais.

    WebRTC Security Graphic

    Como o WebRTC se compara a outros protocolos?

    Como nós’Estabeleceu, o webrtc é mais do que um protocolo, mas’s uma alternativa a vários formatos de entrega de vídeo que são apenas protocolos, como HLS, RTMP, RTSP e SRT. Como o WebRTC se compara a estes?

    Webrtc vs. HLS

    HTTP Live Streaming (HLS) é um protocolo proprietário da Apple normalmente usado para entrega de última milha. A Apple desenvolveu inicialmente o protocolo para resolver problemas de reprodução para iPhones durante transmissões ao vivo, mas desde então decolou e agora é um protocolo quase universalmente aceito que inúmeros dispositivos e navegadores suportam.

    Compatibilidade é uma das principais razões pelas quais você pode decidir comparar o WebRTC vs. HLS. Isto’é raro encontrar um sistema que não’t Suporte -os, então você não’É preciso me preocupar em excluir alguém que você deseja fazer parte do seu público.

    Suas principais diferenças estão na latência e escalabilidade. Por si só, o HLS é realmente bastante lento, com uma latência entre seis e 30 segundos. Se você usa a Apple’é a extensão HLS de baixa latência, é’é possível reduzir essa latência para cerca de dois segundos, mas ainda não’T compare com o webrtc’S sub-500 milissegundo entrega.

    HLS, no entanto, é mais escalável por si só. Este protocolo torna viável alcançar milhares a milhões de espectadores com facilidade. Webrtc isn’T pretendia transmitir conteúdo para grandes públicos, por isso tem um desempenho melhor até 50 espectadores ou menos. Dito isto, isso’é possível superar o webrtc’Scalabilidade S problemas e ainda atinge milhões de espectadores com uma parte CDN personalizada de uma solução como Wowza’s streaming em tempo real em escala.

    Webrtc vs. Rtmp e srt

    O protocolo de mensagens em tempo real (RTMP) já foi o setor’s Protocolo principal devido ao seu relacionamento unido com o Adobe Flash. O RTMP caiu em desuso por certas partes dos fluxos de trabalho de streaming desde o Flash’s morte, mas isso’ainda é o favorito para a contribuição de primeira milha devido à sua compatibilidade com os codificadores. Muitos fluxos de trabalho, por exemplo, codificam com o RTMP antes de transcodificar os ativos de vídeo em HLS para entrega de última milha.

    RTMP tem uma latência de cerca de cinco segundos, que não é’t perto do webrtc’S Velocidade impecável, mas supera o HLS e o Dash sem as extensões de baixa latência. O WebRTC corresponde ou vence o RTMP em muitos outros aspectos, incluindo segurança e compatibilidade (quase nenhum dos navegadores suporta RTMP), mas onde o RTMP tem uma vantagem é uma funcionalidade, incluindo legendas, metadados cronometrados e marcadores de anúncios. WebRTC é uma excelente opção para streaming de vidro para vidro que não’T requer transcodificação – especialmente se você precisar apenas de um navegador da Web para cada extremidade -, mas muitos distribuidores de conteúdo optam por trabalhar com o RTMP se precisarem de mais controle sobre suas configurações de codificação.

    Isto’também é importante considerar o webrtc vs. Transporte confiável seguro (SRT). A SRT foi criada como uma alternativa ao RTMP, compensando a baixa qualidade da rede para fornecer fluxos de baixa latência e confiáveis. Como tal, srt’As vantagens e desvantagens são semelhantes ao compará-lo com o WebRTC: você pode usá-lo para contribuição de primeira milha antes de transcodificar-o, usando o SRT para resolver problemas como perda de pacote e perda de pacotes.

    Webrtc vs. RTSP

    O protocolo de streaming em tempo real (RTSP) é’T responsável pelo transporte de dados de clientes para servidores – que’s Protocolo de transporte em tempo real (RTP)-mas facilita a reprodução multimídia e é frequentemente comparado ao RTMP.

    RTSP e WEBRTC às vezes se complementam porque o RTSP é frequentemente um protocolo padrão entre as câmeras IP. Essas câmeras usam RTSP para contribuição de primeira milha e filmagem de transcodificação no WebRTC para entrega de última milha, reduzindo drasticamente a latência (o que é especialmente importante na vigilância). Webrtc isn’T usado para ambas as extremidades do processo porque’ainda é principalmente baseado em navegador, para que as câmeras IP ainda precisem de RTSP para codificar.

    Resolvendo a escalabilidade do WebRTC

    Em uma conexão WeBrtc tradicional ponto a ponto, cada navegador se conecta diretamente a todos os outros navegadores do grupo-queimando a largura de banda no processo. Wowza oferece três opções para superar as restrições de escalabilidade do WebRTC

    1. Streaming em tempo real em escala para vídeo de wowza

    Nosso recurso de streaming em tempo real em escala para o Wowza Video implanta o WebRTC em uma CDN personalizada para fornecer escala quase sem limite. Os distribuidores de conteúdo podem transmitir para um milhão de espectadores em menos de meio segundo, combinando entrega em tempo real com transmissão em larga escala.

    2. WebRTC alimentado por Wowza Streaming Engine

    Ao conectar todos os participantes a um servidor de transmissão ao vivo como o Wowza Streaming Engine, os distribuidores de conteúdo se beneficiam do streaming em tempo real em uma escala maior, ao mesmo tempo em que otimiza a largura de banda, minimizando o número de conexões que cada cliente deve estabelecer e manter. Infraestrutura adicional seria necessária para escalar além de várias centenas de espectadores;.

    3. Convertendo webrtc em hls ou traço

    Por fim, um servidor de transmissão ao vivo ou serviço baseado em nuvem pode ser usado para transcodificar o fluxo WebRTC em um protocolo como HLS para distribuição a milhares. Dessa forma, os distribuidores de conteúdo podem combinar publicação simples e baseada no navegador com transmissão em larga escala-embora em uma latência mais alta. Quando fácil aquisição de conteúdo (e não entrega em tempo real) é o principal motivo para incorporar o WebRTC no seu fluxo de trabalho de streaming, então esta solução é o caminho a seguir.

    Resolvendo a qualidade WebRTC

    Ao aumentar a qualidade do conteúdo transmitido via WebRTC, duas das opções descritas acima mais uma vez entram em jogo.

    1. Streaming em tempo real em escala para vídeo de wowza

    O streaming em tempo real em escala para o Wowza Video oferece a flexibilidade de transmitir por meio de qualquer codificador, usando ingestão de RTMP ou alavancando nossa integração de obs obs. Isso significa que as emissoras não estão’T Limitado à captura e codificação baseada em navegador ao procurar distribuir conteúdo produzido.

    2. Convertendo webrtc em hls ou traço

    O HLS e o DASH aproveitam o streaming de bits adaptativo para oferecer a melhor qualidade de vídeo e experiência do visualizador possível – independentemente da conexão, software ou dispositivo. Por esse motivo, a conversão de um fluxo WebRTC em qualquer um desses protocolos resolve para escala e qualidade. Uma compensação significativa é a latência, então nós’D sugere apenas esse fluxo de trabalho se a entrega em tempo real não for’T uma prioridade.

    Por que combinar webrtc com wowza

    Se você precisa apoiar a interatividade em tempo real, a transmissão em escala ou uma combinação de ambos, uau’S Solução WebRTC pode ser personalizada para suas necessidades. Organizações em indústrias que variam de varejo a jogos dependem do WEBRTC movido a Wowza para entrega em tempo real, ingestão baseada em navegador e distribuição de vídeo em larga escala.

    • Escala infinita. Enquanto projetado para ambientes de bate -papo por vídeo com apenas alguns participantes, o WebRTC pode ser combinado com Wowza’s Technology for Broadcasting para até um milhão de espectadores. O streaming em tempo real em escala para o vídeo Wowza torna esse processo sem costura-com entrega de velocidade de raio para inicializar.
    • Possibilidades expandidas. Qualquer pessoa que queira adicionar funcionalidade adicional ao WebRTC – incluindo gravação de vídeo, segurança e outros aprimoramentos – precisa de um poderoso software de streaming por trás da cortina. Wowza fornece ferramentas, APIs e módulos poderosos para aprimorar o WebRTC’S Recursos prontos para uso. Nossa plataforma de transmissão ao vivo também capacita os distribuidores de conteúdo para criar fluxos de trabalho híbridos que combinam o WebRTC com outros protocolos de streaming que melhor atendem às suas necessidades.
    • Broadcasting simples e baseado em navegador. Publicação baseada no navegador do WebRTC Powers, e com Wowza em segundo plano, você’é capaz de transmitir o conteúdo para inúmeros usuários. Nossas soluções de streaming do WebRTC garantem a transmissão simples de ponta a ponta para qualquer destino-sem a necessidade de um codificador.

    Para saber mais sobre o aprimoramento do WebRTC com Wowza, confira os vídeos vinculados abaixo:

    Wowza Video e WebRTC para streaming em tempo real em escala: com o Wowza Video, você pode criar eventos de transmissão ao vivo que escalam instantaneamente para um milhão de espectadores com a experiência em tempo real necessária para aplicativos interativos.

    Wowza Streaming Engine e WebRTC: WebRTC Powered by Wowza Streaming Engine permite que você transcode, restante e aprimore o WebRTC’s capacidades de maneiras poderosas.

    Conclusão

    Descrito pelo co-fundador da Mozilla Brandan Eich como “Uma nova frente na longa guerra para uma web aberta e sem oncidos,” WebRTC combina o streaming baseado em navegador com interatividade em tempo real. A estrutura aberta e gratuita funciona muito bem para pequenos ambientes baseados em vídeo. E quando também são necessários recursos de distribuição em larga escala ou streaming adicionais, wowza’A tecnologia s fornece o impulso necessário.

    Comece a transmitir em tempo real em escala

    Recursos adicionais:

    • [Solutions Brief] Streaming em tempo real em escala
    • [Relatório] 2021 Relatório de latência de streaming de vídeo

    Sobre Traci Ruether

    Traci Ruether é um escritor de tecnologia B2B baseado no Colorado com experiência em streaming e infraestrutura de rede. Além de escrever, Traci gosta de cozinhar, jardinar e gastar tempo de qualidade com seus kith e parentes. Siga -a no LinkedIn em https: // www.LinkedIn.com/in/traci-ruether/ou aprenda… Veja mais

    Notícias do setor de streaming

    Junte -se aos profissionais de streaming 2K+ e entregue o blog Wowza na sua caixa de entrada.

    WHIP & WHEP: Webrtc é o futuro da transmissão ao vivo?

    WHIP & WHEP são especificações para colocar o WebRTC na transmissão ao vivo. Mas é isso realmente o que é necessário avançar?

    Webrtc é ótimo para tempo real. Qualquer outra coisa – não tanto. Recentemente, dois novos protocolos chegaram a ser – chicote e whep. Eles trabalham como sinalização para o WebRTC para apoiar melhor os casos de uso ao vivo de transmissão ao vivo.

    Nos últimos meses, houve uma adoção crescente na implementação desses protocolos (a adoção do uso real é’t algo que eu estou a par que pode’t atestar de qualquer maneira). Este progresso é positivo, mas eu posso’não ignorar os sentimentos que tenho que esta é apenas uma solução temporária.

    Índice

    • O que são chicotes e whep?
      • Pontos fortes ��
      • Fraquezas ��
      • Pontos fortes ��
      • Fraquezas ��

      O que são chicotes e whep?

      Chico. WHEP significa protocolo de saída WebRTC-HTTP. Ambos são rascunhos de IETF relativamente novos que definem um protocolo de sinalização para o WebRTC.

      WeBrtc Decidiu explicitamente não ter nenhum protocolo de sinalização para que os desenvolvedores possam escolher qualquer protocolo de sinalização existente de sua escolha – seja SIP, XMPP ou qualquer outra alternativa. Para a indústria de transmissão de mídia, isso não foi’uma coisa boa-eles precisavam de um protocolo bem conhecido com implementações prontas. O que levou a chicote e whep.

      Para entendê -los como eles se encaixam em uma solução, podemos usar o diagrama abaixo:

      webrtc whip & whep

      Em um caso de uso ao vivo, temos um ou mais emissoras que “Ingerir” a mídia deles para um servidor de mídia. Que’está onde o chicote entra. Os espectadores do outro lado, obtêm seus fluxos de mídia no lado de saída da infraestrutura dos servidores de mídia.

      Para uma visão geral técnica do WHIP & WHEP, confira esta sessão de Geek Kranky de Sergio Garcia Murillo de Dolby:

      transmissão ao vivo do WebRTC

      Quanto menor a latência que queremos, mais desafiador a implementação é. Quanto mais perto de viver/tempo real queremos obter, mais sacrifícios precisaremos fazer em termos de qualidade. EU’Escrevi sobre a necessidade de escolher qualidade ou latência.

      Webrtc é Razor focado em tempo real e vive. Tanto que pode’t realmente lide com algo que tem latência nele. Pode – mas vai sacrificar demais por isso a um alto custo de complexidade – algo que você não’Eu realmente quero ou precisa.

      O que isso significa exatamente?

      • O WebRTC atropela o UDP e volta ao TCP se precisar
      • A razão por trás disso é que ter as retransmissões genéricas incorporadas no TCP é principalmente contraproducente para o WebRTC – se um pacote for perdido, renderizar -se que será tarde demais em muitos casos para fazer uso dele �� ao vivo – lembre -se de?
      • Portanto, o WebRTC conta com UDP e usa RTP, permitindo que ele decida como lidar com perdas de pacotes, flutuações de taxa de bits e outros problemas de rede que afetam as comunicações em tempo real
      • Se tivermos alguns segundos de latência, podemos usar retransmissões em cada pacote para lidar com perdas de pacotes. É exatamente isso que o Netflix e o YouTube fazem, por exemplo,. Com seu foco em baixa latência, o webrtc não’t realmente permitir isso para nós

      É quando algumas perguntas difíceis precisam ser feitas – O que exatamente o seu serviço de streaming precisa?

      • Latência subsegunda porque é em tempo real e interativa?
      • Se o espectador receber a mídia dois segundos após a transmissão. Isso é um grande problema ou está tudo bem?
      • Que tal 5 segundos?
      • E 30 segundos?
      • O riacho é até ao vivo para começar ou é pré-gravado?

      Se você precisar de coisas para ser conduzido apenas em latência subsegunda, então o Webrtc é provavelmente o caminho a seguir. Mas se você também tem em seu caso de uso outras latências, pense duas vezes antes de escolher o WebRTC como sua solução preferida.

      Uma abordagem híbrida webrtc para “ao vivo” transmissão

      abordagem de transmissão ao vivo do WebRTC

      Um aspecto importante que precisa ser mencionado aqui é que, em muitos casos, o WebRTC é usado em um modelo híbrido em transmissão de mídia.

      Muitas vezes, queremos ingerir mídia usando o WebRTC e ver a mídia em outros lugares usando outros protocolos – geralmente porque não vestimos’T Care tanto quanto a latência ou porque já temos o componente de visualização resolvido e implantado – aqui o WebRTC ingestão é adicionado a um serviço existente.

      Adicionar o protocolo WHIP aqui e ingerir a mídia WebRTC ao serviço de streaming significa que podemos adquirir a mídia de um navegador da web sem instalar nada. Em tempo real é bom, mas nem sempre é necessário. A ingestão do navegador é principalmente sobre reduzir o atrito e ativar aplicativos da web.

      Os 3 Cavaleiros: WebTransport, Webcodecs e WebAssembly

      WebTransport WebCodecs WebAssembly

      Essa última sugestão teria parecida diferente apenas dois anos atrás, quando por tempo real o único jogo na cidade para navegadores era o webrtc. Hoje, porém, não é’t O caso.

      Em 2020, apontei para a separação do webrtc. A tendência em que o WebRTC está sendo dividido em seus componentes principais, para que os desenvolvedores possam usar cada um de forma independente e, de certa forma’t webrtc. Esses componentes são:

      1. WebTransport – significa enviar qualquer coisa sobre UDP em baixa latência entre um servidor e um cliente – com ou sem retransmissões
      2. WebCodecs – Os codecs usados ​​no WebRTC, dissociados do WebRTC, com seu próprio quadro por codificação e interface de decodificação de quadros
      3. WebAssembly – A cola que pode implementar coisas com alto desempenho dentro de um navegador

      Teoricamente, usando esses 3 componentes, pode -se construir uma solução de comunicação em tempo real, que é exatamente o que o Zoom está tentando fazer dentro dos navegadores da web.

      Nos últimos meses eu’Vi cada vez mais empresas adotando essas interfaces. Tudo começou com os fornecedores usando o WebAssembly para desfoque e substituição de fundo. Mudou -se para as empresas que brincam com o WebTransport e/ou WebCodecs para streaming e, recentemente, muitos fornecedores estão fazendo supressão de ruído com o WebAssembly.

      Aqui’s O que a Intel mostrou durante o Kranky Geek 2021:

      Esta tendência só vai crescer.

      Como isso se relaciona com o streaming?

      Bom que você perguntou!

      Esses 3 nos permitem implementar nossa própria solução de streaming ao vivo, não baseada no WebRTC, que pode alcançar a Sub Segunda Latência nos navegadores da Web. Também é flexível o suficiente para podermos adicionar mecanismos e ferramentas a ele que podem lidar com latências mais altas conforme necessário, onde em latências mais altas melhoramos a qualidade da mídia.

      Pontos fortes ��

      Aqui’é o que eu gosto nessa abordagem:

      • Eu tenho’T leio sobre isso ou vi em qualquer lugar, então eu gosto de pensar nisso como um que eu inventei sozinha, mas sério ..
      • É capaz de um único conjunto de protocolos e tecnologias para apoiar qualquer requisito de latência que tenhamos em nosso serviço
      • Suporte para navegadores da web (ainda não todos, mas estaremos chegando lá)
      • Não há necessidade de virar ou atordoar servidores – menos pegada de servidor e dores de cabeça e melhor penetração no firewall (que’S Supondo que o WebTransport se torne tão comum quanto o WebSocket e fica automaticamente na lista de firewalls)

      Fraquezas ��

      Não é’T all Shiny embora:

      • Ainda novo e nascente. Nós Don’eu sei o que não’T trabalho e quais são as limitações
      • Nem todos os navegadores modernos apoiam corretamente ainda
      • Nós’voltar para a estaca zero – lá’S Não há protocolo de streaming para apoiá -lo dessa maneira, o que significa que não vestimos’t Suporte o ecossistema de transmissão de mídia como um todo
      • Conectá -lo ao webrtc quando necessário pode não ser direto
      • Você precisa construir suas especificações de seleção no momento, o que significa mais trabalho para você

      Webrtc é o futuro da transmissão ao vivo?

      Whip e Whep estão aqui. Eles estão ganhando tração e têm fornecedores atrás deles empurrando -os.

      Por outro lado, eles não’t resolva todo o problema – apenas o aspecto ao vivo da transmissão.

      A razão pela qual o webrtc é usado no momento é porque foi o único jogo na cidade. Em breve, isso mudará com a adoção de soluções baseadas em WebTransport+WebCodecs+WebAssembly, onde uma alternativa ao WebRTC para transmissão ao vivo nos navegadores se apresentará.

      Isso pode substituir o webrtc? Para streaming de mídia – sim.

      É assim que a indústria vai ir? Isso ainda está para ser visto, mas definitivamente algo para rastrear.