Ícone do site Blog do Edivaldo – Informações e Notícias sobre Linux

Como alterar a resolução de um vídeo usando ffmpeg

Se você quer padronizar seus vídeos ou diversificá-lo para diferentes visualizações, veja como alterar a resolução de um vídeo usando ffmpeg.

Alterar a resolução de um arquivo de vídeo será uma das operações mais comuns que executaremos ao trabalhar com arquivos de vídeo e, como tal, o ffmpeg poderá fazê-lo perfeitamente.

Como alterar a resolução de um vídeo usando ffmpeg

Há várias razões pelas quais queremos alterar a resolução de um arquivo de vídeo, por exemplo:

No desenvolvimento de sites modernos, é bastante útil ter os vídeos em várias resoluções, dependendo de onde eles aparecem. Podemos desenvolver sites com designs responsivos nos quais o vídeo mais adequado para o usuário é reproduzido.

Por exemplo, se tivermos um vídeo em vários formatos – digamos 1920×1080, 1280×720 e 640×360 – podemos projetar um site responsivo que faça com que os visitantes reproduzam a resolução de vídeo adequada, dependendo da largura de banda do navegador do visitante (lembre-se de que os usuários móveis geralmente pagam para dados transferidos, para que seja melhor transferir o mínimo de tráfego possível)

Enfim, para alterar a resolução de um vídeo usaremos o ffmpeg. Esse método é uma das melhores maneiras de redimensionar um arquivo de vídeo em sistemas Linux (quase qualquer distribuição) e uma excelente alternativa para usuários de Windows e Mac.

E se você ainda não tem o ffmpeg instalado, para instalar a versão mais recente do FFmpeg nas principais distribuições Linux, use um desses tutoriais:
Como instalar o framework multimídia FFmpeg no Linux via Snap
Como instalar a versão mais recente do FFmpeg no Linux Debian, Ubuntu e Fedora
Como codificar vídeo H.265 usando FFmpeg no Linux (4K e 8K)

Como alterar a resolução de um vídeo usando ffmpeg

Para alterar a resolução de um vídeo usando ffmpeg, primeiramente, abra um terminal.

Por exemplo, se tivermos um vídeo em vários formatos – digamos 1920×1080, 1280×720 e 640×360 – podemos projetar um site responsivo que faça com que os visitantes reproduzam a resolução de vídeo adequada, dependendo da largura de banda do navegador do visitante (lembre-se de que os usuários móveis geralmente pagam para dados transferidos, para que seja melhor transferir o mínimo de tráfego possível)

Neste exemplo, reduziremos a resolução de um vídeo no formato HD (1920×1080 pixels) para 640×360 (esta é uma configuração bastante usada para a proporção de aspecto 16: 9):

ffmpeg -i video_1920.mp4 -vf scale=640:360 video_640.mp4 -hide_banner

Só é necessário indicar o filtro de vídeo em escala com a nova resolução desejada (640:360) com -vf scale=640:360. Considerar:

Podemos indicar qualquer resolução que desejarmos, mas o vídeo resultante sempre terá a mesma proporção. Ou seja, não distorcerá as imagens; se o vídeo estiver na proporção de 16:9, manterá o vídeo na proporção de 16:9.

O programa ajustará o vídeo resultante para que ele caiba na resolução que fornecemos.

Ao alterar a resolução, o vídeo deve passar pelo processo de codificação outra vez, para que o processo seja lento, dependendo do formato de saída e do codec que você está usando para a saída.

Não mencionamos isso, mas na maioria das vezes não faz sentido transformar um vídeo em uma resolução mais alta, porque não pode haver nenhuma melhoria na qualidade do vídeo.

Alterando a proporção do vídeo com ffmpeg

Se quisermos mudar a aparência do vídeo, sabendo que a imagem aparecerá distorcida, podemos usar um filtro adicional “setdar”.

Imagine que, no caso anterior, queremos alterar a proporção de 16:9 para 4:3 e, portanto, o vídeo com uma resolução de proporção de 4:3, que neste caso será 640×480. O comando ffmpeg para fazer essa transformação seria:

ffmpeg -i video_1920.mp4 -vf scale=640:480,setdar=4:3 video_640x480.mp4 -hide_banner

A saída de vídeo obtida neste caso, video_640x480.mp4, altera a aparência do vídeo original e distorce um pouco as imagens, mas obtém a resolução que queremos com um novo visual.

Se, por outro lado, não queremos confiar no uso de uma proporção que possa ser “mais normal” (4:3, 16:9) ou se queremos fazer alterações em outras resoluções com uma proporção indefinida e estamos sem medo de possíveis deformações de imagens que aparecerão, podemos usar o filtro “setsar” que evitará que você tenha que manter essas proporções.

Dessa forma, podemos transformar o vídeo anterior em uma resolução de 200×400, por exemplo, com o seguinte comando:

ffmpeg -i video_1920.mp4 -vf scale=200:400,setsar=1:1 video_200x400.mp4 -hide_banner

O resultado na resolução 200×400 da resolução 1920×1080 faz com que a saída de vídeo tenha uma aparência distorcida.

Exemplos de modificar a resolução de um vídeo usando ffmpeg

Vamos ver alguns exemplos de redimensionamento de vídeo usando ffmpeg. Temos um vídeo original com uma resolução de 320×180 pixels.

Como vimos anteriormente, podemos redimensionar o vídeo para metade do tamanho original. Estamos redimensionando-o de uma resolução de 320×180 pixels para uma resolução de 160×90 pixels com o seguinte comando:

ffmpeg -i video_320x180.mp4 -vf scale=160:90 video_180x90.mp4 -hide_banner

O vídeo passou de um tamanho de 1,18 MB para um vídeo de 354 KB (um quarto). Observe que o vídeo é menor, mas podemos dizer ao navegador para aumentá-lo com alguma perda de qualidade em comparação com o original.

Agora vamos alterar a proporção original do vídeo de 16:9 para 4:3. Para fazer isso, estamos redimensionando o vídeo de 320×180 para 320×240 com o seguinte comando:

ffmpeg -i video_320x180.mp4 -vf scale=320:240,setdar=4:3 video_320x240.mp4 -hide_banner

E como resultado você poderá ver que as imagens aparecem distorcidas:

E agora, finalmente, redimensionaremos o vídeo como se ele coubesse em uma tela vertical, para redimensionar de 320×180 pixels para 180×320 pixels. Aqui está o comando que fará a tarefa:

ffmpeg -i video_320x180.mp4 -vf scale=180:320,setsar=1:1 video_180x320.mp4 -hide_banner

Observe que, nesses vídeos, também incluí uma fonte no formato webm para máxima compatibilidade. Eu fiz isso dessa maneira, se o seu navegador não puder trabalhar diretamente com arquivos mp4, você poderá ver os resultados em um arquivo webm semelhante.

Sair da versão mobile