Что делает этот калькулятор
Калькулятор размера файла GIF / видеокадра прикидывает, сколько будет «весить» анимированный GIF или короткий видеоролик, исходя из размеров в пикселях, глубины цвета, количества кадров и коэффициента сжатия. Он пригодится дизайнерам, веб-разработчикам и всем, кому нужно уложить медиафайл в лимит загрузки или в бюджет «веса» страницы ещё до экспорта.
Как пользоваться
Укажите ширину и высоту в пикселях, выберите число бит на пиксель (8 для обычного GIF на 256 цветов, 24 для true color, 32 с альфа-каналом) и общее количество кадров. Наконец, задайте коэффициент сжатия от 0 до 1: значение 1 соответствует полностью несжатым «сырым» данным, а 0,5 означает, что кодировщик ужимает файл примерно вдвое от исходного размера. В результате вы увидите ориентировочный размер в мегабайтах, килобайтах, байтах, а также на один кадр.
Как устроена формула
Каждому пикселю нужно бит на пиксель бит. Умножаем это на число пикселей (ширина × высота) и на количество кадров — получаем общее число бит, затем делим на 8, чтобы перевести биты в байты. Реальные файлы GIF и видео используют сжатие, поэтому мы умножаем результат на коэффициент сжатия c:
$$\text{размер\_в\_байтах} = \frac{\text{ширина} \times \text{высота} \times \text{bpp} \times \text{кадры}}{8} \times c$$
Разбор примера
Анимация 320×240 с 8-битным цветом, 30 кадрами и коэффициентом сжатия 0,5:
$$320 \times 240 \times 8 \times 30 \div 8 \times 0{,}5 = 1\,152\,000 \text{ байт} \approx 1\,125 \text{ КБ} \approx 1{,}1 \text{ МБ}$$
Частые вопросы
Почему мой реальный GIF меньше? В GIF применяется сжатие LZW и хранение только различий между кадрами; чтобы это учесть, понизьте коэффициент сжатия (например, до 0,2–0,4).
Сколько бит на пиксель брать для GIF? Обычные GIF ограничены 256 цветами, поэтому естественный выбор — 8 бит на пиксель.
Насколько это точно? Это лишь оценка. Реальный размер зависит от кодека, повторяемости данных между кадрами и самого содержимого изображения.