I learned that 2 Pass encoding will do the job better.
Dois passes serão para um trabalho melhor visando um tamanho de arquivo de saída específico . Caso contrário, faça uma única passagem com -crf
.
I know that this command will give the output for the first pass also. That's fine. I will delete them.
Você pode enviar para /dev/null
(Linux e macOS) ou NUL
(Windows) e evitar criar um arquivo temporário:
ffmpeg -y -i input.mkv -c:v libx264 -vf "scale=1920x1080" -vb 3.5M -pass 1 -an -f mp4 /dev/null
What does
-y
and-passlogfile
do?
-
-y
Substitua os arquivos de saída sem solicitar confirmação. Faz sentido para a primeira passagem, caso contrário ele irá pedir-lheFile '/dev/null' already exists. Overwrite ? [y/N]
. Sim, você pode "sobrescrever"/dev/null
. -
-passlogfile
Define o nome do arquivo de log de duas passagens. Você não precisa usar essa opção.
Consulte a ffmpeg
documentação para obter mais informações sobre essas opções.
Also is there any other setting can I add to improve the quality?
- Use a predefinição mais lenta para a qual você tem paciência. Veja Wiki do FFmpeg: H.264 .
- Aumentar a taxa de bits.
- Use um codificador mais eficiente, como libx265. Veja Wiki do FFmpeg: H.265 . Esteja ciente de que é lento.
- Evite upscaling. Experimente diferentes algoritmos de dimensionamento para ver o que parece melhor para você:
"scale=1920:-2:flags=lanczos"
. - Compre outro disco e não recodifique.