Eu tenho um arquivo de vídeo 1080p de trinta segundos que foi renderizado do Premiere Pro/Media Encoder (target Bitrate 10) e está codificado em H.265. Tem 36,6 MB. Quando eu executo o comando
ffmpeg -i input -c:v libx265 -c:a copy output.mp4
o novo arquivo tem apenas 5,04 MB. mediainfo
revela que o novo arquivo tem uma taxa de bits de apenas 1164 kb/s. Mesmo que um seja muito menor que o outro, ambos os vídeos parecem idênticos (ambos têm uma pontuação VMAF acima de 97 quando comparados à versão não compactada).
A libx265
taxa de bits escolhe inteligentemente e, portanto, torna o tamanho do vídeo muito menor?
Você terá perdido dados na recodificação, independentemente da "qualidade" perceptiva. Esse é um dos lugares de onde veio a redução de tamanho. Detalhes menores ou imperceptíveis serão perdidos ou aproximados usando algoritmos do compressor.
A principal diferença, porém, será o fato de a Adobe
ffmpeg
ter diferentes configurações padrão de qualidade e largura de banda. Essa "pontuação VMAF" parece semelhante apenas informa que um humano provavelmente não verá a diferença, nem quantos dados foram perdidos.ffmpeg
irá decodificar quadros e recodificá-los usando quaisquer que sejam suas configurações padrão. Provavelmente, os padrões são agressivos e, de acordo com https://trac.ffmpeg.org/wiki/Encode/H.265 , o padrão será omedium
perfil de qualidade.Configurações de compactação mais lentas preservarão mais fielmente a verdadeira qualidade original ao custo de tamanhos de arquivo e tempo de compactação mais altos.
ffmpeg
também padroniza para um CRF de 28, que será uma compressão relativa bastante altaÉ até possível que
ffmpeg
tenha alguns recursos de compactação mais avançados habilitados por padrão. A Adobe pode evitar alguns recursos de aproximação de codificação em favor de taxas de bits mais altas para reduzir o tempo de renderização ou preservar a qualidade ou outros recursos. É difícil saber sem saber exatamente quais configurações estão em uso.Se você deseja ter uma comparação justa entre a Adobe e
ffmpeg
as saídas, deve renderizar em um formato descompactado, descobrir exatamente quais configurações a Adobe está usando e compactar esse arquivo descompactado em ambos.A recompressão de um arquivo já compactado (decodificação e recodificação) resultará em perda de geração que, embora possa não parecer significativa em apenas uma passagem, perderá dados e qualidade. Após várias passagens, a perda será significativa.
O VMAF não é uma boa métrica para codificações de alta qualidade. Mesmo a comparação de conteúdo matematicamente idêntico às vezes pode fornecer pontuações vmaf tão baixas quanto 97,4, enquanto nem mesmo vmaf 100 garante transparência visual.
O que significa que as pontuações do VMAF não dizem quase nada sobre a qualidade dessas codificações específicas.
Na época, a melhor métrica visual adequada para vídeo de quase transparência seria uma métrica de imagem estática como Butteraugli ou SSIMULACRA.