Acabei usando o ffmpeg na linha de comando para fazer o recorte necessário.
Depois de fazer algumas pesquisas neste site e tentar alguns comandos mais simples, eu criei o seguinte comando:
ffmpeg -ss 00:01:00 -i input.mp4 -ss 00:02:00 -c copy -to 00:05:10 \
output.mp4
Pelo que entendi, com este comando o ffmpeg basicamente copia uma parte do clipe da entrada.mp4 para output.mp4 (sem re-codificação). O ffmpeg procura rapidamente a marca de 1 min (o primeiro -ss 00:01:00
), em seguida, começa a procurar quadros-chave e produz um clipe de 3 min para o clipe (fornecido pela segunda opção -ss
) para 6 min & 10 segundos no clipe (especificado por -to 00:05:10
). Então, isso resulta em um clipe de 3 min 10 segundos (5:10 - 2:00).
OBSERVAÇÃO: os tempos dados pela segunda opção -ss
e a opção -to
são relativos ao tempo determinado pela primeira opção -ss
.
Para saber mais sobre essas e outras opções, veja as respostas excelentes para a pergunta Usando o ffmpeg para cortar o vídeo .
Este método foi surpreendentemente rápido (10-15 segundos), mas durante os primeiros 2-3 segundos do clipe o som ficaria bom, mas sem nenhum vídeo correspondente. Tanto a qualidade do som quanto da vídeo pareciam indistinguíveis do original após esses 2-3 segundos iniciais.
A eliminação da parte -c copy
resolveu esse problema também. Isso significa que o vídeo será codificado novamente - o que leva mais tempo (meu MacBook Pro de 13 polegadas do final de 2011 levou 80-90% do tempo de duração do clipe), mas a qualidade de áudio e vídeo era excelente e o tamanho do arquivo era menor que o original (calculado em termos de MB / min de reprodução)!
Então o comando final que eu escolhi foi:
ffmpeg -ss 00:01:00 -i input.mp4 -ss 00:02:00 -to 00:05:10 -strict -2 \
output.mp4
A parte -strict -2
foi adicionada ao comando com base na sugestão do ffmpeg, já que o suporte para a codificação X.264 ainda é experimental,
Para usar o ffmpeg eu baixei o ffmpeg pré-compilado do ffmpegmac.net , coloque-o em um diretório que eu já sabia estar no meu PATH
e estava pronto para ir!