Possível duplicata:
Converta AVI para MP4 mantendo a mesma qualidade
Gostaria de converter uma boa quantidade de arquivos wmv, mpg e avi (com diferentes codificações de áudio e vídeo) para mp4/x264/aac com qualidade equivalente. Fiz alguns testes com o seguinte comando:
ffmpeg.exe -i "test.avi" -c:v libx264 -c:a libvo_aacenc "test.mp4"
(Como você pode ver, omiti opções que especificam a taxa de bits e a qualidade do áudio e do vídeo)
Usando este comando, o FFmpeg preserva automaticamente as dimensões do vídeo, mas ainda não tenho certeza de como ele lida com coisas como taxa de bits quando elas são omitidas. Qual é a melhor maneira de manter a qualidade de um vídeo ao convertê-lo para um formato e codec diferente?
Estou usando o Windows 7 de 64 bits e ffmpeg-20121230-git-518239c-win64-shared
Responder1
O FFmpeg define a -crf
opção como 23 por padrão.
Tentar:
ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20 -c:a aac -strict -2 "test.mp4"
OCRFopção define a qualidade da codificação. A taxa de bits variará conforme necessário para fornecer uma qualidade consistente em todo o vídeo. 51 sendo o pior e 0 sendo o melhor – sem perdas.
Costumo definir todas as minhas codificações para 20, que é o padrão do Handbrake e estou satisfeito com a qualidade. Sugiro brincar com esse valor para encontrar um nível de qualidade que seja aceitável para você.
Você pode querer usar as opções -ss
e -t
para criar codificações de teste curtas. -ss
sendo a hora de início e -t
a duração - ambas em segundos. Você provavelmente não precisa codificar o vídeo inteiro para determinar o que é aceitável.
Para criar um clipe de 1 minuto começando com 1 minuto de vídeo:
ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20 -c:a aac -strict -2 -ss 60 -t 60 "test.mp4"