Divida un video con una precisión de milisegundos con FFmpeg

Divida un video con una precisión de milisegundos con FFmpeg

Estoy intentando extraer una parte de un vídeo con valores de tiempo bastante precisos. Intenté seguir métodos que no tuvieron éxito.

ffmpeg -y -i <input_mp4> -ss 0.570 -f lavfi -i aevalsrc=0 -t 6.690000 -strict -2 -c:v libx264 -preset faster -crf 28 -acodec aac -map_metadata -1 -movflags faststart <output_mp4>
ffmpeg -y -ss 0 -i <input_mp4> -ss 0.570 -f lavfi -i aevalsrc=0 -t 6.690000 -strict -2 -c:v libx264 -preset faster -crf 28 -acodec aac -map_metadata -1 -movflags faststart <output_mp4>
ffmpeg -y -ss 0 -accurate_seek -i <input_mp4> -ss 0.570 -f lavfi -i aevalsrc=0 -t 6.690000 -strict -2 -c:v libx264 -preset faster -crf 28 -acodec aac -map_metadata -1 -movflags faststart <output_mp4>

En todos esos comandos quería extraer un video con una duración de 6,690000 segundos, pero el video resultante real tenía una duración de 6,712000 segundos. Estees la FFmpegsalida sin cortar.

El siguiente es el FFprobecomando que utilicé para obtener la duración del vídeo de salida.

ffprobe -i <extracted_video> -show_entries format=duration -v quiet -of csv="p=0"

me estaba refiriendo abuscandodocumento para FFmpeg. ¿Hay algún problema con los comandos anteriores o existe alguna forma alternativa de extraer el video con la duración exacta?

  • Velocidad de fotogramas de vídeo de entrada: 60 fps
  • Velocidad de bits de vídeo de entrada: 25380 kbps

Respuesta1

información relacionada