Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
August 19, 2022 04:16 pm GMT

Um pouco sobre streaming de vdeo ao vivo

Imgem contendo as etapas do vdeo. No comeo, uma pessoa com seu computador dando play e na sequncia o request indo pra CDN, packager, envolvendo a fonte do vdeo e o encoder

Motivado pela dica do @leandronsp sobre assuntos tcnicos, trago nesse artigo uma introduo a vdeo ao vivo. Atualmente trabalho no time de vdeo ao vivo da Globo, uma das maiores empresas de mdia da Amrica Latina.

Vdeo ao vivo tem temperado a web h mais de dcada. Nossas conexes ficaram mais rpidas e nossa vontade de ver vdeo com mais qualidade aumentou com o passar do tempo. A experincia ao assistir vdeo foi ficando cada vez melhor medida que as pessoas ficaram mais exigentes: buscamos o melhor udio, melhor imagem e sem falhas nem buffering.

Pra entender um pouco da complexidade que envolve uma transmisso de vdeo ao vivo, vamos voltar um pouco e entender como chegamos at aqui.

Um pouco do passado

Em 1996, a Macromedia inventou o protoco RTMP (Real-Time Messaging Protocol) destinado a envio de vdeo, udio e dados. O intuito do protocolo era garantir uma rpida performance e um padro pra envio de dados em tempo real, e que esses dados pudessem ser decodificados por um player, o Flash.

Embora exista muita piada em cima do trmino do Flash, o Flash foi por mais de duas dcadas um timo player de vdeo, tendo sido base para algoritmos de encoding/decoding futuramente

O fato de muitos sites de streaming do passado exigirem a instalao de Flash no era toa. RTMP era o protocolo usado pelas empresas. O player conectava em uma URL diretamente no servidor que estava recebendo o vdeo e as pessoas assistiam diretamente do servidor, usando RTMP diretamente. Mesmo sem Flash atualmente, voc pode usar um player como VLC para tocar uma transmisso ao vivo RTMP.

Como funciona?

Protocolos, players, encoding e decoding. Ok, mas pra que tudo isso?

Uma transmisso ao vivo passa por muitas etapas antes de chegar no seu dispositivo tocador de vdeo.

A partir de agora alguns termos em ingls vo ser utilizados pela falta uso das mesmas em portugus.

Ingest

A fonte do vdeo a primeira etapa. nela que definimos qual o modo de captura do vdeo e pra onde vamos publicar a transmisso. O software OBS ficou muito famoso por ser usado por gamers que fazem streaming na Twitch/Facebook/Youtube. O que essas pessoas esto fazendo o ingest do vdeo.

H outras formas de publicar um vdeo. possvel usar o ffmpeg como fonte e publicar em um endereo RTMP ou HTTP.

Encoding

Essa etapa vai depender muito de como o produto de vdeo aborda o ingest. Quando a fonte um OBS, apenas um input enviado para um servidor e, l nesse servio, o vdeo passa por um processo de encoding que acaba criando vrias qualidades do seu vdeo, para que ele possa ser assistido por diferentes dispositivos e, tambm, para que sua rede de internet se adapte melhor s qualidades oferecidas. Redes de computadores sofrem degradaes dirias que fazem com que seu vdeo no toque na melhor qualidade, pois isso o produto deve pensar nesses casos de uso.
O processo de oferecer mais de uma qualidade de vdeo essencial para o bom funcionamento da tecnica ABR (Adaptive Bitrate Streaming), usada para escolher a melhor experincia para o player de vdeo e, consequentemente, pra voc.

A etapa de encoding pode ser diferente quando a entrada de vdeo um SDI (Serial Digital Interface). SDI uma interface (cabo) usado para trafegar os dados de uma cmera para o encoder. usando um SDI que eventos ao vivo de grande porte so transmitidos. A fonte do vdeo passa pelo cabo, sem nenhum tipo de codificao, e vai pro encoder processar. No encoder a pessoa tcnica ter como escolher como o vdeo vai ser processado (codec de vdeo, codec de udio, resoluo, de metadata e outras dezenas de opes).

Packaging

Essa etapa onde o vdeo empacotado em diferentes formatos. Todo player de vdeo precisa saber como ler uma URL de um vdeo e tocar o contedo descrito nela. aqui que entram protocolos como HLS e DASH e tambm os segmentos de vdeo. O processo de empacotar um vdeo sobre como os segmentos (chunks, que so pedacinhos do vdeo) so criados e como eles so organizados, que so os manifestos de vdeo (tambm chamados de playlists.

Uma playlist uma forma de descrever as qualidades de vdeo oferecidas pela plataforma e, tambm, os chunks oferecidos por essas playlists.

Delivery

Nos primrdios de streaming de vdeo, apenas uma qualidade era ofertada e a escalabilidade da plataforma era complexa e custosa.

Atualmente, a entrega de vdeo precisa ser rpida e melhor localizada. Quanto mais perto o servidor estiver de voc, melhor vai ser sua experincia. Diferente de acessar um site, os dados trafegados em um vdeo so muito maiores do que pginas web que acessamos no dia a dia, e no temos como tomar vantagem do cache local pois o vdeo muda, enquanto as folhas de estilo ou scripts de uma pgina no.

Para ter uma entrega mais adequada, a plataforma de vdeo precisa saber como entregar o servidor mais perto da pessoa assistindo. Estamos falando de CDNs (Content Delivery Network), que so redes de entrega de contedo que contm inteligncia de roteamento e cache para entregar uma experincia personalizada e com menos latncia.

Outro ponto importantssimo sobre CDNs caching. Servidores que entregam o contedo so protegidos com camadas de cache que reduzem o impacto nos servidores de contedo, fazendo com que o mesmo arquivo possa ser requisitado com muito menos latncia e resilincia.

Play

A parte inicial de um vdeo o play. Plataformas de streaming tm e evoluem seus prprios players medida que features vo sendo adicionadas e codecs de vdeo novos precisam ser suportados. A melhora da experincia s possvel se todas as etapas estiverem alinhadas.

Para o player isso no diferente. Players precisam estar aptos para tocar o contedo entregue pela CDN, caso contrrio, seu vdeo nem comear a tocar. E, para estar apto, o player deve possuir suporte ao decoding dos segmentos de vdeo.

Essa uma breve introduo sobre vdeo. No prximo, vamos nos aprofundar melhor em alguns termos como codec, CDN, player, buffering, etc.

Uma das camisetas aqui da Globo essa, descrevendo as etapas pra entregar vdeo ao vivo

foto da camiseta da Globo que  preta com palavras em branco, uma por linha "Ingest Encode Deliver Play" e o smbolo da Globo logo abaixo  direita


Original Link: https://dev.to/mauricioabreu/um-pouco-sobre-streaming-de-video-ao-vivo-50j3

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To