Netflix usa TCP ou UDP?
Se a baixa latência for sua prioridade, sugerimos o protocolo SRT, que é capaz de fluxos de baixa latência ou o protocolo WebRTC, que oferece latência em tempo real.
TCP ou UDP para streaming?
Geralmente, conexões em tempo real, como streaming de vídeo, VoIP e alguns jogos, usarão o UDP (Protocolo do Datagrama do Usuário). O UDP é usado onde a comunicação rápida em tempo real é crucial, e perder alguns quadros/pacotes no processo é aceitável.
A comunicação sem tempo que não pode fazer com mais frequência usa o TCP (Protocolo de Controle de Transmissão), pois está bem estabelecido, fornece pedidos de pacotes, retransmissões e impede a perda de pacotes. O TCP é usado onde a transferência de cada quadro/pacote é importante.
Netflix, Hulu, YouTube, etc. O streaming de vídeo usa todos os tcp e simplesmente buffer alguns segundos de conteúdo, em vez de usar UDP, pois o atraso não é crucial e as transferências de TCP podem ser facilmente realizadas com HTTP e navegadores da Web sem a necessidade de plugins e software adicionais.
Geralmente, se o conteúdo será disponibilizado posteriormente, provavelmente está usando o TCP.
Transmissão de TV ao vivo e videoconferência multicast, por outro lado, geralmente são sobre UDP. Tais aplicativos geralmente exigem seu próprio protocolo no topo do UDP (geralmente RTP/RTCP sobre UDP).
Netflix usa TCP ou UDP?
Por que a Netflix usa o TCP para streaming em vez de UDP? Alguns pacotes ausentes não vão impactar significativamente um fluxo de vídeo.
O TCP lida com o congestionamento e a alocação de largura de banda automaticamente. Décadas de algoritmos funcionam a seu favor se você usar o TCP.
Um único pacote ausente vai estragar seriamente seu fluxo de vídeo. Lembre -se de que longas seqüências de imagens de filme são enviadas como uma única imagem inteira e instruções delta para gerar o restante das imagens. Um único pacote ruim pode estragar um segundo de vídeo.
Dependendo da taxa de quadros -chave no fluxo, pode ser de 3 a 10 segundos. E se o Partido Republicano [1] for ainda maior, pode ser mais longo.
Há uma boa explicação em http: // www.DTC.umn.edu/~ ~ odlyzko/doc/net.neutralidade.ilusões. (2008) Seção 3, que explica “por que os downloads progressivos de música ou vídeo mais rápidos do que em tempo real são muito preferíveis ao streaming em tempo real. Mas primeiro vamos considerar a estranha situação em que essa questão não é discutida publicamente, e os advogados de cada um dos dois tipos de transmissão de vídeo parecem não saber que há uma alternativa real à sua solução preferida e que há uma decisão séria que deve ser tomada para cada serviço de vídeo.”
Alguns pacotes ausentes podem não importar, você está certo. MPEG tem muita verificação de erros e manuseio de erros embutidos na camada de fluxo de transporte.
Mas acho que a maior razão pela qual a Netflix usa o TCP é porque o TCP tem muito mais facilidade com o NAT Traversal e não precisa de encaminhamento de porta. Ao olhar e agir como tráfego normal da web, facilita a garantia de que as coisas funcionarão, em vez de precisar de qualquer acomodação especial.
O UDP não oferece benefícios significativos ao TCP quando a latência não é tão importante (e.g. tocando filmes gravados anteriormente em oposição ao vivo).
Na verdade. Muito lento e você não está utilizando a largura de banda completa, muito rápido e os pacotes estão sendo descartados porque o cliente não pode recebê -lo rápido o suficiente.
Se você não tiver um bom motivo para o UDP, deve ficar com o TCP, caso contrário, esteja preparado para reimplementar seu próprio congestionamento/controle de taxas e, a menos que você esteja familiarizado com o assunto, pode ser um desafio.
IMO Um bom exemplo de desnecessariamente usando UDP é o Etsy’s Statsd. O argumento deles é que tudo bem quando os dados são perdidos, então não há necessidade de TCP. Infelizmente, com a abordagem deles quando há tráfego suficiente na LAN para fazer com que o roteador solte pacotes, não há muito tráfego para outros dados também. Se eles usariam o TCP com (opcionalmente) buffer de envio/recebimento baixo e usaria o soquete O_NONBLOCK. Ao enviar dados se send () retornar EAAGIN, basta ignorá -los. Essa abordagem ainda faz com que os dados sejam retirados quando há muito, mas ao mesmo tempo minimiza a quantidade de dados na rede e é bom com outros serviços compartilhando os mesmos roteadores.
O TCP é mais eficiente que o UDP se você não precisar de entrega de baixa latência, porque pode comprimir mais dados de uma só vez e esperar pacotes retransmitidos não é um problema. Isso também garante que você obtenha um fluxo de alta qualidade através da experiência de visualização, a menos que haja grandes problemas de congestionamento.
Um bate -papo por vídeo sempre preferirá a transmissão UDP para a menor latência possível, mas a qualidade pode variar e o uso da largura de banda pode ser tecnicamente maior.
“O TCP é mais eficiente que o UDP se você não precisar de entrega de baixa latência, porque pode comprimir mais dados de uma só vez e esperar pacotes retransmitidos não é um problema.”
Você gostaria de elaborar o que você quer dizer com qualquer uma dessas coisas? Por acaso, tenho alguns antecedentes em protocolos, mas sinceramente não consigo entender qualquer parte dessa frase.
Se você sabe que o receptor receberá todos os dados que você envia (ou pelo menos muito de uma vez, por exemplo, se você tiver um buffer de 5 segundos), poderá comprimir com mais eficiência toda a mídia sendo enviada.
Normalmente, um fluxo de vídeo baseado em UDP terá menos dependência entre os pacotes, de modo que, mesmo que um pacote seja descartado, o próximo pacote ainda é decodível. Isso significa que há informações mais redundantes por pacote como uma medida de durabilidade.
Os fluxos baseados em UDP também costumam ter algo chamado de correção de erro avançado (FEC). É aqui que você codifica versões de qualidade inferior de amostras de mídia em pacotes subsequentes. Novamente, isso é negociar mais largura de banda pela durabilidade em tempo real. Se você perder um pacote, então o próximo passageiro
Netflix usa TCP ou UDP?
Se a baixa latência for sua prioridade, sugerimos o protocolo SRT, que é capaz de fluxos de baixa latência ou o protocolo WebRTC, que oferece latência em tempo real.
TCP ou UDP para streaming?
Geralmente, conexões em tempo real, como streaming de vídeo, VoIP e alguns jogos, usarão o UDP (Protocolo do Datagrama do Usuário). O UDP é usado onde a comunicação rápida em tempo real é crucial, e perder alguns quadros/pacotes no processo é aceitável.
A comunicação sem tempo que não pode fazer com mais frequência usa o TCP (Protocolo de Controle de Transmissão), pois está bem estabelecido, fornece pedidos de pacotes, retransmissões e impede a perda de pacotes. O TCP é usado onde a transferência de cada quadro/pacote é importante.
Netflix, Hulu, YouTube, etc. O streaming de vídeo usa todos os tcp e simplesmente buffer alguns segundos de conteúdo, em vez de usar UDP, pois o atraso não é crucial e as transferências de TCP podem ser facilmente realizadas com HTTP e navegadores da Web sem a necessidade de plugins e software adicionais.
Geralmente, se o conteúdo será disponibilizado posteriormente, provavelmente está usando o TCP.
Transmissão de TV ao vivo e videoconferência multicast, por outro lado, geralmente são sobre UDP. Tais aplicativos geralmente exigem seu próprio protocolo no topo do UDP (geralmente RTP/RTCP sobre UDP).
Netflix usa TCP ou UDP?
Por que a Netflix usa o TCP para streaming em vez de UDP? Alguns pacotes ausentes não vão impactar significativamente um fluxo de vídeo.
O TCP lida com o congestionamento e a alocação de largura de banda automaticamente. Décadas de algoritmos funcionam a seu favor se você usar o TCP.
Um único pacote ausente vai estragar seriamente seu fluxo de vídeo. Lembre -se de que longas seqüências de imagens de filme são enviadas como uma única imagem inteira e instruções delta para gerar o restante das imagens. Um único pacote ruim pode estragar um segundo de vídeo.
Dependendo da taxa de quadros -chave no fluxo, pode ser de 3 a 10 segundos. E se o Partido Republicano [1] for ainda maior, pode ser mais longo.
Há uma boa explicação em http: // www.DTC.umn.edu/~ ~ odlyzko/doc/net.neutralidade.ilusões. (2008) Seção 3, que explica “por que os downloads progressivos de música ou vídeo mais rápidos do que em tempo real são muito preferíveis ao streaming em tempo real. Mas primeiro vamos considerar a estranha situação em que essa questão não é discutida publicamente, e os advogados de cada um dos dois tipos de transmissão de vídeo parecem não saber que há uma alternativa real à sua solução preferida e que há uma decisão séria que deve ser tomada para cada serviço de vídeo.”
Alguns pacotes ausentes podem não importar, você está certo. MPEG tem muita verificação de erros e manuseio de erros embutidos na camada de fluxo de transporte.
Mas acho que a maior razão pela qual a Netflix usa o TCP é porque o TCP tem muito mais facilidade com o NAT Traversal e não precisa de encaminhamento de porta. Ao olhar e agir como tráfego normal da web, facilita a garantia de que as coisas funcionarão, em vez de precisar de qualquer acomodação especial.
O UDP não oferece benefícios significativos ao TCP quando a latência não é tão importante (e.g. tocando filmes gravados anteriormente em oposição ao vivo).
Na verdade. Muito lento e você não está utilizando a largura de banda completa, muito rápido e os pacotes estão sendo descartados porque o cliente não pode recebê -lo rápido o suficiente.
Se você não tiver um bom motivo para o UDP, deve ficar com o TCP, caso contrário, esteja preparado para reimplementar seu próprio congestionamento/controle de taxas e, a menos que você esteja familiarizado com o assunto, pode ser um desafio.
IMO Um bom exemplo de desnecessariamente usando UDP é o Etsy’s Statsd. O argumento deles é que tudo bem quando os dados são perdidos, então não há necessidade de TCP. Infelizmente, com a abordagem deles quando há tráfego suficiente na LAN para fazer com que o roteador solte pacotes, não há muito tráfego para outros dados também. Se eles usariam o TCP com (opcionalmente) buffer de envio/recebimento baixo e usaria o soquete O_NONBLOCK. Ao enviar dados se send () retornar EAAGIN, basta ignorá -los. Essa abordagem ainda faz com que os dados sejam retirados quando há muito, mas ao mesmo tempo minimiza a quantidade de dados na rede e é bom com outros serviços compartilhando os mesmos roteadores.
O TCP é mais eficiente que o UDP se você não precisar de entrega de baixa latência, porque pode comprimir mais dados de uma só vez e esperar pacotes retransmitidos não é um problema. Isso também garante que você obtenha um fluxo de alta qualidade através da experiência de visualização, a menos que haja grandes problemas de congestionamento.
Um bate -papo por vídeo sempre preferirá a transmissão UDP para a menor latência possível, mas a qualidade pode variar e o uso da largura de banda pode ser tecnicamente maior.
“O TCP é mais eficiente que o UDP se você não precisar de entrega de baixa latência, porque pode comprimir mais dados de uma só vez e esperar pacotes retransmitidos não é um problema.”
Você gostaria de elaborar o que você quer dizer com qualquer uma dessas coisas? Por acaso, tenho alguns antecedentes em protocolos, mas sinceramente não consigo entender qualquer parte dessa frase.
Se você sabe que o receptor receberá todos os dados que você envia (ou pelo menos muito de uma vez, por exemplo, se você tiver um buffer de 5 segundos), poderá comprimir com mais eficiência toda a mídia sendo enviada.
Normalmente, um fluxo de vídeo baseado em UDP terá menos dependência entre os pacotes, de modo que, mesmo que um pacote seja descartado, o próximo pacote ainda é decodível. Isso significa que há informações mais redundantes por pacote como uma medida de durabilidade.
Os fluxos baseados em UDP também costumam ter algo chamado de correção de erro avançado (FEC). É aqui que você codifica versões de qualidade inferior de amostras de mídia em pacotes subsequentes. Novamente, isso é negociar mais largura de banda pela durabilidade em tempo real. Se você perder um pacote, o próximo pacote provavelmente tem a mesma amostra de mídia em uma qualidade mais baixa, e seu buffer de 100ms oferece tempo suficiente para fazer uso dele. Isso é muito mais eficiente em termos de tempo do que exigir que o receptor peça ao remetente para retransmitir um pacote perdido.
Ao ponto de retransmissão: em casos de UDP, muitas vezes não vale a pena se incomodar com. No momento em que você viaje de ida e volta, você provavelmente já recebeu mídia mais recente.
Devo dizer que não se trata tanto de TCP vs UDP quanto sobre o streaming buffer vs real.
“Se você sabe que o receptor receberá todos os dados que você envia (ou pelo menos muito de uma só vez, por exemplo, se você tiver um buffer de 5 segundos), poderá compactar com mais eficiência toda a mídia sendo enviada.”
Isso não tem nada a ver com o transporte subjacente.
“Normalmente, um fluxo de vídeo baseado em UDP terá. “ “Os fluxos baseados em UDP também costumam ter algo. “ “Em casos de UDP, muitas vezes não vale a pena se preocupar com. “
Aqui você está descrevendo um monte de propriedades possíveis, um protocolo hipotético escrito em cima de datagramas não confiáveis faria/deveria ter.
“Devo dizer que não se trata de TCP vs UDP. “
Esta parte está correta. Você deve manter esta parte.
“..é sobre streaming buffer vs real em tempo real.”
Certo. Não vamos confundir protocolos de transporte com metodologias de streaming de mídia, por favor.
Formatos de vídeo comprimidos como H.264 confia nos quadros que chegam em ordem. A maioria dos quadros é descrita como um diferencial em relação a um dos 16 quadros anteriores.
Você pode criar um formato que tolera melhor a perda, mas a qualidade e/ou a taxa de compressão não seria tão bom.
Cada vídeo de streaming de sites html5 está usando o TCP, incluindo o YouTube. A engenharia de tráfego parece ter reduzido o argumento para o UDP para a mídia nos últimos anos, o que é uma coisa boa!
Além do fato de que mesmo um único pacote ausente é realmente um “grande negócio” para fluxos de vídeo compactados, a suposição de que o número de pacotes ausentes seria “apenas alguns” é errônea. Eu vi situações em que o PacketLoss era tão alto quanto 60%, e você não gostaria que seu fluxo de vídeo recorresse ao lixo ou tenha seu serviço e aplicativo gastando todos os esforços que lidam com isso, em vez de deixar o equipamento fazer seu trabalho.
Talvez porque lhes permita ajustar a qualidade que eles estão alimentando dinamicamente com base em sua largura de banda?
UDP vs TCP, qual é melhor para streaming?
A qualidade do seu vídeo e, portanto, os espectadores’ A experiência depende principalmente do protocolo de streaming que você adota. Para qualquer negócio de streaming ou VOD, essa deve ser uma de suas áreas de foco para garantir a qualidade ideal do vídeo e melhor experiência do público.
UDP e TCP são dois dos protocolos de streaming de vídeo mais populares, o debate do UDP vs TCP não é novo na indústria de streaming. Muitas das principais empresas de streaming e plataformas VOD adotaram esses protocolos de streaming, mas, novamente, você precisa decidir conforme seus requisitos e transmitir objetivos de negócios. Por exemplo, Netflix e Amazon Prime usam TCP como protocolo de camada de transporte, enquanto o YouTube adotou os protocolos UDP e TCP. Então, UDP vs TCP – qual é melhor para transmitir? Leia para saber.
O que é protocolo de streaming udp?
O protocolo de streaming UDP é um dos protocolos de streaming de vídeo mais populares. O protocolo UDP ou datagrama do usuário refere -se a um protocolo leve de transferência de dados que funciona no topo do IP. Embora esse protocolo ajude a detectar os dados corruptos nos pacotes de dados, não é tão eficiente na solução dos problemas como pacotes de dados fora de ordem ou perdidos. Sendo rápido e simples em comparação com os outros protocolos que trabalham no IP, o UDP é amplamente adotado no setor de streaming, onde a entrega rápida é de alta prioridade.
Como funciona o UDP?
Um dos fatores que diferencia o UDP do protocolo TCP é, no UDP, nenhum processo de verificação de erro ocorre, como resultado esse processo se torna mais rápido. No protocolo de streaming UDP, quando os datagramas ou pacotes de dados são enviados ao destinatário, o remetente não faz’t Aguarde para garantir se o pacote é alcançado ou não. Em vez disso, o remetente continua enviando os pacotes de dados. Como resultado, o processo se torna mais rápido, mas não confiável, pois não há como verificar se todos os pacotes são enviados do remetente para o receptor ou não. Mas, o UDP é muito procurado nos aplicativos de streaming sensíveis ao tempo, como transmissão ao vivo, jogos online e outros.
O que é protocolo de streaming TCP?
TCP ou protocolo de controle de transmissão é um dos protocolos mais populares da rede TCP/IP. Este protocolo orientado a conexão primeiro estabelece uma conexão entre o remetente e o receptor e depois envia os dados em segmentos. Esses segmentos de dados são transportados pelos pacotes IP do remetente para o receptor.
Como funciona o TCP?
O protocolo de streaming TCP funciona com a técnica chamada reconhecimento positivo com retransmissão. Isso implica que, se um pacote de dados for enviado, mas o reconhecimento positivo não for recebido, a cópia do mesmo pacote de dados será retransmitida novamente. Sendo um protocolo de streaming confiável, geralmente é a primeira escolha para os streamers garantir um fluxo de bytes de ponta a ponta altamente confiável em uma rede não confiável. Além disso, facilita o monitor.
Prós e contras do TCP e UDP
Agora que temos um melhor entendimento sobre UDP e TCP no streaming, vamos’S saber qual é melhor. Do ponto de vista da confiabilidade, o TCP é um melhor protocolo de streaming, pois permite que os dispositivos relevantes se comuniquem frequentemente para verificar erros e também garante que a recuperação de erros seja feita no prazo. Não apenas garante a chegada de todos os pacotes de dados no receptor’s final, mas também garante que eles estejam em ordem. Portanto, se a precisão estiver no seu foco, como o streaming de VOD, o protocolo de streaming TCP pode ser sua escolha. Além disso, para transmissão em uma rede não confiável, o TCP funciona melhor que o UDP devido ao seu fator de alta confiabilidade.
Como discutido acima, o protocolo de streaming TCP garante precisão, mas’s lento. Como o processo de recuperação de erros não faz’t ocorro em caso de streaming de UDP, é mais rápido que o outro. Portanto, se você lida principalmente com a transmissão sensível ao tempo, como transmissão ao vivo, o protocolo de streaming UDP pode ser um ajuste melhor. No entanto, devido à falta de seqüenciamento de dados, verificação e recuperação, pode acabar resultando em falhas em áudio/vídeo, como os quadros ausentes e outros.
Embora a maioria das comunicações HTTP ocorra nas conexões TCP, tornando-o altamente popular, o UDP é famoso por aplicações de alta velocidade e sem complicações. Deixar’s Dê uma olhada neste gráfico para simplificá -lo –
UDP e TCP diferem um do outro significativamente, mas, empilhando o UDP com outro protocolo, podemos obter determinados recursos do tipo TCP. Por exemplo, se usarmos UDP com o cabeçalho RTP, o RTP fornecerá números de sequência, carimbos de tempo e uma identidade para a fonte de áudio ou vídeo, além de permitir que o protocolo RTCP relatasse perda. Além disso, os pacotes de voz são enviados com espaçamento regular com base na saída do codec ao utilizar RTP com UDP.
Simplificando, o TCP é mais comumente usado para comunicação sem tempo real, pois está bem estabelecida, fornece pedidos de pacotes, retransmissões e evita a perda de pacotes. Quando todo quadro/pacote deve ser transferido, o TCP é utilizado. Como o atraso não é crítico e as transferências de TCP podem ser facilmente tratadas sobre os navegadores HTTP e da Web sem a necessidade de plugins e software adicionais, serviços de streaming de vídeo como Netflix, Hulu e YouTube usam TCP para reduzir o tempo de buffer e aproveitar outras instalações.
Se o seu conteúdo de streaming for gravado e disponibilizado aos espectadores posteriormente, como na forma de VOD, o TCP funciona bem. Por outro lado, o UDP é normalmente usado para transmissão ao vivo e videoconferência multicast. Tais aplicativos normalmente exigem seu próprio protocolo (geralmente RTP/RTCP sobre UDP) em cima do UDP.
UDP vs TCP no streaming: em um vislumbre
Empacotando
É de extrema importância conhecer e entender os protocolos de streaming que funcionam melhor para o seu negócio de streaming. As informações acima ajudarão você a ter o conceito certo e escolher adequadamente. No entanto, se você optar por uma plataforma de streaming de primeira linha, ele garantirá que os protocolos de streaming direito sejam utilizados para servir o objetivo de acordo com seus requisitos de streaming.
Muvi, um provedor de plataforma OTT tudo-em-um, se destaca da multidão, garantindo a qualidade e a velocidade ideais de várias formas de streaming, como VOD e LIVE. Além disso, ele vem com muitas soluções competitivas, como sua própria plataforma de marca, ferramentas de otimização de SEO, CDN personalizável e escalável, vários modelos de monetização e integração de mídia social, para citar alguns. Faça uma avaliação gratuita de 14 dias hoje para começar (nenhum cartão de crédito necessário).
Escrito por: Ishita Banik
Ishita é um escritor de conteúdo da equipe de marketing Muvi. Além da redação de negócios, ela também é uma autora aclamada de três romances de suspense romântica mais vendidos. Em 2020, ela foi destaque no Hindustan Times, um portal de notícias líder como um autor indiano inspirador.
Protocolos de streaming de vídeo: o que eles são e como escolher o melhor
Entender os protocolos de streaming legado e moderno permitirão que você faça uma escolha informada para o seu próximo projeto de vídeo.
• Publicado: 15 de setembro de 2022
À medida que os consumidores cortam o cordão e optaram por transmitir conteúdo de seus dispositivos móveis e TVs inteligentes, o mercado de plataformas de streaming de vídeo explodiu. Originalmente usado para transmitir esportes ao vivo nos anos 90, à medida que a tecnologia de protocolo de streaming de vídeo se desenvolveu, o Flash e o streaming baseado em RTMP ganhou tração. Mais alguns anos de melhorias nos trouxeram YouTube e Netflix, mas o lançamento do Vine foi o que fez o vídeo transmitindo um recurso nativo de todos os nossos aplicativos de mídia social favorita.
O mercado de transmissão ao vivo é vibrante e em rápida evolução, estendendo seus benefícios a novos setores, plataformas e casos de uso, incluindo telessaúde, aprendizado remoto, eventos virtuais e streaming de videogame.
Junto com esses desenvolvimentos, as opções para protocolos de streaming de vídeo também cresceram. Nós o levaremos a acelerar com uma visão de alto nível dos três principais tipos de protocolos de streaming e os nove desenvolvedores preferem.
O que é um protocolo de streaming de vídeo?
Um protocolo de streaming é um conjunto de regras que definem como os dados se comunicam de um dispositivo ou sistema para outro na Internet. Protocolos de streaming de vídeo padronizaram o método de segmentar um fluxo de vídeo em pedaços menores que são mais facilmente transmitidos.
Um codec é a parte de um protocolo de streaming de vídeo que torna seus arquivos menores, excluindo informações sem importância. Por exemplo, quando um codec processa um vídeo com um fundo parado que permanece o mesmo por um minuto. Após o primeiro quadro, ele descarta as informações visuais redundantes para cada pixel e simplesmente mantém uma referência para reduzir o armazenamento. Formatos de contêiner, como MP4 e FLV, definem como os dados do fluxo de vídeo, geralmente arquivos de vídeo, arquivos de áudio e metadados, são armazenados quando o protocolo o transmitir.
Compreendendo os diferentes tipos de protocolos
Saber se seu protocolo de escolha é compatível com os dispositivos de streaming favoritos do seu usuário é importante. Cada protocolo serve a um propósito e traz um conjunto único de forças, como baixa latência ou alta adaptabilidade. Os nove protocolos preferidos que abordaremos mais tarde se enquadram em uma dessas três categorias:
- Protocolos legados: Os protocolos herdados usam autenticação básica (nomes de usuário e senhas exigidos pelo aplicativo) para conectar -se a clientes de e -mail, calendários e serviços da Web.
- Protocolos baseados em HTTP: Um protocolo de resposta-resposta, HTTP permite que os usuários interajam com recursos da Web, como arquivos HTML, transmitindo mensagens de hipertexto entre clientes e servidores.
- Protocolos modernos: Normalmente de código aberto e ainda não é amplamente suportado, protocolos modernos são tecnologias de ponta que resolvem alguns dos problemas que precedem os protocolos de streaming de vídeo.
9 protocolos de streaming comuns
Os nove protocolos de streaming de vídeo abaixo são mais amplamente utilizados na comunidade de desenvolvimento. Continue lendo para saber mais sobre cada um desses protocolos e seus tipos, vantagens e desvantagens.
1. HTTP Live Streaming (HLS)
HLS é o protocolo de streaming mais popular disponível hoje. A Apple o lançou originalmente como parte de seus esforços para soltar o flash dos iPhones. É compatível com quase todos os dispositivos, desde navegadores de mesa, TVs inteligentes, decodificadores, dispositivos móveis Android e iOS e até tocadores de vídeo HTML5, permitindo que os streamers atinjam um público mais amplo. O HLS conta com o ABR, que permite que o fluxo de vídeo apareça claramente, mas a principal desvantagem do protocolo HLS é seu alto nível de latência.
Tipo
- Baseado em http
Prós
- Compatibilidade: O protocolo HLS é adequado para streaming para praticamente qualquer dispositivo habilitado para Internet e sistema operacional.
- Segurança: O HLS é conhecido por seu streaming seguro.
- Qualidade: HLS aproveita a tecnologia de streaming de bits adaptável (ABR) para produzir fluxos de vídeo de alta qualidade de alta qualidade.
Contras
- Latência: O HLS não pode manter tão baixa de latência quanto alguns dos outros protocolos preferidos, resultando em baixa qualidade de vídeo.
- Ingestão ruim: O HLS não é a melhor opção para ingerir, já que os codificadores compatíveis com HLS não são acessíveis ou acessíveis.
2. Streaming adaptativo dinâmico sobre http (mpeg-dash)
MPEG-DASH foi desenvolvido pelo grupo de especialistas em Moving Pictures (MPEG) como uma alternativa ao padrão HLS. É um padrão de código aberto, tornando-o altamente personalizável para qualquer codec de áudio ou vídeo. Como o HLS, o MPEG-DASH suporta streaming de bitrato adaptativo, permitindo que os espectadores recebam o vídeo da melhor qualidade que sua rede pode lidar
Tipo
- Baseado em http
Prós
- Adaptabilidade: Este protocolo aproveita a ABR para transmitir uma alta qualidade de vídeo em diferentes velocidades e condições da Internet.
- Costumização: MPEG-DASH é de código aberto, permitindo que os usuários o adaptem a atender às suas necessidades exclusivas de streaming.
Contras
- Compatibilidade limitada: MPEG-DASH não é compatível com dispositivos Apple/iOS, o que limita significativamente o alcance das transmissões.
- Obsolescência: Embora esse protocolo tenha sido muito popular, suas limitações dificultam a competição de uma grande variedade de outras opções de protocolo avançado.
3. Webrtc
O WebRTC é um projeto de código aberto que entrega fluxos de vídeo aos espectadores com latência em tempo real. Inicialmente desenvolvido para aplicativos de bate-papo baseados em texto e uso de VoIP, sua popularidade cresceu entre os desenvolvedores de bate-papo por vídeo e aplicativos de conferência depois de serem comprados pelo Google. O protocolo WebRTC é uma solução de streaming de baixa latência que se baseia no streaming ponto a ponto (P2P); É utilizado por alguns dos aplicativos mais usados, como Google Meet, Discord, HouseParty, WhatsApp e Facebook Messenger.
Tipo
- Protocolo moderno
Prós
- Flexibilidade: Como o WebRTC é de código aberto, é flexível o suficiente para que os desenvolvedores possam personalizá-lo para atender aos seus requisitos específicos de streaming.
- Latência em tempo real: O WebRTC suporta streaming com latência em tempo real, o que significa que o vídeo transmitido viaja para as telas dos espectadores em tempo real com uma alta qualidade de vídeo.
Contras
- Suporte limitado: O protocolo de streaming de vídeo WebRTC foi adotado apenas recentemente como padrão da web. O mercado não teve muito tempo para se adaptar, os engenheiros podem encontrar problemas de compatibilidade com esta configuração de streaming.
4. Transporte confiável seguro (SRT)
O protocolo SRT é um padrão de código aberto desenvolvido pelo provedor de tecnologia de streaming haivision. Conhecido por sua segurança, confiabilidade, compatibilidade e streaming de baixa latência, é o protocolo preferido para membros da SRT Alliance. Este protocolo não depende de um único codec, o que permite aos desenvolvedores combiná -lo com qualquer codecs de áudio e vídeo que desejarem.
Tipo
- Protocolo moderno
Prós
- Segurança: Este protocolo apresenta ferramentas de segurança e privacidade de primeira linha que permitem que as emissoras tenham certeza de que seu conteúdo de streaming e os espectadores permanecem seguros.
- Compatibilidade: O SRT é o dispositivo e o sistema operacional agnóstico, tornando-o altamente compatível e capaz de fornecer fluxos para a maioria dos dispositivos habilitados para a Internet.
- Baixa latência: O protocolo de streaming SRT apresenta streaming de baixa latência graças ao suporte da tecnologia de correção de erros.
Contras
- Suporte limitado: semelhante ao WebRTC, SRT ainda é considerado futurista, a indústria de streaming maior precisará de algum tempo para evoluir antes que este protocolo de vídeo se torne padronizado.
5. Protocolo de mensagens em tempo real (RTMP)
RTMP é um protocolo herdado desenvolvido pela Adobe para transferir arquivos de áudio e vídeo entre um servidor de streaming e o Adobe Flash Player. Com a fase fora do flash, ele mudou seu caso de uso primário para longe da entrega de conteúdo voltada para o espectador e para ingerir transmissões ao vivo por meio de codificadores habilitados para RTMP. Isso significa que o feed de vídeo do codificador é enviado para a plataforma de streaming através do protocolo RTMP antes de ser entregue ao usuário final através do protocolo HLS comum.
Tipo
- Protocolo Legado
Prós
- Baixa latência: O RTMP garante que os fluxos de vídeo ao vivo mantenham uma conexão estável para o espectador, mesmo que a conexão com a Internet não seja confiável. Ele também permite retomar facilmente o fluxo assim que a conexão com a Internet estabilizar.
- Adaptabilidade: Este feed de fluxo de protocolos é adaptável e hospedado em um servidor RTMP, o que significa que os espectadores podem pular e rebobinar partes do feed ou participar de uma transmissão ao vivo depois de iniciar.
- Flexibilidade: Os desenvolvedores podem integrar uma variedade de formatos de vídeo, como áudio, vídeo e texto, em um pacote coeso com o protocolo RTMP. Ele também permite que eles aproveitem vários canais de mídia, transmitindo em MP3 e AAC para áudio ou MP4, FLV e F4V para vídeo.
Contras
- Suporte limitado: Flash é um formato rapidamente se tornando obsoleto, com os jogadores do HTML5 tomando seu lugar. Atualmente, o Flash suporta RTMP, e este protocolo não pode jogar em jogadores HTML5 sem conversor, como um protocolo de vídeo baseado em HTTP.
- Largura de banda baixa: Os fluxos RTMP são vulneráveis a problemas de largura de banda, causando interrupções frequentes e frustrantes da transmissão ao vivo que afetam negativamente o UX.
6. Protocolo de streaming em tempo real (RTSP)
O RTSP é um protocolo herdado originalmente desenvolvido com entretenimento em mente, seu uso principal é estabelecer e controlar sessões de mídia, como TV e filmes, entre pontos de extremidade. Este protocolo é semelhante ao HLS, não pode transmitir dados de transmissão ao vivo sozinhos e exigir que os servidores RTSP trabalhem em conjunto com o RTP e outros protocolos para realizar suas tarefas de streaming. O protocolo RTSP suporta streaming de baixa latência, mas não é compatível com a maioria dos dispositivos e navegadores. Ele pode fornecer streaming de baixa latência para um grupo selecionado de pequenos públicos de um servidor dedicado, tornando-o um padrão para vigilância por vídeo e sistemas de CCTV.
Tipo
- Protocolo Legado
Prós
- Streaming segmentado: Os espectadores não precisam baixar um vídeo inteiro antes de assisti -lo, o fluxo RTSP permite que eles assistam conteúdo antes que o download seja concluído.
- Altamente personalizável: Você pode criar seus próprios aplicativos de streaming de vídeo utilizando outros protocolos, como o Protocolo de Controle de Transmissão (TCP) e o Protocolo de Datagrama do Usuário (UDP).
Pensando em construir seu próprio aplicativo? Obtenha acesso antecipado ao nosso novo serviço de vídeo antes de lançar!
Contras
- Baixa popularidade: O RTSP é muito menos popular do que os outros protocolos nesta lista, pois a maioria dos players de vídeo e serviços de streaming não oferece suporte ao streaming RTSP.
- HTTP incompatível: Você não pode transmitir diretamente RTSP sobre HTTP, o que significa que não há maneira fácil de transmitir RTSP em um navegador da web. O RTSP foi projetado para transmitir vídeo em redes privadas, como câmeras de segurança dentro de uma empresa, mas os desenvolvedores têm a opção de incorporar software adicional adicional em seu site para transmitir com este protocolo.
7. Protocolo de controle de transmissão (TCP)
O Protocolo de Controle de Transmissão (TCP) é um dos primeiros protocolos de rede mais fundamental, e é usado extensivamente por aplicativos principais da Internet, como a World Wide Web (HTTP), email, protocolo de transferência de arquivos (FTP) e outros. Ele prioriza uma entrega precisa sobre uma rápida, oferecendo um fluxo de bytes de ponta a ponta altamente confiável em uma rede não confiável. Essa confiabilidade é possível por reconhecimento positivo com retransmissão (PAR). O TCP é compatível com RTMP, RTSP, HLS e MPEG-DASH.
Tipo
- protocolo de internet
Prós
- Altamente confiável: Garante a entrega de dados ao roteador de destino, tornando -o um protocolo confiável.
- Erros limitados: Oferece extensos mecanismos de verificação de erros usando controle de fluxo e reconhecimento de dados. Mesmo que os pacotes de dados cheguem ao endereço IP de um destinatário fora de ordem ou peças estão ausentes, o protocolo se comunica com o remetente para garantir que cada peça chegue onde deve ser.
Contras
- Velocidade lenta: A reordenação e a retransmissão do pacote de dados fazem com que o TCP transmita lentamente.
- Protocolo pesado: O TCP requer três pacotes para configurar uma conexão de soquete antes de enviar dados.
8. Protocolo de datagrama do usuário (UDP)
O protocolo de datagrama do usuário (UDP) é um protocolo sem conexão com mecanismos mínimos. Não requer destinatários para que o remetente saiba que todos os pacotes de dados chegaram, o que pode torná -lo não confiável. Este protocolo é apátrida e ideal para transmitir dados para um grande número de clientes. O UDP apresenta suporte multicast para descoberta de serviços e transmissão. Sua baixa taxa de atrasos de retransmissão o torna a combinação perfeita para aplicativos em tempo real, como protocolo de voz na Internet (VoIP), jogos online e streaming de vídeo ao vivo. UDP é compatível com SRT, WebRTC, RTSP e RTP.
Tipo
- protocolo de internet
Prós
- Velocidade: Como os dados são processados em ordem de chegada, o UDP é rápido porque a integridade é verificada no horário de chegada usando a soma de verificação.
- Protocolo leve: O UDP é considerado um protocolo leve porque não há rastreamento de conexões, pedidos de mensagens, etc.
- Sem conexão: O UDP não é baseado em conexão, portanto, um programa pode enviar vários pacotes para outro simultaneamente.
Contras
- Imprecisão: Pacotes de dados enviados via streaming UDP podem estar ausentes ou fora de ordem, resultando em alguns quadros ausentes ou uma leve falha no áudio durante uma transmissão ao vivo que pode impactar a experiência do usuário.
- Verificação básica de erro: Executa a verificação básica de erro e descarta pacotes errôneos sem tentar a recuperação de erros.
9. Protocolo de iniciação da sessão
O protocolo de iniciação de sessão (SIP) é um protocolo de sinalização usado para iniciar, manter, modificar e encerrar as comunicações em tempo real entre os dispositivos de protocolo da Internet (IP). O SIP permite o protocolo de voz sobre a Internet (VoIP), definindo as mensagens enviadas entre pontos de extremidade e gerenciando os elementos reais de uma chamada. O SIP suporta chamadas de voz, videoconferência, mensagens instantâneas e distribuição de mídia.
Tipo
- Protocolo de sinalização
Prós
- Flexibilidade: SIP funciona independentemente do tipo de sessão ou da mídia usada. O SIP pode acomodar vários usuários com recursos diferentes. Por exemplo, em uma conferência que tem alguns usuários com capacidade de vídeo e outros apenas com capacidade de áudio, os usuários de vídeo podem se ver. Eles não precisam descer apenas para áudio, como em outros protocolos.
- Costumização: É um padrão aberto, permitindo suporte e integração multivendores. Os aplicativos podem ser gravados para personalizar usos SIP.
- Manutenção fácil: As mensagens SIP são texto claro, facilitando a solução de problemas.
Contras
- Novo e nicho: SIP é um protocolo bastante novo, então menos pessoas o entendem do que os protocolos mais antigos. Certifique -se de ter treinado pessoal de suporte se pretende implementar o SIP em sua rede.
- Desenvolvimento em andamento: Recursos SIP ainda estão sendo desenvolvidos e muitos fornecedores têm implementações de protocolo proprietários.
Como escolher o protocolo certo para o seu fluxo de vídeo
Agora que você está familiarizado com as principais opções de protocolo disponíveis, sua escolha de protocolos de streaming de vídeo se resume a certos fatores -chave. Dependendo dos objetivos do seu aplicativo, você pode priorizar um alcance mais amplo sobre a latência minimizada. Vamos dar uma olhada nos cinco fatores principais que podem afetar sua escolha de protocolos.
1. Compatibilidade
A compatibilidade de um protocolo com outros dispositivos significa que mais espectadores podem acessar e se envolver com seu conteúdo em seu formato preferido. Se você deseja que seus esforços de streaming atinjam o maior público possível, você deve procurar protocolos compatíveis com o maior número de dispositivos, plataformas e navegadores.
Para garantir alta compatibilidade de dispositivos e amplo alcance do público, sugerimos o protocolo HLS.
2. Latência
Embora o HLS atinja um público de streaming amplo, é conhecido por seus problemas com a latência. A latência pode afetar severamente a experiência de streaming dos espectadores e fazer com que eles abandonem seu fluxo de vídeo se a latência for muito alta. O RTMP fornece fluxos de baixa latência, mas não é compatível com players de vídeo html5.
Se a baixa latência for sua prioridade, sugerimos o protocolo SRT, que é capaz de fluxos de baixa latência ou o protocolo WebRTC, que oferece latência em tempo real.
3. privacidade e segurança
A privacidade e a segurança das transmissões de vídeo ao vivo podem causar grande preocupação com indústrias sensíveis à informação, como telessaúde, teleterapia e educação remota. Se o seu aplicativo cair em uma dessas indústrias, você precisará de um protocolo de streaming de segurança com recursos de privacidade.
A maioria dos protocolos fornece streaming seguro, mas o protocolo SRT vem com os melhores recursos de segurança e privacidade da categoria.
4. Transmissão de bits adaptável
Independentemente da conexão ou velocidade da Internet do usuário final, o streaming de taxa de bits adaptável permite que o vídeo preserve a integridade de seu fluxo. Isso pode se aplicar a aplicativos que oferecem compromissos que os usuários podem estar enfrentando ou transmitir eventos ao vivo que os espectadores não querem perder um segundo de.
Se você deseja reforçar seu vídeo com ABR, sugerimos o HLS ou o MPEG-DASH, pois ambos os protocolos suportam esse recurso.
5. Custo
Sua escolha em protocolos geralmente pode se resumir ao orçamento. Você deve prever e comparar os custos de cada protocolo que se adapta ao restante da sua empresa, para garantir que eles estejam dentro do seu orçamento. Se você estiver construindo uma plataforma de streaming de vídeo internamente, também deve considerar os custos de infraestrutura, transcodificação, entrega de conteúdo e reprodução.
Sugerimos os protocolos HLS e MPEG-DASH, pois aqueles que usam servidores HTTP são mais econômicos do que os protocolos tradicionais.
perguntas frequentes
1. Qual protocolo de vídeo usa o YouTube?
YouTube aproveita o formato de vídeo MPEG-DASH sobre um protocolo HTTP LiveStering (HLS). Também utiliza o TCP como uma camada de transporte.
2. Que protocolo seguro é recomendado para voz e vídeo?
O protocolo SRT adiciona criptografia usando AES para garantir que todo o vídeo e áudio sejam confidenciais através da rede, tornando -a uma escolha popular para as empresas preocupadas com comunicações seguras de voz e vídeo.
3. Qual protocolo é usado para videoconferência?
O software de videoconferência normalmente usa o TCP porque fornece sequenciamento de pacotes, impede a perda de pacotes e fornece retransmissão.
4. Qual protocolo de streaming Netflix usa?
A Netflix usa o protocolo MPEG-DASH para streaming e TCP como protocolo de camada de transporte.
5. Qual é o melhor protocolo para transferir vídeo através de uma rede?
Não existe um protocolo “melhor” para transferir vídeo através de uma rede, pois depende inteiramente das prioridades da emissora para o fluxo. No entanto, o HLS é considerado um protocolo superior porque é altamente compatível, aproveita o ABR para fornecer um fluxo de alta qualidade e não compromete a segurança.
6. É o TCP ou UDP melhor para streaming de vídeo?
Os protocolos de streaming TCP e UDP vêm com um conjunto único de vantagens e desvantagens. O que faria um deles o “melhor” é baseado nas prioridades do seu fluxo de vídeo. O TCP é a melhor opção para transmitir vídeo de maneira confiável com erros limitados, enquanto o UDP é a melhor opção para transmissões rápidas que estão bem com erros.
Pronto para ser transmitido?
Embora a maioria dos protocolos de streaming de vídeo e tecnologia relacionada seja complexa, eles podem ser acessíveis quando divididos em idéias menores e mais digestíveis. Cobrimos o objetivo dos protocolos de streaming, os três principais tipos, deram uma visão geral dos nove protocolos primários e nossas sugestões com base em cinco critérios diferentes. Armado com informações, agora você está pronto para escolher o protocolo certo para o seu projeto e começar a transmitir.
Integrando o vídeo com seu aplicativo?
Estamos construindo uma solução de vídeo só para você.
Confira antes de lançarmos abaixo!