Как сжимается видео для форума
Добавлено: 03 апр 2025, 02:04
Важный, сразу, вопрос: зачем ?
Современные мобильные телефоны при видеосъемке на Android, iOS и прочие, сильно раздувают размер файлов, вкладывая туда максимальное количество информации в потоке с камеры , зачастую избыточной и ненужной глазу. Причины понятны. Но для форума это лишнее по многим позициям, таким как, увеличение общего объема видеоконтента, который за собой тянет необходимость серьезного канала связи для просмотра такого высокого битрейта, что не всегда нужно и доступно, в том числе для мобильных устройств с сетями 4G+ и возможным ограничением трафика. Поэтому целесобразно их пережимать в постоянный битрейт (Constant Rate Factor) с минимальной потерей качества. На выходе сжатие по объему в 5-40 (4K > FHD) раза и добавляется watermark (по желанию). Оригинал видео удаляется.
Как это происходит на сервере:
OS linux
на скрине терминальный мультиплексор tmux c 'ffmpeg' на 24-ех ядрах сpu Xeon
Для 4K и выше (вертикалка):
Для 4K и выше (горизонт):
Для конечного Full HD:
Из другого видеокодека и контейнера в современный H264 + Constant Rate Factor:
Перемещение видеоиндекса (moov) в начало файла:
Удаление оригинала:
Современные мобильные телефоны при видеосъемке на Android, iOS и прочие, сильно раздувают размер файлов, вкладывая туда максимальное количество информации в потоке с камеры , зачастую избыточной и ненужной глазу. Причины понятны. Но для форума это лишнее по многим позициям, таким как, увеличение общего объема видеоконтента, который за собой тянет необходимость серьезного канала связи для просмотра такого высокого битрейта, что не всегда нужно и доступно, в том числе для мобильных устройств с сетями 4G+ и возможным ограничением трафика. Поэтому целесобразно их пережимать в постоянный битрейт (Constant Rate Factor) с минимальной потерей качества. На выходе сжатие по объему в 5-40 (4K > FHD) раза и добавляется watermark (по желанию). Оригинал видео удаляется.
Как это происходит на сервере:
OS linux
на скрине терминальный мультиплексор tmux c 'ffmpeg' на 24-ех ядрах сpu Xeon
Для 4K и выше (вертикалка):
Код: Выделить всё
ffmpeg -i input.mp4 -vf "scale=w=1080:h=1920" output.mp4
Код: Выделить всё
ffmpeg -i input.mp4 -vf "scale=w=1920:h=1080" output.mp4
Код: Выделить всё
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -crf 27 output.mp4
Код: Выделить всё
ffmpeg -i input.avi -c:v libx264 -crf 27 output.mp4
Код: Выделить всё
qt-faststart input.mp4 output.mp4
Код: Выделить всё
-movflags +faststart
Код: Выделить всё
rm -f input.mp4