ffmpeg logo

Se você possui um Chromecast, provavelmente já deve estar se divertindo com vídeos do Youtube, Netflix e outros provedores na sua TV, porém também é possível assistir qualquer vídeo que estiver em seu computador, tablet ou smartphone através de DLNA, basta que o vídeo tenha os CODECs corretos para que o Chromecast consiga reproduzir seu conteúdo na TV.

Se você já tentou isso e falhou – vídeo sem áudio ou não conseguiu reproduzir o arquivo de jeito nenhum – hoje você verá uma maneira bem simples para converter seus vídeos para o Chromecast e todos os outros dispositivos da sua residência compatíveis com H.264 AVC AAC, como Smart TVs, Home Theaters e demais. Além disso, não vamos perder qualidade na conversão, ou seja, áudios 5.1 continuarão com alta qualidade e os 5.1 canais e vídeos em Full HD continuarão com a mesma resolução, se possível, até com o mesmo bitrate (que está ligado diretamente com a qualidade).

Vamos deixar um pouco o papo de lado e vamos à conversão dos nossos vídeos.

Download do FFMPEG

Como vamos utilizar o ffmpeg para realizar todas as conversões descritas neste tutorial, você vai precisar baixa-lo em seu computador. Para isso, utilize o link abaixo:

Escolha seu sistema operacional e faça o download.

No meu caso, estou utilizando o Windows, mas o ffmpeg funciona para Linux e Mac também. Eu não cheguei a fazer o download para outros sistemas operacionais, mas no Windows, você só precisará descompactar a pasta baixada para ter acesso aos arquivos disponibilizados no download.

Extraindo os arquivos do download do ffmpeg

Extraindo os arquivos do download do ffmpeg

Depois de extrair o conteúdo, você encontrar uma pasta cheia de arquivos, o ffmpeg está presente na pasta “bin”.

O ffmpeg.exe está dentro da pasta bin

O ffmpeg.exe está dentro da pasta bin

Sabendo disso, podemos prosseguir.

Acessando a pasta “bin” por linha de comando

O ffmpeg não tem interface gráfica, ou seja, é uma ferramenta de linha de comando. Para utilizar seus recursos é necessário acessar a pasta que contém o arquivo ffmpeg.exe por linha de comando, para isso clique com o botão direito do mouse sobre a pasta “bin” segurando a tecla “SHIFT” do seu teclado e acesse a opção “Abrir janela de comando aqui”.

Clique com o botão direito do mouse sobre a pasta "bin" segurando "SHIFT" e acesse "Abrir janela de comando aqui"

Clique com o botão direito do mouse sobre a pasta “bin” segurando “SHIFT” e acesse “Abrir janela de comando aqui”

Assim uma nova janela será aberta bem na pasta selecionada, onde você poderá utilizar a ferramenta “ffmpeg.exe”, que é o que você precisará para converter seus vídeos.

Verificando seu vídeo

Atualmente, todos os vídeos que você baixar, filma com o Smartphone ou com uma câmera, já vêm com o codec h.264, ou seja, não precisam de conversão, porém existem alguns fatores que vão fazer você querer realizar uma conversão para otimizar o arquivo para o Chromecast, por exemplo:

  • Bitrate muito alto irá dificultar o streaming de vídeo, isso irá causar travamentos em determinados momentos do vídeo;
  • Se o CODEC de áudio não for AAC, há uma grande chance de seu vídeo ficar sem som no Chromecast;
  • Garantir que o CODEC de vídeo realmente seja o H.264 AVC.

Para verificar tudo isso, você pode baixar o MediaTab e instalar em seu computador. Depois disso, basta clicar com o botão direito do mouse sobre o vídeo, acessar “Propriedades”, em seguida, a aba “MediaTab”.

MediaTab

MediaTab

Como você pode ver na imagem acima, o vídeo que estou verificando tem codec “AVC” (H.264). Como já sabemos, o Chromecast conseguirá reproduzir este vídeo por conta do CODEC AVC, porém, o bitrate – que é a quantidade de bits cada segundo do vídeo utiliza para ser reproduzido – está muito elevado, ou seja,  sua rede Wi-Fi deveria suportar 44.6Mbps por segundo para reproduzir este vídeo sem travar, isso é o mesmo que um Blu-Ray utilizaria.

Como sabemos que nem todas as redes conseguem passar essa quantidade de dados, teremos que converter o vídeo acima para diminuir este bitrate. Em meus testes, consegui reproduzir vídeos de excelente qualidade, sem travamentos, com bitrate entre 12Mbps até 16Mbps.

Descendo a barra de rolagem temos o seguinte:

CODEC de áudio

CODEC de áudio

O formato PCM pode até ser reproduzido por milhares de dispositivos, mas não nos meus, por isso vamos converter o áudio para AAC.

Guarde bem o MediaTab, pois você pode precisar muito dele se quiser saber o que está acontecendo com seus vídeos, como descobrir quais os CODECs e legendas estão embutidos no seu arquivo.

Convertendo com o FFMPEG para o Chromecast

Para converter todos os CODECs do seu vídeo original para H.264 AVC AAC, já diminuindo o bitrate do vídeo (se precisar) e embutindo uma legenda, o comando completo ficaria assim:

ffmpeg.exe -i ENTRADA -sub_charenc ISO-8859-1 -i LEGENDA -c:v libx264 -profile:v high -level 4.1 -crf 18 -maxrate 12M -bufsize 16M -pix_fmt yuv420p -preset:v veryfast -strict experimental -c:a aac -b:a 1536k -movflags faststart -c:s srt -map v:0 -map a -map 1:0 SAIDA

Você só precisa substituir ENTRADA para o caminho do arquivo original, LEGENDA para o caminho do arquivo de legenda SRT e SAIDA para o caminho do arquivo de saída.

Veja um exemplo real:

ffmpeg.exe -i "H:\TEMP\TESTE\Meu filme.MOV" -sub_charenc ISO-8859-1 -i "H:\TEMP\TESTE\Meu filme.srt" -c:v libx264 -profile:v high -level 4.1 -crf 18 -maxrate 12M -bufsize 16M -pix_fmt yuv420p -preset:v veryfast -strict experimental -c:a aac -b:a 1536k -movflags faststart -c:s srt -map v:0 -map a -map 1:0 "H:\TEMP\TESTE\Meu filme.mkv"

Nesse caso, além de uma conversão, ainda estrou trocando o container de “MOV” para “MKV”.

Perceba a diferença dos CODECs de vídeo e áudio (além do tamanho final do arquivo) nas imagens abaixo:

O bitrate diminuiu bastante, o tamanho do arquivo final também (de 177MB para 16MB)

O bitrate diminuiu bastante, o tamanho do arquivo final também (de 177MB para 16MB)

O áudio foi convertido para AAC

O áudio foi convertido para AAC e uma legenda foi embutida.

Bem legal, não é?

Copiando a qualidade original do vídeo e convertendo apenas áudio para AAC

O trecho de código acima é bem legal, porém, pode demorar um tempo bom até que você converta o seu vídeo inteiro. Caso o seu vídeo tenha o bitrate razoavelmente baixo (até 16Mbps ou 16384Kbps) você pode deixar o CODEC original (se for AVC, caso contrário precisará de conversão) e fazer apenas a conversão do áudio. Para isso basta digitar o seguinte:

ffmpeg.exe -i "ENTRADA" -sub_charenc ISO-8859-1 -i "LEGENDA.srt" -c:v copy -strict experimental -c:a aac -b:a 1536k -movflags faststart -c:s srt -map v:0 -map a -map 1:0 "SAIDA"

Nesse caso a conversão é bem mais rápida (mas muito mesmo) e você não perderá qualidade original do vídeo.

Convertendo apenas o vídeo e deixando o áudio original

Também é possível converter apenas o vídeo, sem tocar no codec de áudio, para isso digite:

ffmpeg.exe -i ENTRADA -sub_charenc ISO-8859-1 -i LEGENDA -c:v libx264 -profile:v high -level 4.1 -crf 18 -maxrate 12M -bufsize 16M -pix_fmt yuv420p -preset:v veryfast -strict experimental -c:a copy -movflags faststart -c:s srt -map v:0 -map a -map 1:0 SAIDA

Agora convertemos apenas o vídeo.

Sem legenda SRT?

Claro que se você não quiser incluir uma legenda SRT, basta remover essas partes do comando. Por exemplo, para converter CODECs de áudio e vídeo sem embutir uma legenda SRT, digite:

ffmpeg.exe -i "ENTRADA" -c:v libx264 -profile:v high -level 4.1 -crf 18 -maxrate 12M -bufsize 16M -pix_fmt yuv420p -preset:v veryfast -strict experimental -c:a aac -b:a 1536k -movflags faststart -map v:0 -map a "SAIDA"

Para converter apenas o áudio, digite:

ffmpeg.exe -i "ENTRADA" -c:v copy -strict experimental -c:a aac -b:a 1536k -movflags faststart -map v:0 -map a "SAIDA"

Para converter apenas o vídeo, digite:

ffmpeg.exe -i "ENTRADA" -c:v libx264 -profile:v high -level 4.1 -crf 18 -maxrate 12M -bufsize 16M -pix_fmt yuv420p -preset:v veryfast -strict experimental -c:a copy -movflags faststart -map v:0 -map a "SAIDA"

Pronto, agora seus vídeos poderão ser reproduzidos por DLNA para seu Chromecast sem travamentos, com som e vídeo excelentes. Se você não sabe como fazer isso, siga os nosso tutoriais abaixo:

O primeiro explica como criar um servidor DLNA, o segundo detalha como enviar vídeos para seu Chromecast (ou Smart TV) utilizando seu smartphone ou tablet.

Vídeo tutorial

O vídeo tutorial abaixo é um complemento do artigo acima:

Espero ter ajudado!