O comportamento de -ss
muda dependendo se é usado como uma opção de entrada ou saída e é geralmente mais lento, mas pode ser mais preciso quando usado como uma opção de saída. Veja a resposta para o ffmpeg converte o vídeo a partir de um período de tempo especificado para mais detalhes e exemplos.
Para alterar a qualidade de saída para source.mp4
, use a opção -crf
com um valor entre 18 e 28 (23 é o padrão). Veja a seção do CRF do FFmpeg e x264 Encoding Guide para exemplos.
Seu comando de aparagem pode ser simplificado:
ffmpeg -ss 577.92 -i source.mp4 -ss 0 -t 11.98 -c copy -map 0 clip1.mp4
Substitui -codec:v copy -codec:a copy
por -c copy -map 0
. Isso copiará todos os fluxos em vez de apenas os primeiros fluxos de vídeo e áudio, embora a entrada tenha apenas dois fluxos devido ao seu comando anterior. Desde que você não pode escalar sem re-codificação, portanto, sendo mutuamente exclusivo com -codec:v copy
, e desde que sua entrada já é dimensionada para o tamanho do conjunto eu removi as opções de filtro.
Se ainda não for preciso, tente:
ffmpeg -i source.mp4 -ss 577.92 -t 11.98 -c copy -map 0 clip1.mp4
Será mais lento, mas provavelmente mais preciso. Veja os links na resposta no primeiro link que forneci para uma descrição das diferenças desses dois exemplos.
Por último, você deve executar source.mp4
a qt-faststart
(localizado no diretório de ferramentas na fonte ffmpeg) ou usar a opção -movflags faststart
. Isso realocará alguns dados no início do arquivo para que ele possa iniciar a reprodução antes que seja completamente baixado.