Qual é o container multimídia mais eficiente em termos de espaço disponível no Ubuntu?

0

Eu tenho uma coleção de vídeos armazenados em vários containers multimídia, como AVI, MP4, MKV, etc., e gostaria de determinar em qual container eu poderia armazená-los sem recodificar (para evitar perda de qualidade). Gostaria de usar avconv para copiar rapidamente os fluxos diretamente para o novo formato de contêiner, como em avconv -i <input-file> -c:a copy -c:v copy <output file> . Alguém realizou algum teste para determinar a eficiência do contêiner?

Para maior clareza, estou falando de contêineres multimídia, como AVI, Matroska, etc., e não de codecs, como prefiro não recodificar.

Editar: Para esclarecer ainda mais por "eficiência do contêiner", refiro-me a um contêiner com um mínimo de sobrecarga (bytes desperdiçados usados pela estrutura do contêiner).

    
por Elder Geek 17.11.2015 / 20:24

1 resposta

0

Para um caso de teste, baixei um vídeo sem direitos autorais através de torrent (Destroy All Planets) do The Internet Archive. Como ele continha vários arquivos em diferentes containers de multimídia em bitrates diferentes Eu escolhi a versão de maior qualidade que era Destroy_All_Planets.mpeg que era 720x480 a 30 fps e um fluxo de vídeo MPEG2 com uma taxa de bits de vídeo variável de ~ 3000 kbps (máximo de 6000 kbps por mediainfo e um fluxo de áudio AC-3 amostrado a 48000 Hz com bitrate de 192 kbps. Tentei converter para todos os tipos de contêineres multimídia que pude encontrar. usando o comando avconv infile -c:a copy -c:v copy outfile A tentativa AVI parece ter sido descompactada e foi claramente recodificada (ou descompactada), pois houve um aumento substancial no tamanho e um ajuste para 90fps com uma taxa de bits de 15,9 Mbps. outros contêineres não aceitaram a entrada de dados e podem ser vistos nos resultados com um f 0 ile tamanho. De acordo com os resultados deste teste, os contêineres MP4 e MOV parecem ser os mais eficientes (empatados em 1º lugar) com o contêiner Matroska em um sólido 3º lugar. Todos os outros contêineres multimídia testados resultaram em um aumento real no tamanho do material de origem.

11036656 Destroy_All_Planets.avi

 2287920 Destroy_All_Planets.ts

 2140308 Destroy_All_Planets.asf

 2140308 Destroy_All_Planets.wmv

 2106300 Destroy_All_Planets.mpeg

 2103940 Destroy_All_Planets.mkv

 2103404 Destroy_All_Planets.mov

 2103404 Destroy_All_Planets.mp4

       0 Destroy_All_Planets.3g2

       0 Destroy_All_Planets.3gp

       0 Destroy_All_Planets.flv

       0 Destroy_All_Planets.mxf

       0 Destroy_All_Planets.ogg

       0 Destroy_All_Planets.webm

No interesse da divulgação completa, deve-se notar que, neste caso, a conversão para mkv também falhou e recebi o erro Can't write packet with unknown timestamp Resolvi esse problema antes em outros arquivos, adicionando -fflags +genpts antes do arquivo de entrada, que é o solução delineada aqui. Neste exemplo, resultou em um arquivo jogável que nenhum jogador que eu tentei foi capaz de determinar a duração de. A conversão do mp4 anteriormente convertido em mkv funcionou bem nesta instância. Outro teste resultou nos seguintes resultados:

3129112 disorder_in_the_court.avi
 623632 disorder_in_the_court.ts
 583424 disorder_in_the_court.mpeg
 575288 disorder_in_the_court.mov
 575288 disorder_in_the_court.mp4
 575224 disorder_in_the_court.mkv

O teste anterior incluiu um mpeg com legendas, este não tinha legendas embutidas e o contêiner Matroska saiu com o menor tamanho de arquivo. Ele também tem a vantagem de ser o mais flexível dos contêineres testados, permitindo virtualmente qualquer formato de vídeo, áudio ou legenda disponível atualmente disponível.

    
por Elder Geek 17.11.2015 / 21:33