Понадобилось сохранить 24 часовую видеозапись с видеорегистратора. Он записал её одним файлом, размер которого получился 40Гб. Естественно, что это неудобно. Да и многие плееры просто не в состоянии нормально воспроизводить такие файлы.
Разрезать файл на куски любой продолжительности в Linux можно всего одной командой:
ffmpeg -i исходник.avi -acodec copy -f segment -segment_time 3600 -vcodec copy -reset_timestamps 1 -map 0 результат%d.avi
Здесь исходник.avi
и результат%d.avi
— исходное видео, и итоговые фрагменты видео, которые хотим получить. Вместо %d
автоматически подставятся порядковые номера фрагментов. Формат не обязательно avi
. Подставляйте формат своего исходника.
3600
— это один час в секундах. Поставляйте необходимую вам продолжительность фрагментов.
Разрезка видео происходит без пережатия, следовательно без потери качества и максимально быстро. Затраченное время напрямую зависит от скорости работы вашего диска. Для увеличения скорости имеет смысл исходник читать с одного физического диска, а результат записывать на другой.