Como codificar vídeo H.265 usando FFmpeg no Linux (4K e 8K)

Se você está precisando codificar vídeo H.265 usando FFmpeg no Linux, veja aqui como fazer isso.


Antes de codificar vídeo H.265 usando FFmpeg, conheça um pouco a história desse formato e de como os vídeos evoluíram nos últimos anos.
Como codificar vídeo H.265 usando FFmpeg no Linux (4K e 8K)
Como codificar vídeo H.265 usando FFmpeg no Linux (4K e 8K)

Por incrível que possa parecer, poucos sabem que quase todos os vídeos que assistimos pela televisão digital terrestre, via cabo, , ou através da Internet, são vídeos comprimidos.

Isso ocorre porque o formato bruto, o RAW, é um tipo de vídeo muito grande e se ele fosse usado, consumiria muita largura de banda ou espaço em disco.

Bem antes do DVD e Blu-ray, havia o CD de vídeo (VCD). Ele foi o primeiro formato usado para distribuir comercialmente filmes em discos ópticos padrão de 120 mm (4.7 polegadas).

O vídeo nos discos era codificado em MPEG-1, um formato de compressão lossy projetado para transmissão de dados de vídeo de 1.5 Mbit/s.

o componente mais conhecido do padrão MPEG-1 foi o seu formato de compressão de áudio. Oficialmente chamado de MPEG-1 Audio Layer III, você provavelmente deve conhecer ele como MP3.

Depois do MPEG-1 veio o MPEG-2, que foi escolhido como o padrão de compressão de vídeo para DVD de vídeo. Ele também foi usado como o padrão de vídeo subjacente para TV digital por satélite (DVB-S) e digital terrestre (DVB-T).

MPEG-2 também foi ratificada pela International Telecommunication Union (ITU) como H.262. Depois veio o DVD Blu-ray, que além de suportar vídeos codificados em MPEG-2, também suportou H.264 ou MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC), como era oficialmente conhecida.

Depois teve o H.264 e em seguida, o H.265. Ele também tem alguns outros nomes, é mais comumente chamado de High Efficiency Video Coding (HEVC) ou MPEG-H. H.265.

O formato duplica a taxa de compressão de dados em comparação com o H.264 e pode suportar resoluções de até 8192×4320. Isto significa que o vídeo com a mesma qualidade necessita apenas de metade da largura da banda (ou espaço em disco).

Alternativamente, isto significa que a qualidade do vídeo pode ser substancialmente melhorada com a mesma taxa de bits, algo muito importante para telas que possuem a definição muito alta (isto é, 4K e 8K).

Resumindo tudo, temos:

  • MPEG-1: Usado para Vídeo CDs;
  • MP3: parte do padrão MPEG-1, onipresente hoje;
  • MPEG-2/H.262: Usado para DVD e outras mídias digitais;
  • MPEG-4 Part 10/H.264: Usado em Blu-ray;
  • MPEG-H/H.265: O formato de codificação de próxima geração com para 4K e 8K resoluções.

A boa notícia para os usuários do Linux é que o codec H.265 está disponível na popular ferramenta de codificação ffmpeg.

Embora o ffmpeg provavelmente exista nos repositórios de sua distribuição, ele pode estar desatualizado ou pode não ter suporte para H.265 nessa compilação. Por isso, a maneira mais fácil de obter a versão mais recente e mais funcional do ffmpeg, é baixando a sua versão estática, como será mostrado nos passos a seguir.

Como o FFmpeg no Linux

Para instalar o FFmpeg no Linux, você deve fazer o seguinte:

Passo 1. Abra um terminal;
Passo 2. Confira se o seu sistema é de 32 bits ou 64 bits, para isso, use o seguinte comando no terminal:

uname -m

Passo 3. Se seu sistema é de 32 bits, use o comando abaixo para baixar o programa. Se o link estiver desatualizado, acesse essa página, baixe a última versão e salve-o com o nome ffmpeg.tar.xz:

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-32bit-static.tar.xz -O ffmpeg.tar.xz

Passo 4. Se seu sistema é de 64 bits, use o comando abaixo para baixar o programa. Se o link estiver desatualizado, acesse essa página, baixe a última versão e salve-o com o nome ffmpeg.tar.xz:

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz -O ffmpeg.tar.xz

Passo 5. Execute o seguinte comando para descompactar o arquivo:

tar xvf ffmpeg.tar.xz -C /opt/

Passo 6. Renomeie a pasta criada. Se ao executar o comando abaixo ocorrer um erro com a mensagem iniciando com “mv: é impossível sobrescrever o não-diretório”, pule este passo;

sudo mv /opt/ffmpeg*/ /opt/ffmpeg

Passo 7. Finalmente, crie um atalho para facilitar a execução do programa;

sudo ln -sf /opt/ffmpeg/ffmpeg /usr/bin/ffmpeg

Como codificar vídeo H.265 usando FFmpeg no Linux

Para codificar vídeo H.265 usando FFmpeg no Linux, faça o seguinte:

Passo 1. Abra um terminal;
Passo 2. Para codificar um vídeo em formato H.265, use o seguinte comando (ajuste os itens video.mp4 e video-h265.mp4, colocando o caminho e o nome você quiser usar).

Observe que o parâmetro -i especifica o arquivo de vídeo de entrada, neste caso, “video.mp4”. ffmpeg pode decodificar toda uma variedade de formatos de vídeo, incluindo avi, mp4 e mov.

Já o parâmetro -c:a copy informa ao ffmpeg para copiar o fluxo de áudio do arquivo original diretamente para o arquivo de saída.

Enquanto -c:v libx265 diz ao ffmpeg para codificar o novo arquivo de vídeo no formato H.265.

O último parâmetro é o nome do arquivo de saída codificado H.265 desejado. ffmpeg pode criar mp4, mov e .mkv arquivos com vídeo H.265 codificado. :

ffmpeg -i video.mp4 -c:a copy -c:v libx265 video-h265.mp4

Passo 3. Uma vez que a codificação tenha terminado, use o comando a seguir para comparar o tamanho dos dois vídeos. Você deve ver uma diminuição significativa no tamanho do arquivo de vídeo H.265 codificado:

ls video.mp4 video-h265.mp4

Passo 4. Por fim, para verificar se o arquivo foi codificado corretamente, use o comando abaixo:

ffprobe video-h265.mp4

A saída do comando mostrará que o stream de vídeo (provavelmente stream#0) foram codificados utilizando o hvec, ou seja, H.265.

O stream de áudio será codificado em qualquer formato que foi utilizado no arquivo original, já que ele foi apenas copiado através de um para o outro.

Como codificar vídeo H.265 usando FFmpeg no Linux (4K e 8K)

Pronto! Agora você já tem um arquivo decodificado no formato H.265. Aproveite a qualidade e o tamanho que esse formato oferece e divirta-se!

Mais conteúdo sobre o FFmpeg

Fonte

O que está sendo falado no blog




blog comments powered by Disqus