[phpBB Debug] PHP Warning: in file [ROOT]/ext/sniper/mobiledevice/core/functions.php on line 846: Undefined variable $status
[phpBB Debug] PHP Warning: in file [ROOT]/ext/sniper/mobiledevice/core/functions.php on line 846: Undefined variable $status
[phpBB Debug] PHP Warning: in file [ROOT]/ext/sniper/mobiledevice/core/functions.php on line 846: Undefined variable $status
DOORnet • Как сжимается видео для форума
Страница 1 из 1

Как сжимается видео для форума

Добавлено: 03 апр 2025, 02:04
Stock
Важный, сразу, вопрос: зачем ?
Современные мобильные телефоны при видеосъемке на 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
Для 4K и выше (горизонт):

Код: Выделить всё

ffmpeg -i input.mp4 -vf "scale=w=1920:h=1080" output.mp4
Для конечного Full HD:

Код: Выделить всё

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -crf 27 output.mp4
Из другого видеокодека и контейнера в современный H264 + Constant Rate Factor:

Код: Выделить всё

ffmpeg -i input.avi -c:v libx264 -crf 27 output.mp4
Перемещение видеоиндекса (moov) в начало файла:

Код: Выделить всё

qt-faststart input.mp4 output.mp4

Код: Выделить всё

-movflags +faststart
Удаление оригинала:

Код: Выделить всё

rm -f input.mp4
перекодирование видео.png