Почему разделение видео FFmpeg на 595-600 секунд происходит медленнее, чем на 0-5 секунд?

Почему разделение видео FFmpeg на 595-600 секунд происходит медленнее, чем на 0-5 секунд?

Мне нужно разделить 4K 10-минутное видео на 120 маленьких видеофайлов, каждый из которых содержит 5 секунд продолжительности. Я использую ffmpegдля разделения видео. Разделение занимает очень много времени, и скорость преобразования становится медленнее по мере увеличения продолжительности разделения. Для тестового использования я использовал команды ниже cmdи a)это было намного быстрее, чем b):

a) ffmpeg -i video.mp4 -ss 0 -to 5 split.mp4

b) ffmpeg -i video.mp4 -ss 595 -to 600 split2.mp4

При выполнении команд возникла задержка, а затем началось разделение, и задержка b)была намного больше, чем a). Пожалуйста, помогите мне или посоветуйте, как предотвратить эту задержку и ускорить конвертацию. Пожалуйста, не давайте мне никаких методов, которые приведут к исчезновению определенного количества видеоматериалов. Спасибо

ДОПОЛНИТЕЛЬНЫЙ ВОПРОС:

Есть ли способ ускорить ffmpegпреобразование качества видео, преобразование fps и разделение видео через характеристики компьютера? Что мне нужно, чтобы у меня была более мощная видеокарта, чтобы ускорить преобразование ffmpeg или какие-либо другие части компьютера?

решение1

Вам необходимо применить обрезку стадии демультиплексора, т.е.

ffmpeg -ss 595 -to 600 -i video.mp4 split2.mp4

Поскольку вы выполняете транскодирование и ваш входной формат (MP4) индексируется, разделение будет точным.

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

Связанный контент