Aqui estão os métodos adequados:
Cópia de fluxo
Se você quiser simplesmente re-mux em vez de recodificar, e se os fluxos de entrada forem compatíveis com MP4, você pode apenas cópia de fluxo . É rápido e preservará a qualidade:
mkdir out
for f in *.mov; do ffmpeg -i "$f" -c copy -movflags +faststart out/"${f%.mov}.mp4"; done
Re-codificar
Se você deseja recodificar:
mkdir out
for f in *.mov; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium -c:a aac -strict experimental -b:a 192k -movflags +faststart out/"${f%.mov}.mp4"; done
Ajuste -crf
e -preset
de acordo com suas necessidades, conforme descrito em Wiki FFmpeg: codificação de vídeo H.264 Guia . Ou apenas confie nos padrões se parecer aceitável ( -crf 23 -preset medium
será usado se você omitir essas opções).
Para informações sobre áudio, consulte FFmpeg Wiki: Guia de codificação de áudio da AAC .
Stream copia um fluxo, recodifica outro
Claro que você pode fazer as duas coisas se preferir:
mkdir out
for f in *.mov; do ffmpeg -i "$f" -c:v libx264 -c:a copy -movflags +faststart out/"${f%.mov}.mp4"; done
Obtendo ffmpeg
Como você usou a tag ffmpeg
, presumo que seja o que você deseja usar. O Ubuntu 14.04 não fornece ffmpeg
, mas mesmo se o fizesse eu recomendaria usar uma compilação recente, já que o desenvolvimento é muito ativo. Você tem 4 opções principais, conforme descrito em FFmpeg no Ubuntu Trusty (a compilação estática ou o PPA é mais fácil).