Veja como converter vídeos para o formato MP4 usando o ffmpeg e diminua o consumo de espaço em disco pelas por arquivos e mídia.
O formato MP4 é hoje um dos formatos de vídeo mais populares, pois é usado em alguns dos sites mais importantes da Internet (como o YouTube) por causa de seu amplo suporte e excelente qualidade. É um dos formatos que eu recomendo, sem dúvida, para armazenar vídeos ou servi-los pela Internet (o outro formato é webm com codificador vp8)
O formato MP4 é um formato de arquivo contêiner, por isso pode conter vários formatos de fluxo, mas focaremos no vídeo H264, pois é um dos formatos mais aceitos. Ele é um excelente formato de vídeo com vídeo de alta qualidade em espaço reduzido, que pode ser processado muito rapidamente.
E neste artigo, mostrarei como converter qualquer vídeo para o formato MP4 usando o codec de vídeo H264. Para isso, usarei o ffmpeg como o programa que converte os arquivos de vídeo.
Essa é uma das melhores maneiras de converter vídeos para o formato MP4 em sistemas Linux e também é uma excelente maneira de converter vídeos para o formato MP4 em sistemas Windows ou Mac.
Ainda não tem o ffmpeg instalado? Para instalar a versão mais recente do FFmpeg nas principais distribuições Linux, use esse tutorial:
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 converter vídeos para o formato MP4 usando o ffmpeg
Para converter vídeos para o formato MP4 usando o ffmpeg, primeiramente, abra um terminal,
A seguir, se você tiver um arquivo de vídeo exemplo.mov e quer convertê-lo para o formato MP4 com o vídeo H264, basta usar o seguinte comando;
ffmpeg -i exemplo.mov exemplo.mp4 -hide_banner
Neste exemplo, o ffmpeg detecta que o arquivo de saída possui extensão MP4, por padrão, ele converte o vídeo em arquivo MP4 com H264 para o vídeo e aac para o áudio. Ele converterá o arquivo de vídeo usando as configurações padrão.
Conhecendo algumas opções na conversão de vídeo para arquivo MP4
Agora, farei a mesma conversão que antes, mas usando algumas opções que explicaremos:
ffmpeg -i example.mov -f mp4 -vcodec libx264 -preset fast -profile:v main -acodec aac example.mp4 -hide_banner
Nesta conversão, estamos usando alguns parâmetros:
- -f mp4 com este parâmetro, estamos especificando que o arquivo de saída terá o formato mp4;
- -vcodec libx264 com este parâmetro, estamos especificando o codec de vídeo que queremos usar. Nesse caso, estamos usando a libx264, que é um codificador de vídeo H264. (podemos usar o parâmetro -c: v libx264);
- -preset fast com este parâmetro, estamos especificando o codificador (libx264) algumas opções para o processo de codificação. Podemos usar qualquer uma das diferentes predefinições existentes (ultra-rápida, super-rápida, muito rápida, mais rápida, rápida, média, lenta, mais lenta ou muito lenta do mais rápido para o mais lento). Predefinições mais lentas produzirão vídeos de melhor qualidade em menos espaço, mas levarão mais tempo para serem processadas;
- -profile: v principal esse parâmetro é semelhante ao predefinido. O parâmetro profile indica o codificador se ele pode usar algumas opções avançadas para melhorar a compactação de vídeo. A desvantagem é que o uso dessas opções avançadas pode tornar o vídeo impossível de reproduzir em alguns dispositivos antigos. Estamos usando o perfil principal, pois ele é muito bem suportado, mas podemos usar um dos seguintes: linha de base, principal, alto, alto10, alto422 e alto444;
- -acodec aac com esse parâmetro, estamos especificando o codificador de áudio a ser usado, neste caso, estamos usando o codec de áudio aac;
- -hide_banner oculta algumas informações de compilação sobre o ffmpeg.
Conhecendo mais algumas outras opções
Vimos alguns parâmetros básicos, mas também devemos conhecer outros parâmetros importantes, como:
- crf, o fator de taxa constante é um valor entre 0 e 51. Indica que o codificador tenta obter uma certa qualidade de saída. O valor 0 indica sem perdas e 51 é o pior possível, com 23 como valor padrão. Um valor mais baixo indica maior qualidade.
- bitrate, podemos indicar uma taxa de bits para o codificador, para que o codificador tente alcançá-lo. Podemos indicar uma taxa de bits média, uma taxa de bits mínima ou uma taxa de bits máxima.
- faststart, isso é essencial quando você usar seu arquivo de vídeo online. Isso moverá algumas informações de metadados para o início do arquivo e permitirá que o vídeo comece a ser reproduzido antes de ser completamente baixado.
Converter vídeos para o formato MP4 – Conclusão e algumas recomendações
Os parâmetros padrão devem funcionar para a maioria das pessoas. Eles produzem excelentes resultados.
O processo de codificação pode levar algum tempo, especialmente se o vídeo for longo. Portanto, pode ser útil tentar codificar uma pequena parte do vídeo e verificar a qualidade da saída antes de prosseguir com o vídeo completo. Veja como extrair uma parte de um vídeo aqui.
Você pode usar alguns filtros antes da codificação, para que o vídeo possa ser convertido conforme desejado. Por exemplo, você pode redimensionar um vídeo e codificá-lo para o formato mp4 com este comando.
ffmpeg -i example.mov -vf scale=320:180 -c:v libx264 -preset fast -c:a aac output.mp4 -hide_banner
(Neste exemplo, o vídeo de entrada é redimensionado para 320x180px antes do processo de codificação) Como você pode ver neste exemplo, é necessário incluir apenas o filtro de vídeo de escala para redimensionar o vídeo.
O processo de codificação possui opções mais avançadas. Incluímos neste artigo o que achamos serem as opções mais importantes e úteis, mas se você quiser ler mais sobre essa conversão, poderá verificar o ffmpeg h.2