Se um vídeo exigir recodificação várias vezes ffmpeg
porque precisa de várias alterações, como cortar, redimensionar, converter, compilar (concat), converter novamente, etc... então não seria mais sensato usar uma codificação predefinição, como ultrafast
durante todas as recodificações até a última recodificação, e então use algo como slow
ou veryslow
?
Fazer isso é exatamente o mesmo que recodificar o tempo todo slow
ou veryslow
o tempo todo, a única diferença é que um desperdiça meu tempo e o outro faz uso eficiente do meu tempo. Eu entendi isso direito?
Ou fazer isso perderia qualidade?
Responder1
Você está errado.
Todoestágio na codificação usando uma predefinição "rápida" perderá mais qualidade do que a mesma passagem executada em uma predefinição lenta. A perda em cada estágio será cumulativa até o ponto em que haverá alguma diferença (potencialmente significativa) entre o seu método e uma execução completa com predefinições mais lentas.
O problema é conhecido comoperda de geração. À medida que você executa cada geração com qualidade inferior (predefinição mais rápida), você perderá mais dados por geração. Os tamanhos dos arquivos podem ser semelhantes no estágio final lento, especialmente se você usar uma configuração baseada em qualidade, mas tudo isso significa que ele está se esforçando mais para ser mais "fiel" à entrada fornecida. Na verdade, ele está se esforçando mais para reproduzir o ruído e a perda de qualidade introduzidos nos estágios anteriores.
Se você estiver fazendo conversões de vários estágios, seria muito melhor, em termos de velocidade e qualidade, converter para uma saída não compactada do primeiro estágio, fazer todo o processamento no vídeo não compactado e, em seguida, fazer um estágio de compactação final.
Caso contrário, você deve tentar executar o máximo possível de etapas de conversão de vídeo em uma única execução do programa. Acredito que isso ffmpeg
pode encadear o corte, o redimensionamento e a conversão em uma única etapa, de modo que você incorre em apenas uma única etapa de perda de geração.
O tamanho do arquivo ser igual ou semelhante não significa quase nada, você já jogou fora mais fidelidade visual nas execuções anteriores e ele não pode ser recuperado.