Por que o Handbrake compactar um vídeo de um DVD pode se tornar 300MB, 1GB ou 2GB quando o original deve ter apenas 600MB?

3

O Handbrake pode converter um clipe de DVD com cerca de 30 minutos para um arquivo de 300% em.mkv. Por experiência, eu tentei também 1GB de tamanho de arquivo e 2GB, e ambos saíram como 1GB ou 2GB.

Mas eu estimo que o vídeo original no DVD deve ter apenas cerca de 600MB, então como ele pode tornar o arquivo "maior do que era antes"? (o formato mkv, mp4 deve permitir uma melhor compressão que o mpeg2 do DVD).

Eu também lembro que tentei experimentar divx ou xvid antes, e havia um limite para o tamanho do arquivo: por exemplo, eu posso especificar um vídeo de 1,5 hora para ter 3GB ou ter 8Mbit / s, mas o conteúdo simplesmente não Não há tantos "bits" para armazenar (porque pode comprimir muito o vídeo), então o arquivo final não pode exceder 1.8GB ou algo assim, não importa o quão alto seja a taxa de bits ou o tamanho de arquivo desejado. Mas com o Handbrake, parece que posso criar um arquivo de 1GB ou 2GB com um clipe tão curto. Por que isso?

    
por 太極者無極而生 27.07.2011 / 16:52

3 respostas

3

Tem a ver com upsampling / downsampling.

Imagine ter que escrever este software: você precisa ler um arquivo compactado que poderia ter sido compactado em variedade de formatos e, em seguida, recompactá-lo em outro formato.

Espere !! Por que você não pode ir diretamente para outro formato ??

Bem, como você faria? A compressão é com perdas, e para entender como compactá-lo, você primeiro tem que descomprimir , para ver o que está dizendo!

Além disso, você não quer que seus algoritmos explodam; ou seja, se você está convertendo entre 10 formatos, você não quer ter 10 * 9 = 90 algoritmos para compressão e 90 para descompressão para converter de todos os formatos para todos os outros formatos, mas você prefere ter 10 algoritmos para ir um formato descompactado e mais 10 para ir para outro formato compactado.

Então você tem para descompactar primeiro. E depois disso, a escolha é sua como recomprimir - e não importa o que você escolher, você perderá muito mais do que se você não tivesse feito nada.

i.e. Isto é um pouco ingênuo de um cálculo, mas se algo preservar 50% do original, e você descompactar e recomprimir, você terá 50% disso - ou seja, 25%. Isso não captura alguns dos outros aspectos, mas explica por que a recompressão (ou transcodificação) é raramente recomendada ; se você precisar, tente recompactar o original, se possível.

Espero que isso faça sentido.

    
por 27.07.2011 / 17:03
2

A compactação de mídia não é como um zip e algoritmos de compactação semelhantes, que oportunamente exploram a repetição exata. Na sua forma mais simples, é mais como encontrar uma representação do sinal que pode ter detalhes removidos (ou adicionados) com mínima alteração visível no sinal decodificado. Sendo esse o caso, é muito fácil "compactar" um arquivo pequeno em um arquivo maior. Você obtém essa representação transformada e depois a complementa com dados extra-neutros.

Isso é basicamente o que você obtém quando exige uma conversão de um arquivo de vídeo de baixa taxa de bits para um arquivo de vídeo de alta taxa de bits.

Estritamente falando, você provavelmente está ganhando algo com 2 GB em vez de 1 GB, mesmo para um vídeo que começou com 600 MB - embora provavelmente não seja algo que você queira a qualquer preço.

O vídeo original foi compactado com MPEG2 (para DVD) em vez de usar MKV. Diferentes sistemas de compressão têm diferentes "artefatos". Cada conversão do arquivo pode, na melhor das hipóteses, preservar os detalhes disponíveis. Com a mudança no esquema de compressão, é inevitável que pelo menos algo seja perdido. Com um arquivo maior, há menos perda - mesmo com arquivos muito maiores que o original. Isso significa que é menos provável que você perca todos os artefatos indesejados do esquema de compactação anterior.

Outra maneira de ver isso ...

O conjunto de vídeos que podem ser perfeitamente representados usando qualquer esquema de compactação é muito limitado, em comparação com o vídeo não compactado. Reduza o tamanho do arquivo em um byte e, em princípio, você dividiu o número de vídeos possíveis que podem ser representados por 256.

O conjunto de vídeos que podem ser perfeitamente representados no MPEG2 é muito diferente do conjunto de vídeos que podem ser perfeitamente representados no MKV. Mesmo se você tivesse codecs perfeitos, é improvável que você preservasse perfeitamente seu vídeo convertendo de um método de compactação para outro - até convertendo para uma taxa de bits muito maior.

    
por 27.07.2011 / 17:20
-2

É porque o Handbrake é free e os algoritmos de compactação vão tão longe. Os que os profissionais usam são, bem, mais caros .

A resposta de Mehrdad cega na cabeça. A fim de ir de MPEG2 (DVD) para H.264 (suponho que é isso que você está usando) diretamente, você tem que escrever o programa especificamente para converter isso. O que traz o que Mehrdad estava dizendo. Basicamente, tem que escrever o algoritmo de compressão jack of all trades ou escrever um monte de pequenos. Nenhum deles soa como uma solução vencedora para mim.

    
por 27.07.2011 / 17:17