A resposta curta é: no .
Quando você compacta seu arquivo em um arquivo (como zip, 7z, rar, gzip, ...), o algoritmo está procurando maneiras de armazenar as informações fornecidas de maneira mais curta. Isto é feito, por exemplo, através de codificação de Huffman , onde o algoritmo verifica a frequência de valores e, em seguida, armazena o valor frequente de movimento em o número mais curto, o segundo mais usado no segundo menor número, ... ( isso é extremamente simplista - leia o artigo da wikipedia para uma explicação melhor. Também, é claro, a codificação de Huffman é apenas um - muito simples - exemplo de compressão). Isso também explica porque a compactação de um arquivo geralmente reduz ainda mais o tamanho do arquivo.
Portanto, a redução de 75% no tamanho do arquivo é porque a ferramenta de compactação encontra uma maneira mais eficiente de armazenar as informações do que o codificador de áudio e vídeo. No entanto, geralmente, não há como informar a um codificador como armazenar as informações, pois isso é algo especificado no padrão. Às vezes, uma versão mais recente do programa de codificação pode ajudar por causa de melhores implementações do padrão, mas geralmente isso se aplica apenas a codecs novos.
Seu player de vídeo, no entanto, não pode lidar com várias compressões simultaneamente. Eu acho que isso é principalmente porque ele precisaria de alguns recursos (RAM e CPU) para descompactar o arquivo e ler o arquivo em si. Além disso, ainda seria necessário descomprimir a coisa toda primeiro, assim como você precisa fazer, porque é muito difícil estimar a partir de um arquivo que você não tem onde o fluxo é armazenado e assim por diante e assim por diante.
Então, se você precisa trabalhar com theora / vorbis, não há muito o que fazer sobre isso. Caso contrário, se o tamanho do arquivo for sua prioridade, eu recomendaria investigar o VP8 / VP9 / x264 / x265 . Se você quiser ir para o VP9-way, eu recomendo algo junto ao Encode / VP9-Guide do FFmpeg (link logo acima):
ffmpeg -i <input> -c:v libvpx-vp9 -crf 15 -b:v 0 -c:a copy <output>
substitua <input>
e <output>
pelos respectivos nomes de arquivo (e extensões de arquivo). Ambos os trabalhos * .mkv e * .webm (eu só tentei estes dois), no entanto, * .webm parece exigir Vorbis como um codec de áudio (por exemplo, -c:a libvorbis -q:a 6
em vez de -c:a copy
), em que * .mkv não parece ter requisitos.
-crf
especifica um fator de taxa constante (imagine-a como "qualidade visual constante"), em que valores menores significam melhor qualidade.
Todos os itens acima assumem que seus arquivos foram codificados de forma eficiente (por exemplo, não especificando uma taxa de bits de 6 Gb / s) e com um programa funcionando corretamente. Eu, pelo menos, nunca fui capaz de comprimir muito de qualquer áudio ou videofile comprimido com perdas (mas raramente uso theora ou vorbis).