ffmpeg: recodifica um vídeo, mantendo as configurações semelhantes

3

Estou lidando com alguns vídeos mp4 que foram codificados em celulares e são muito grandes.

Eu acho que o ffmpeg pode fazer melhor. Eu estou tentando descobrir quais sinalizadores usar para preservar fps, resolução e manter a aparência igual (sem perdas ou quase sem perda).

Quais bandeiras devo usar?

    
por OneSolitaryNoob 23.03.2016 / 21:34

1 resposta

8

Preservar configurações

ffmpeg tentará usar automaticamente muitos dos mesmos parâmetros ao codificar, incluindo: taxa de quadros, largura, altura, formato de pixel, layout do canal de áudio, taxa de amostragem de áudio etc. Então, você geralmente não precisa fazer nada especial.

Algumas configurações podem mudar se houver restrições de formato ou codificador.

Preserve a qualidade

Para vídeo H.264 usando o codificador libx264 use:

  • -crf 18
  • a predefinição mais lenta para a qual você tem paciência

Estas opções produzirão um vídeo com perdas, mas -crf 18 fornece bits suficientes para que seja visualmente sem perdas ou quase. Se a saída ainda for muito grande, a recomendação geral é usar o maior valor -crf que ainda forneça uma qualidade aceitável.

Você pode alterá-lo para -crf 0 para true sem perdas, mas a saída resultante será um tamanho de arquivo enorme - provavelmente maior que o original.

Exemplo:

ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow -c:a copy output.mp4

Este exemplo reproduz cópias do áudio em vez de recodificá-lo, pois a maior parte do tamanho do arquivo é proveniente de vídeo.

O desenvolvimento é muito ativo, portanto, use uma versão recente de ffmpeg . Veja a página Download do FFmpeg para links para binários.

Veja também:

por 23.03.2016 / 23:38