Когда загружал видео для предыдущего поста, телеграм написал, что видео будет оптимизировано. Это что-то новое, раньше я такого не видел.

В результате из 15 мегабайт телеграм сжал видео в 19😅

(хотя если скачать, то оно весит 15 как и должно)



Но почему оно изначально весило всего 15MB? Я часто вижу в других каналах короткие видео на сотни мегабайт. Но вы могли заметить, что у меня видео весят на порядок меньше. Например, видео из предыдущего поста тоже изначально занимало 461MB, поэтому рассказываю.



Видео я сжимаю через FFmpeg. Это опенсорсная библиотека, которая позволяет конвертировать, монтировать и даже накладывать фильтры на видео, звук и картинки. FFmpeg используется даже ровером Perseverance на Марсе. Основная сложность в том, что у FFmpeg нет графического интерфейса, и надо пользоваться командной строкой или вызывать его из кода. Но это все-таки канал про программирование, поэтому должно быть не так страшно.



Для телеги я обычно использую команду ffmpeg -i input.mp4 -vcodec libx265 output.mp4

Где input - это название изначального видео, которое мы хотим сжать, а output - название нового файла. Выполнить эту команду нужно в командной строке, в папке, где лежит видео (с установленным на комп FFmpeg). Если нужно сжать сильнее, то обычно использую ffmpeg -i input.mp4 -vcodec libx265 -crf 32 -s 720x1280 output.mp4

Где 720x1280 - разрешение видео (оно обычно изначально больше, поэтому уменьшаю), а -crf 32 - это степень сжатия. Чем больше число, тем хуже качество, но меньше вес.



Кстати в последние пару лет пользоваться FFmpeg стало гораздо проще, потому что нужную команду можно просто спросить у ChatGPT, он их отлично знает