Al extraer audio y video por separado de un mp4 y volver a combinar
ffmpeg -accurate_seek -ss 30 -t 10 -i input.mp4 -vn output-audio.mp4
ffmpeg -accurate_seek -ss 30 -t 10 -i input.mp4 -an output-video.mp4
ffmpeg -i output-audio.mp4 -i output-video.mp4 output-combine.mp4
los tres mp4-s tienen diferente longitud según ffprobe:
ffprobe output-video.mp4
Duration: 00:00:10.00, start: 0.000000, ...
ffprobe output-audio.mp4
Duration: 00:00:10.03, start: 0.033333, ...
ffprobe output-combine.mp4
Duration: 00:00:10.08, start: 0.033333, ...
al combinar audio y video con-shortest
ffmpeg -i output-audio.mp4 -i output-video.mp4 test-combine.mp4
la longitud es
ffprobe output-combine.mp4
Duration: 00:00:10.04, start: 0.033333, ...
¿Cómo se puede evitar el desplazamiento inicial (0,033333) para que todas las partes tengan la misma longitud y se pueda restaurar la parte original combinando audio y video?
Corrección: en lugar de
ffmpeg -i output-audio.mp4 -i output-video.mp4 test-combine.mp4
debería ser
ffmpeg -i output-audio.mp4 -i output-video.mp4 -shortest output-combine.mp4
Tipo de respuesta:
ffmpeg -i output-video.mp4 -itsoffset 0.033333 -t 9.966666 -i output-audio.mp4 output-combine.mp4
parece hacer el trabajo, aunque el resultado difiere ligeramente en el tamaño del archivo de una extracción directa (directa es más grande que combinar) realizada con
ffmpeg -accurate_seek -ss 30 -t 10 -i input.mp4 output-direct.mp4
gian
ffmpeg -i input.mp4