A maneira mais rápida de converter vídeos (lote ou único)?


26

Sei que há muitas perguntas sobre codificadores de vídeo por aqui, mas minha pergunta é mais sobre fluxo de trabalho / eficiência.

Para o meu trabalho diário, preciso converter vídeos, freqüentemente, de vários formatos aleatórios (geralmente grandes AVI , M4V e outros) e convertê-los e compactá-los em arquivos eficientes que podemos usar na Internet para fazer upload. Os formatos que devo produzir são:

Preciso criar modelos comuns para alguns casos de uso (converter para a mesma fonte, 1080p ou 720p ) e poder processá-los rapidamente e em fila.

Alguma idéia de como melhor executar esse processo no Ubuntu?


Eu sei que existe o Avanti no Windows e acho que o mais próximo que você pode chegar no Linux é a linha de comando avconv ou um front-end como o WinFF ou o ConvertMe ... talvez como último recurso, você possa tentar o Avanti no Wine.
Richard

Respostas:


52

Se você preferir a linha de comando, pode usar ffmpeg(ou handbrake-cli).

MP4

Supondo que você esteja usando uma versão recente de ffmpeg:

ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
  • -crf: Qualidade. O intervalo é logarítmico de 0 (sem perdas) a 51 (pior qualidade). O padrão é 23. O intervalo sadio subjetivo é de aproximadamente 18 a 28 anos. Use o valor mais alto que ainda lhe oferece uma qualidade aceitável. Se você estiver re-codificando entradas impraticamente grandes para enviar ao YouTube ou similar, tente um valor de 17 ou 18, pois esses serviços de vídeo serão recodificados de qualquer maneira.

  • -preset: Velocidade de codificação. Uma predefinição mais lenta fornece melhor compactação (qualidade por tamanho de arquivo), mas é mais lenta. Use o mais devagar que você tiver paciência: ultra-rápido, super-rápido, muito rápido, mais rápido, rápido, médio (o padrão), lento, mais lento, muito lento.

  • -movflags +faststart: Permite que o vídeo seja reproduzido antes de ser baixado completamente no caso da visualização progressiva do download. Útil se você estiver hospedando o vídeo, caso contrário, será supérfluo ao fazer o upload para um serviço de vídeo como o YouTube.

  • -vf scale=-2:720,format=yuv420p: Um gráfico de filtro usando filtros de escala e formato de vídeo. Dimensione para 720 pixels de altura e escolha automaticamente a largura que preservará o aspecto e verifique se o formato do pixel é compatível com players burros.

  • -b:a 128k: Taxa de bits do áudio. Se o seu ffmpegestiver desatualizado, você precisará adicioná -strict experimental-lo -c:a aac.

MOV

Como seus arquivos MOV e MP4 provavelmente contêm os mesmos formatos de vídeo e áudio, você pode codificar o MP4 e fazer o MOV realocando novamente (com o modo de cópia de fluxo ) ao invés de recodificar:

ffmpeg -i input.mp4 -codec copy output.mov

WMV

O FFmpeg suporta apenas WMV 7 e 8. Não conheço um codificador de código aberto para a versão 9.

$ ffmpeg -encoders | grep -i windows
[...]
 V..... = Video
 A..... = Audio
 ------
 V..... wmv1                 Windows Media Video 7
 V..... wmv2                 Windows Media Video 8
 A..... wmav1                Windows Media Audio 1
 A..... wmav2                Windows Media Audio 2

Como não estou familiarizado com esses codificadores, só posso dar um exemplo não testado:

ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv

Obtendo o ffmpeg

Você pode fazer o download de uma compilação Linux do ffmpeg ou seguir um guia passo a passo da compilação do ffmpeg para personalizar sua compilação.

Usando um bash "loop for" para executar uma codificação em lote

Para codificar todos os vídeos em um diretório:

$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
  -c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
  "encoded/${f%.avi}.mp4"; done

Veja também


5

Experimente o HandBrake .

O HandBrake é uma ferramenta para converter vídeo de praticamente qualquer formato para uma seleção de codecs modernos e amplamente suportados. Para instalar, basta pressionar Ctrl+ Alt+ Tno teclado para abrir o Terminal. Quando abrir, execute o (s) comando (s) abaixo:

sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.