Converta vídeos antigos para tamanhos menores

5

Eu tenho alguns vídeos de alguns anos atrás, com vários formatos, como avi, mpg, wmv, rm, rmvb, .... Seus tamanhos são enormes (mais de 500 MB e, às vezes, > 1 GB).

  1. Dado que pode haver algum avanço na compactação de dados, eu gostaria de saber quais formatos de arquivo e métodos de compactação são recomendado estes dias, pelo padrão que sem perder óbvio dados, enquanto atinge grande redução de tamanho.
  2. Como posso realizar a conversão de formato de arquivo e compactação de dados em Ubuntu 12.04? Linha de comando e formas de lote seria o mais conveniente, embora as formas GUI também sejam apreciadas.

Obrigado e cumprimentos!

    
por Tim 03.06.2012 / 01:20

2 respostas

5

Ubuntu e seu pacote FFmpeg

Bem, você se deparou com o problema que o FFmpeg não envia mais com o Ubuntu, mas você tentou instalá-lo através de apt-get .

This program is not developed anymore and is only provided for compatibility

Isto é simplesmente uma mentira. O FFmpeg é desenvolvido ativamente, mas os pacotes do Ubuntu estão desatualizados e eles mudaram para libav . Veja aqui o relatório de erros que discute o texto da mensagem.

Instalando a partir do código-fonte ou usando uma compilação estática

Se você não estiver compilando a si mesmo, pode simplesmente pegar uma versão estática da página de download .

Se você quiser se manter atualizado e configurar a ferramenta por conta própria, precisará compilá-la a partir do código-fonte . Verifique o guia de compilação do Ubuntu para um tutorial detalhado sobre a instalação. Seguindo estas etapas, você terminará com a versão mais recente do FFmpeg (a ferramenta de codificação) e do x264 (um determinado codificador de vídeo).

O que preciso para reduzir o tamanho?

Você pergunta ...

which file formats and compression methods are recommended these days

Na verdade, existe apenas um método de compactação ("codec") que todos recomendariam. É o padrão H.264 ou MPEG-4 Part 10 / AVC, que especifica um método de compactação para vídeo de baixa largura de banda. O H.264 também alcança ótimos resultados para larguras de banda mais altas. Um codificador muito comum é chamado "x264", o que instalamos acima.

Ele substitui o MPEG-4 Part 2, o padrão de codec de vídeo que tornou os codificadores "DivX" e "XviD" famosos. Eles também são bons, mas precisam de mais largura de banda para preservar a mesma qualidade.

O formato de arquivo real não importa. O vídeo H.264 pode residir em praticamente qualquer contêiner, de AVI a MP4, MOV e MKV. É importante saber a diferença entre um codec de vídeo per se e o container que simplesmente o encapsula. Veja aqui para mais: O que é um codec (por exemplo, DivX?) e como ele difere de um formato de arquivo (por exemplo, MPG)? Eu escolheria MP4 ou MKV como contêiner de saída hoje em dia. O AVI é muito antigo e não permite que você faça muito com o vídeo, e para os contêineres acima mencionados há melhores ferramentas para a remultiplexação disponível.

Quando você deseja reduzir o tamanho, deseja reduzir a taxa de bits média do vídeo. No caso mais simples, isso significaria forçar o codificador a, digamos, uma taxa de bits constante de 1,5 MBit / s. Isso funciona, mas tem algumas desvantagens. Em vez de codificar com uma taxa de bits fixa, deixe o codificador escolher quanto deseja gastar. Isso resulta em uma taxa de bits média, adaptada ao conteúdo do vídeo. Faça isso usando a opção Fator de taxa constante .

Para x264, isso significa definir um valor entre 18 e 26 para este CRF. O padrão é 23 e valores mais altos dão pior qualidade e vice-versa. Você não precisa saber exatamente o que faz, mas se estiver interessado, consulte este Guia do CRF .

Como você realiza a conversão?

Depois de ter o FFmpeg em funcionamento, você pode simplesmente converter um vídeo para x264 / MP4 com áudio AAC a uma taxa de bits fixa de 192 kBit / s:

ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac -strict experimental -b:a 192k output.mp4

É isso. Você pode variar o tamanho e a qualidade da saída ajustando o valor do CRF. Lower significa melhor qualidade e tamanho maior. Maior significa pior qualidade e menor tamanho. Como eu disse, valores sãos estão entre 18 e 26, talvez mais. Se você realmente quiser reduzir o tamanho do vídeo de entrada, escolha o valor de CRF que ainda oferece qualidade de vídeo aceitável com uma redução do tamanho do arquivo.

Para testar a aparência do seu vídeo, você pode pressionar Q a qualquer momento durante a conversão. Ele deixará um arquivo truncado que ainda deve ser jogável. Você também pode fornecer a opção -t <seconds> , em que <seconds> especifica por quanto tempo você deseja codificar (por exemplo, apenas os primeiros 30 segundos).

Para mais configurações, consulte o Guia de codificação H.264 .

Processamento em lote

Se você tiver um lote de arquivos AVI que deseja converter, poderá fazer algo assim, que recursivamente transcodifica todos os arquivos, por exemplo, no Bash:

while IFS= read -d '' -r file; do 
  ffmpeg -i "$file" -c:v libx264 -crf 23 -c:a aac -strict experimental -b:a 192k ${file%%.avi}-converted.mp4 
done < <(find . -iname "*.avi" -print0)

Você pode alterar o sufixo .avi neste comando e permitir que ele seja executado novamente para outros arquivos.

Observe que a codificação de vídeo é uma tarefa demorada e demora um pouco para encontrar as configurações perfeitas para seus arquivos de origem.

    
por 03.06.2012 / 10:54
3

Outra ferramenta versátil (e com uma GUI muito prática) é o Avidemux .

Veja algumas informações detalhadas sobre como o processamento em lote funciona: Avidemux DocuWiki - Processamento em lote

    
por 16.06.2012 / 17:02