Мне нужно разделить 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) индексируется, разделение будет точным.
При обрезке на этапе вывода все предыдущие кадры обрабатываются, а затем отбрасываются во время обработки выходного файла. Таким образом, чем глубже находится нужный контент, тем больше времени требуется, чтобы добраться до него.