ffmpeg: как избежать «start: 0.033333» при извлечении аудио из mp4

При извлечении аудио и видео отдельно из mp4 и повторном объединении

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

три mp4-файла имеют разную длину в зависимости от 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, ...

при объединении аудио и видео с-shortest

ffmpeg -i output-audio.mp4 -i output-video.mp4 test-combine.mp4

длина

ffprobe output-combine.mp4
Duration: 00:00:10.04, start: 0.033333, ...

Как можно избежать начального смещения (0,033333), чтобы все части имели одинаковую длину, а исходную часть можно было восстановить, объединив аудио и видео?

Поделитесь полным журналомffmpeg -i input.mp4

Ответы (1)

Исправление: вместо

ffmpeg -i output-audio.mp4 -i output-video.mp4 test-combine.mp4

так должно быть

ffmpeg -i output-audio.mp4 -i output-video.mp4 -shortest output-combine.mp4

Тип ответа:

ffmpeg -i output-video.mp4 -itsoffset 0.033333 -t 9.966666 -i output-audio.mp4  output-combine.mp4

кажется, выполняет свою работу, хотя результат немного отличается по размеру файла от прямого извлечения (прямое больше, чем комбинированное), выполненное с помощью

ffmpeg -accurate_seek -ss 30 -t 10 -i input.mp4 output-direct.mp4