Certifique-se de estar usando uma versão recente do ffmpeg fazendo o download de uma versão estática , por exemplo. Houve algumas mudanças importantes há algum tempo que afetam o funcionamento do corte de fluxo.
Veja a diferença importante entre os comandos que você executou:
-
Ao especificar
-c copy
, o ffmpeg cortará o vídeo sem modificar o fluxo de bits real. Em outras palavras, ele pegará os quadros como estão e copiá-los para o arquivo de saída. Em alguns casos (simplesmente, quando o horário de início não corresponde a um I-frame ), o ffmpeg precisa inclua mais quadros necessários para decodificar corretamente o primeiro quadro a ser exibido. Aqueles receberão um registro de data e hora negativo, portanto, eles não deverão ser exibidos. -
Quando você deixar de fora
-c copy
, o ffmpeg recodificará o vídeo com qualquer codificador (mpeg4
,libx264
, ...) é o padrão para o formato de saída escolhido (AVI ou MP4 in seu caso). Esses codificadores podem ter configurações de qualidade padrão ou taxa de bits que fazem a saída parecer ruim. Ao recodificar, você deve saber qual qualidade de alvo deseja definir.
Se o recorte com cópia de fluxo não funcionar para você e você precisar recodificar o vídeo, é melhor usar um codec de vídeo (H.264) e um contêiner (MP4) recentes e eficientes e copiar o vídeo. fluxo de áudio:
ffmpeg -ss 00:10:45 -i input.avi -c:v libx264 -crf 18 -to 00:11:45 -c:a copy output.mp4
Aqui, a opção CRF controla a qualidade da saída. Valores entre 18 e 28 são "normais", valores menores são melhores. A opção -ss
pode ser uma opção de entrada que torna tudo mais rápido.
Para mais informações, leia o Guia de Busca na Wiki do FFmpeg.