Cortar videos con ffmpeg: duración no precisa

Cortar videos con ffmpeg: duración no precisa

Estaba intentando cortar un segmento de 5 segundos más largo de un video test.wmv (de 10 minutos de duración) a partir de la posición 00:03:00. Entonces utilicé el siguiente comando ffmpeg.

ffmpeg -ss 00:03:00 -t 00:00:05 -i test.wmv -acodec libmp3lame -vcodec copy 1.wmv

Pero me da un wmv de salida que es 11 segundos más largo, que es el doble de la duración especificada.

¿Qué estoy haciendo mal? ¿Alguna idea?

Gracias

Respuesta1

Suele ocurrir cuando se utiliza -ssy -tjunto con -c copyo -codec copy.

No utilice copyy utilice otros códecs o simplemente no especifique -csus -codecopciones. y esto no sucederá.

Por ejemplo:ffmpeg -ss 00:03:00 -t 00:00:05 -i test.wmv -acodec libmp3lame -vcodec libx264 1.mp4

Respuesta2

Coloque los parámetros de inicio y fin después de la entrada. Eso debería hacerlo más preciso.

ffmpeg -i test.wmv -ss 00:03:00 -to 00:03:05 -c copy 1.wmv

La -topción significa llegar hasta esta duración. Solía -to​​. Entonces en tu caso debería ser

-to 00:03:05

Además, no cambié el códec de audio del original. Eso debería funcionar.

Respuesta3

He utilizado la guía @Rajib para construir una consulta que funciona perfectamente para recortar un video con una duración precisa.

-i input_path -ss 00:00:00 -to 00:00:07 -c copy -copyts output_path

Los parámetros adicionales son para mantener la calidad del video de salida.

información relacionada