Definições importantes do codificador para a sua transmissão em direto em 2023

 

A capacidade de transmitir vídeo em direto através da Internet é uma tarefa técnica complexa. Requer uma boa compreensão de uma série de elementos de trabalho. É por isso que o nosso blogue está aqui – para o ajudar a compreender estes sistemas, para que possa fazer as escolhas certas quando chegar a altura de fazer uma transmissão importante.

O foco deste blogue será o lado da codificação da transmissão em direto. Especificamente, vamos examinar as definições que deve programar no seu codificador. Mas primeiro, vamos fazer uma breve introdução ao que é o codificador, para aqueles que querem construir o seu conhecimento de base primeiro.
Índice
Objetivo de um codificador de transmissão em direto

Índice

  • Objetivo de um codificador de transmissão em direto
  • Definições do codificador para transmissão em direto
  • Ligação ao seu anfitrião de vídeo em direto
  • Codificadores de hardware vs. software

Objetivo de um codificador de transmissão em direto

A transmissão em direto de vídeo digital tem tudo a ver com a codificação. A codificação está relacionada com a compressão e os formatos de vídeo. Em estado bruto, o vídeo digital consistiria simplesmente numa série de imagens fixas que seriam apresentadas sequencialmente enquanto uma faixa de áudio é reproduzida em segundo plano.

No entanto, este método de transmissão de vídeo em fluxo contínuo utiliza grandes quantidades de espaço. Um único minuto de filmagem de vídeo de alta definição em bruto ou não comprimido pode utilizar vários GB de espaço de armazenamento. Quando as filmagens começam a ter 30, 60, 90 minutos de duração ou mais, os tamanhos dos ficheiros tornam-se demasiado grandes para serem tratados.

A solução é a compressão através de um codificador: um método matemático de “deitar fora” dados desnecessários. A compressão de vídeo reduz o tamanho dos ficheiros, eliminando os dados das secções do vídeo que não mudam de fotograma para fotograma. Por exemplo, se um canto do vídeo estiver preto durante 10 minutos seguidos, a maior parte dos dados reais pode ser deitada fora e substituída por uma referência como “tornar este canto preto durante os próximos 300 fotogramas”.

Um codificador de streaming em direto reduz a taxa de bits, ou o tamanho, do vídeo em streaming para tornar viável o envio deste conteúdo através da Internet.

Níveis elevados de compressão podem reduzir drasticamente a qualidade de um vídeo, fazendo-o parecer mais pixelizado. Muitos “codecs” diferentes (ou normas para codificação/decodificação de vídeo comprimido) foram desenvolvidos ao longo dos anos e estão disponíveis para combater este problema.

Meios optimizados para streaming

No entanto, existe outro elemento quando se trata de codificação: a capacidade de transmissão. Nem o vídeo em bruto nem a maior parte dos formatos de vídeo comprimido estão optimizados para transmissão em fluxo contínuo através da Internet. Os formatos de transmissão em fluxo contínuo utilizam marcadores e contentores especiais para garantir que o vídeo pode ser entregue peça a peça sem quaisquer falhas ou erros. Por conseguinte, os codificadores não só comprimem o vídeo como também o transformam em formatos adequados para o fluxo contínuo. Este formato básico de transmissão permite-lhe enviar os dados de vídeo através da Internet para uma audiência global, para que possam ver a sua transmissão em tempo real. Com este conhecimento básico, estamos prontos para configurar um codificador para uma transmissão em direto.

Definições do codificador para transmissão em direto

A configuração de um codificador pode ser confusa, mas depois de perceber o que as várias definições significam para a sua transmissão, é bastante fácil. Aqui, listaremos algumas das definições mais comuns encontradas em várias plataformas de codificadores.

Estas podem variar consoante a aplicação, por isso, se encontrar uma definição que não compreenda, consulte a documentação da sua plataforma. Em alternativa, escreva aqui nos comentários e faremos o nosso melhor para o ajudar a resolver o problema.

Seleção da fonte

O primeiro elemento na configuração de qualquer codificador em direto é a seleção do suporte de origem. Pode ser uma webcam IP, uma entrada HDMI de uma câmara ou mesmo ficheiros multimédia estáticos localizados no computador. As fontes de áudio serão igualmente o microfone (autónomo ou integrado na câmara) ou ficheiros de áudio.

Se estiver a trabalhar numa situação com várias câmaras, a sua fonte pode ser um único feed proveniente do seu aparelho de comutação em direto. Em alternativa, a sua plataforma de codificação pode suportar a comutação em direto por si só – as plataformas vMix, por exemplo, suportam a comutação em direto.

De qualquer modo, certifique-se de que selecciona as fontes de vídeo e áudio adequadas para o conteúdo que pretende transmitir. Uma armadilha comum a evitar aqui é selecionar a fonte errada, tal como selecionar o microfone incorporado no seu portátil como fonte de áudio para a sua transmissão.

Codec de vídeo

software-vs-hardware-encoder

A próxima seleção a considerar é o “codec” (ou esquema de compressão) que pretende que o codificador crie e transmita. O codec mais comum para transmissão em direto chama-se H.264 e é suportado por quase todos os dispositivos modernos com capacidade de vídeo. Alguns dos próximos codecs, que prometem reduzir o tamanho dos ficheiros mantendo a qualidade, incluem o H.265 e o VP10.

No entanto, manter o padrão H.264 é a sua melhor aposta por enquanto. Uma variação que poderá ver chama-se x264. Este é simplesmente um método específico de codificação de vídeo H.264. A codificação com x264 utiliza frequentemente menos recursos da CPU do que outros métodos, mas pode testar isto antes de começar.

Uma nota sobre múltiplos fluxos

É importante notar que muitas das definições descritas abaixo são aplicáveis a utilizadores com diferentes velocidades de ligação à Internet. Muitos dos modernos operadores de transmissões em direto optam por transmitir várias transmissões simultâneas do mesmo conteúdo, cada uma codificada com uma taxa de bits diferente (a quantidade de dados enviados por segundo). Estas podem ser fornecidas a utilizadores com ligações à Internet lentas, médias e rápidas para proporcionar a cada um a melhor experiência possível.

Codec áudio

A codificação não se aplica apenas ao fluxo de vídeo. Inclui também o fluxo de áudio que acompanhará o vídeo. Terá também de selecionar o codec de áudio a enviar no seu fluxo. As definições mais comuns são MP3 e AAC, formatos de áudio que quase todos os dispositivos suportam. Recomendamos o AAC em quase todos os casos, uma vez que é exigido pelos dispositivos iOS da Apple.

Taxa de amostragem de áudio

Outra definição de áudio comum que terá de selecionar é a “taxa de amostragem de áudio”. Isto refere-se simplesmente ao número de medições de áudio efectuadas por segundo durante uma determinada gravação. Recomendamos que defina a taxa de amostragem para 44100 kHz para cada transmissão em direto. Esta é uma norma na maioria dos equipamentos de áudio e gravações.

Resolução de vídeo

As 15 melhores soluções de alojamento de vídeo: Tudo o que precisa de saber
As 15 melhores soluções de alojamento de vídeo: Tudo o que precisa de saber

A resolução do seu fluxo refere-se ao tamanho (medido em pixels) do quadro de vídeo. Os tamanhos de vídeo mais comuns utilizados atualmente são:

  • 426 x 240 (240p)
  • 640 x 360 (360p, baixa definição)
  • 854 x 480 (480p, definição padrão ou SD)
  • 1280 x 720 (720p HD)
  • 1920 x 1080 (1080p, ou Full HD)
  • 3840 x 2160 (conhecido como 4K ou Ultra HD)

A resolução que escolher para o seu vídeo depende de vários factores. Em primeiro lugar, todo o seu equipamento deve suportar a resolução máxima escolhida, incluindo a velocidade e o espaço de armazenamento. As filmagens de alta resolução requerem muito mais poder de processamento para serem codificadas.

Em segundo lugar, a velocidade da sua Internet deve ser capaz de acomodar a resolução escolhida. Embora a resolução não esteja estritamente ligada à taxa de bits, os vídeos de resolução mais elevada requerem mais largura de banda para terem um bom aspeto. Não vale a pena enviar uma ligação de vídeo HD se a largura de banda não puder suportar esse nível de qualidade com essa resolução.

Taxa de quadros de vídeo

A velocidade de fotogramas refere-se simplesmente ao número de imagens fixas captadas por segundo pelas suas câmaras. Normalmente, são 29,97 fotogramas por segundo (arredondados para 30 fps), mas também são comuns 25 e 24 fps. Alguns eventos desportivos e outras transmissões com movimentos rápidos optam por transmitir a 60 fps para que a ação pareça mais nítida. Em caso de dúvida, opte por 30 fps.

Uma definição relacionada é a frequência de fotogramas-chave ou intervalo de fotogramas-chave. Este valor deve ser igual a 2 ou 3 segundos em todos os cenários, de modo a obter a melhor imagem possível.

Protocolo de transmissão em fluxo contínuo: HLS, RTMP

Os vídeos em direto são enviados através de uma série de protocolos que evoluem com o tempo. O mais comum e mais antigo deles é chamado RTMP. O RTMP, ou Real-Time Messaging Protocol, é uma norma da Macromedia (Adobe) para a transmissão de vídeo, áudio e metadados através da Internet em tempo real. A maioria dos codificadores, incluindo os do projeto OBS, Wirecast, vMix e o próprio Flash Media Live Encoder da Adobe, podem utilizar RTMP.

O RTMP é uma norma flexível e robusta, mas nem sempre é suficiente atualmente. Isto deve-se ao facto de exigir que os espectadores utilizem dispositivos que tenham o Flash Player instalado no seu dispositivo. Cada vez mais, o Flash está a ser retirado em favor de protocolos de entrega de vídeo mais fiáveis e seguros, e muitas plataformas móveis – sobretudo o iOS em iPhones e iPads – não suportam o Flash.

No entanto, os feeds RTMP continuam a ser o método padrão para obter um fluxo do seu codificador para os servidores de distribuição. Com o anfitrião de transmissão de vídeo correto, um único feed RTMP do seu codificador pode ser convertido automaticamente para outras normas mais compatíveis, como HLS e HDS, no servidor.

Aqui na Dacast, utilizamos o serviço Stream Packaging for Universal Streaming da Akamai para este processo. O Stream Packaging da Akamai ingere um fluxo RTMP do seu codificador e transcodifica-o automaticamente para HLS e HDS quase em tempo real, preparando o fluxo para qualquer formato de dispositivo. Este processo resulta num atraso mínimo de 30-45 segundos na alimentação.

Taxa de bits de vídeo

rácios de aspeto

Talvez a definição mais importante em todo o processo de codificação seja a taxa de bits. A taxa de bits é a linha de base que determina a quantidade de dados que a sua emissão irá consumir. Qualquer que seja a taxa de bits máxima definida, a taxa de dados não aumentará mais do que isso.

As taxas de bits são medidas em bits por segundo, mas mais frequentemente em Kilobits por segundo (8 Kilobits = 1 kilobyte). A taxa de bits determina essencialmente a largura de banda que a sua emissão irá utilizar. Um número mais elevado de Kilobits por segundo utiliza mais dados. Isto é fundamental por uma série de razões relacionadas com a velocidade da Internet.

Em primeiro lugar, a sua velocidade de carregamento deve ser suficientemente rápida e estável para manter um carregamento a esta velocidade durante a duração da sua emissão. Geralmente, recomendamos que as suas velocidades de carregamento sejam capazes de atingir velocidades pelo menos duas vezes superiores às que espera necessitar.

Eis recomendações comuns para taxas de bits para várias resoluções de vídeo:

  • Vídeo 360p: 400 Kbps – 1000 Kbps
  • Vídeo 480p: 500 Kbps – 2 Mbps (1 Mbps = 1000 Kbps)
  • Vídeo 720p: 1,5 – 4 Mbps
  • Vídeo 1080p: 3 – 6 Mbps

Lembre-se também de que os requisitos totais de largura de banda serão o total de todos os fluxos somados. Assim, se estiver a transmitir um fluxo de 360p, um fluxo de 720p e um fluxo de 1080p, mais o áudio de cada um, poderá estar a transmitir um total de quase 12 Mbps de dados. Isto significa que a sua ligação à Internet tem de ser capaz de suportar velocidades de carregamento de 24 Mbps.

CBR vs. VBR

Uma questão é saber se se deve utilizar uma taxa de bits constante (CBR) ou uma taxa de bits variável (VBR). A utilização de VBR significa que a utilização de dados diminuirá se o conteúdo de vídeo que está a ser transmitido num determinado momento não contiver muita informação. Em contrapartida, a utilização de dados será mais elevada se houver muita ação no ecrã.

A utilização do CBR tende a resultar num fluxo mais estável e fiável, uma vez que o VBR pode causar grandes picos na utilização de dados. No entanto, a utilização de VBR pode reduzir a utilização total da largura de banda, o que pode reduzir os custos. Recomendamos a utilização de VBR para garantir que a imagem permanecerá nítida se houver muita coisa a acontecer no fluxo. Além disso, ajuda a garantir que o vídeo não pára se a velocidade da ligação à Internet do recetor diminuir. O vídeo irá simplesmente mudar para uma taxa de bits inferior, mas não ficará preso no buffer.

Taxas de bits de áudio

A taxa de bits de áudio também é algo que terá de definir. Recomendamos as seguintes definições:

  • Para vídeo 360p: 64 Kbps de áudio, mono
  • Para vídeo 480p: 128 Kbps, estéreo
  • Para vídeo de 720p: 128 Kbps, estéreo
  • Para vídeo 1080p e superior: 256 Kbps, estéreo

“Mono” ou “estéreo” refere-se ao número de canais de áudio: um ou dois. Esta definição pode ser designada por “canal”. Escolha as definições adequadas à sua resolução, conforme indicado acima.

O importante a reter é que uma taxa de bits de áudio mais elevada resulta numa melhor qualidade de áudio com um som nítido. Significa também que o tamanho do ficheiro áudio será maior e exigirá uma ligação à Internet mais rápida, tanto da sua parte como da parte do recetor.

Tamanho do buffer

Esta definição avançada tem a ver com a forma como os dados de vídeo são armazenados em cache nos breves momentos antes de serem transmitidos. Um tamanho de memória intermédia mais elevado pode aumentar a qualidade do movimento, mas pode, na verdade, aumentar o débito de dados num determinado momento acima do débito escolhido.

Embora isto não afecte a sua taxa de bits global (os algoritmos compensarão reduzindo a utilização de dados noutras alturas), pode causar problemas de qualidade para alguns espectadores. Recomendamos que defina o tamanho da memória intermédia para o mesmo valor que a taxa de bits, de modo a garantir uma transmissão suave e sem picos de utilização de dados.

Ligação ao seu anfitrião de vídeo em direto

Agora que aprendeu a configurar as definições de vídeo e áudio no seu codificador, o passo final é ligar o codificador ao servidor de ingestão. Na plataforma Dacast, são-lhe fornecidas quatro informações quando cria um fluxo: um “nome do fluxo”, um “URL do fluxo”, um código de início de sessão e uma palavra-passe. Pode introduzir esta informação no seu codificador para se ligar aos servidores da Dacast e iniciar o carregamento.

Outras definições

Ao configurar o codificador, poderá encontrar algumas outras definições. Segue-se uma explicação de algumas das definições encontradas no Adobe Flash Media Live Encoder. Outros codificadores devem ter definições semelhantes.

  • “Input Size” (Tamanho de entrada) e “Output Size” (Tamanho de saída) referem-se à resolução do vídeo proveniente da(s) sua(s) câmara(s) e à resolução que prefere transmitir como transmissão em direto.
  • “FMS URL” é o URL do seu servidor de ingestão de media.
  • “Fluxo” é frequentemente a caixa na qual introduz o seu “nome do fluxo”.
  • “Guardar em ficheiro” permite-lhe guardar simultaneamentea sua emissão numa unidade de armazenamento.

Codificadores de hardware vs. software

Existem vários tipos de codificadores que podem ser divididos em duas categorias principais: hardware e software. Os codificadores de hardware são dispositivos dedicados utilizados para codificar transmissões em direto. São potentes, fiáveis e podem ter excelentes funcionalidades, como software de mistura ao vivo integrado. Os principais fornecedores de codificadores de hardware incluem vMix e Teradek. No entanto, estes são frequentemente muito caros.

Os codificadores de software são excelentes alternativas para orçamentos mais reduzidos. Os codificadores de software são simplesmente aplicações como quaisquer outras que podem ser instaladas num computador de secretária ou portátil. É necessário garantir que este computador tem potência suficiente para lidar com a transmissão de vídeo em direto antes de o utilizar durante uma transmissão. Como dizemos sempre: testar, testar, testar!

Um exemplo gratuito de um codificador de software é o Flash Media Live Encoder da Adobe. Este pacote de software fornece muitas ferramentas para pôr a funcionar uma transmissão em direto. Outro exemplo é o OBS ou Open Broadcaster Software. Este pacote é poderoso, configurável e pode ser instalado em praticamente qualquer computador. Pode obter mais informações sobre o OBS e descarregar a candidatura no sítio Web do projeto.

FAQ

1. O que é que um codificador faz?

Normalmente, os codificadores convertem os sinais analógicos de um vídeo em sinais digitais que podem ser utilizados para transmitir os dados da transmissão em direto da fonte para o dispositivo do espetador. Ajudam a comprimir o tamanho dos vídeos para que possam ser transmitidos facilmente e ocupem menos espaço de armazenamento. Também ajuda a garantir que o vídeo pode ser transmitido melhor pelos espectadores.

2. O que é a transmissão em direto e como funciona?

A transmissão em direto é uma tecnologia que permite filmar e transmitir um vídeo aos seus espectadores em tempo real, para que estes possam assistir à sua transmissão à medida que esta acontece. Tudo o que os seus espectadores precisam é de um dispositivo ligado a uma ligação estável à Internet que os ajude a receber e a ver a transmissão em alta qualidade.

3. Como assistir à transmissão em direto?

Para assistir a uma transmissão em direto, basta ter um dispositivo ligado à Internet, como um smartphone ou um computador portátil. Pode então ligar-se ao fluxo utilizando o URL ou a aplicação que lhe foi fornecida. É tudo, começará a receber o fluxo assim que se ligar a ele. A qualidade do fluxo pode, no entanto, depender da velocidade da sua Internet.

4. Qual é a diferença entre codificador e descodificador?

Os codificadores e descodificadores são dois componentes essenciais para a transmissão de fluxos em direto da sua fonte para os espectadores. Enquanto os dados de vídeo são codificados para o formato digital por codificadores, são descodificados por descodificadores e convertidos para a sua forma analógica, de modo a que as pessoas que assistem possam ver o vídeo. A codificação também garante que o vídeo seja bem comprimido para que seja transmitido com facilidade.

5. Como posso transmitir em direto gratuitamente?

Se quiser transmitir em direto sem gastar, pode optar por plataformas de redes sociais como o YouTube, o Facebook e o Instagram. Estas plataformas oferecem funcionalidades de transmissão em direto sob a forma de Facebook Live, Instagram Live e YouTube Live. Todos os seus subscritores podem sintonizar o fluxo para o ver. Em alternativa, pode manter o fluxo aberto a todos, para que outros utilizadores das redes sociais também o possam ver.

Alguma pergunta?

A configuração de um codificador pode ser um processo confuso. Felizmente para si, estamos aqui para o ajudar! Se tiver alguma dúvida sobre este processo, escreva nos comentários.

Max Wilbert

Max Wilbert is a passionate writer, live streaming practitioner, and has strong expertise in the video streaming industry.