Na terra mística do PNG, o modo mais eficaz de próximo - a compactação sem perda é compactar a imagem com quase todas as combinações possíveis de configurações e comparar a saída. Isso é o que aplicativos como pngcrush
fazem.
Não há razão para que um processo semelhante não funcione no papel. Na prática, existem alguns problemas:
- A compactação de vídeo uma vez já é um processo muito mais longo do que a codificação de uma imagem PNG.
- Existem cerca de 1000 vezes mais combinações de configurações.
- Esses dois conspiram para tornar o processo exponencialmente mais longo por vários poderes.
- Também usaria uma quantidade irracional de espaço em disco, memória e tempo de CPU.
- Os quadros se mesclam se houver uma alteração na taxa de quadros e obviamente mudam se você alterar o tamanho ou o recorte do quadro, tornando o processo de comparação ainda mais difícil
Para completar, você está lidando com conteúdo que já está envenenado com artefatos e codificação de lodo. Minha resposta simples para "Existe uma maneira simples" tem que ser Não.
Mas se você tiver um monte de vídeos de baixa compactação como o FLV (uma compactação bastante ruim na minha experiência com o formato), pode valer a pena ir com ffmpeg
ou mencoder
para os FLVs. Algo como isso pode funcionar:
find -iname '*.flv' -exec \
mencoder {} -o {}.recomp.avi -ovc x264 -x264encopts threads=9:bitrate=400 -oac mp3lame -lameopts abr:br=52 \;
Mas haverá perda. Você apenas tem que julgar o quanto é aceitável.