
Eu estava tentando cortar um segmento de 5 segundos a mais de um vídeo test.wmv (10 minutos de duração) começando na posição 00:03:00. Então usei o seguinte comando ffmpeg.
ffmpeg -ss 00:03:00 -t 00:00:05 -i test.wmv -acodec libmp3lame -vcodec copy 1.wmv
Mas isso me dá uma saída wmv com 11 segundos a mais, o dobro da duração especificada.
O que estou fazendo de errado? Qualquer ideia?
Obrigado
Responder1
Muitas vezes acontece quando se usa o -ss
e -t
junto com -c copy
ou -codec copy
.
Não use copy
e use outros codecs ou simplesmente não especifique opções -c
. -codec
e isso não vai acontecer.
por exemplo:ffmpeg -ss 00:03:00 -t 00:00:05 -i test.wmv -acodec libmp3lame -vcodec libx264 1.mp4
Responder2
Coloque os parâmetros inicial e final após a entrada. Isso deve torná-lo mais preciso.
ffmpeg -i test.wmv -ss 00:03:00 -to 00:03:05 -c copy 1.wmv
A -t
opção significa ir até esse período. Eu usei -to
. Então no seu caso deveria ser
-to 00:03:05
Além disso, não alterei o codec de áudio do original. Isso deve funcionar.
Responder3
Usei o guia @Rajib para construir uma consulta que funciona perfeitamente ao cortar um vídeo com duração/duração precisa
-i input_path -ss 00:00:00 -to 00:00:07 -c copy -copyts output_path
Os parâmetros adicionais servem para manter a qualidade do vídeo de saída.