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 ffmpeg
estiver 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