В Linux есть отличная консольная утилита ffmpeg, которая позволяет преобразовывать файлы из одного формата видео в другие.
В простейшем случае для одного файла команда выглядит так:
1 |
ffmpeg -i input.avi -vcodec libx264 -crf 24 "output.avi" |
Ключом -crf 24 можно регулировать степень сжатия. Чем меньше число, тем лучше качество, но больше размер.
Можно также уменьшить разрешение видео, что тоже приведёт к уменьшению его размера. Например, -filter:v scale=720:-1 уменьшит разрешение до 720 точек по горизонтали, количество точек по вертикали будет вычислено на основе текущего отношения ширины к высоте. Пример:
1 |
ffmpeg -i input.avi -vcodec libx264 -crf 24 -filter:v scale=720:-1 "output.avi" |
Однако если у вас куча снятого видео, то для каждого из них запускать конвертацию будет довольно муторно, поэтому для сжатия с ffmpeg всего каталога с видео лучше использовать команду:
1 |
mkdir -p out;for i in *.AVI; do ffmpeg -i "$i" -vcodec libx264 -crf 24 "out/${i%.*}.avi"; done |
Запустите её с терминала, и в каталоге out появятся пережатые версии видео, причем с достаточно неплохим качеством.