Как рассчитать расходы на сервер для видеоплатформы

23/9/2020
·
Обновлено
7.8.2026

Планируете разработать видео-программный продукт: видеоконференцию, вебинар, платформу телемедицины или онлайн-обучения. Сколько придётся платить в месяц, чтобы она работала?

Рассказываем, как примерно оценить стоимость инфраструктуры видеостриминговой платформы после запуска. Начнём с алгоритма, а закончим примерами. Если вы не технический специалист и не всё понятно в алгоритме — сможете посчитать по аналогии с примерами.

Сколько стоит месяц работы видео программы: алгоритм расчета

Затраты включают три части: трафик, хранение данных и работу сервера.

  • трафик — информация, которая проходит через наши серверы. В основном это аудио- и видеостримы
  • хранение данных — в нашем случае это хранение записей видеоконференций
  • сервер — компьютер, на котором хранится сам проект. Если пользователей много, одного сервера может не хватить, и тогда используют несколько.

Затраты на трафик

Начнём с затрат на трафик: при видеостриминге он обходится дороже, чем хранение данных и работа сервера.

Посчитаем, сколько трафика пройдёт через наш сервер за определённый промежуток времени.

Мы не учитываем входящий трафик, только исходящий. Причина в том, что большинство провайдеров либо дают безлимитный входящий трафик бесплатно, либо его стоимость настолько мала, что ею можно пренебречь.

Чтобы посчитать, сколько трафика израсходуется при стриминге видео, нужно знать, какого размера видео будет транслироваться. Будем считать, что файл объёмом 1 гигабайт использует 1 гигабайт трафика.

Можно воспользоваться таблицей ниже.

Как оценить затраты на сервер для видеоплатформы, image #1

Выберите разрешение. В правой колонке указано, сколько гигабайт займёт 1 час стриминга видео в этом разрешении. Левее — минимальная скорость интернета в килобитах. Эти цифры получены с помощью калькулятора. Если в таблице нет нужных значений, посмотрите их там.

Теперь, когда мы знаем, сколько гигабайт занимает час видео, нужно посчитать, сколько раз его скачивают с сервера.

Предположим, это стриминговый сервис, и пользователи смотрят видео на сайте. Тогда, если видео посмотрят 2 человека, трафик будет использован 2 раза: каждый из пользователей посмотрит видео один раз.

Для сервисов с одним стримером и 20 зрителями за час будет израсходован трафик, равный размеру 20 файлов: видео будет передано с сервера каждому из 20 зрителей.

В случае с видеочатом на 4 человека размер видео нужно умножить на 12. В чате участвуют 4 человека, и каждый получает по 3 видео от других собеседников с сервера.

Размер видео умножили на количество скачиваний с сервера — получили объём трафика за один час. Умножаем его на стоимость гигабайта трафика, которую устанавливает провайдер: AWS, DigitalOcean. Если серверы находятся у нас в собственности, расчёт ведётся по тарифу нашего интернет-провайдера.

Вуаля, получили примерную стоимость трафика. Но это ещё не всё: остаются расходы на хранение видео и аренду сервера.

Затраты на хранение данных

Если вы не сохраняете записи видеостримов, пропустите этот раздел.

Затраты на хранение данных, не связанных с видеозаписями, обычно настолько малы, что при оценке общей стоимости ими можно пренебречь. Мы арендуем сервер для размещения сайта. Дискового пространства в несколько десятков гигабайт, как правило, достаточно для большинства задач.

Но если данных больше нескольких десятков гигабайт, их хранят в отдельном хранилище. За него платят дополнительно.

Примеры:

  • Приложение с огромной аудиторией, как Инстаграмм. Им нужно дополнительное хранилище, хотя они не хранят записи видеозвонков — пользователи загружают много фото и видео, а их очень много.
  • Приложение для видеоконференций для местного банка с тремя филиалами хранит записи встреч. Дополнительное хранилище не требуется: объём одновременно хранимых записей не превышает доступную память сервера сайта.

Для начала посчитаем размер файлов, которые будут храниться на сервере. Алгоритм подсчёта размера одного видеофайла аналогичен расчётам выше, но не важно, сколько человек его просматривают. Важно только, сколько таких видео нужно хранить.

Примеры:

  • Если вы сохраняете запись видеоконференции с четырьмя участниками, понадобится место под четыре видеофайла — по одному на каждого.
    Можно объединить все видео в один файл и хранить его в оптимизированном формате. Тогда размер файлов на сервере уменьшится в 2 и более раз. Однако эту функцию нужно разработать, поэтому обсудите возможность с вашим разработчиком.
  • Если храним видео как YouTube, на каждое видео будет храниться один файл. Если есть функционал изменения качества видео в зависимости от скорости интернета пользователя, то будет храниться по одному файлу для каждого качества.

Теперь берем размер одного видео, умножаем на количество видео, которые будут храниться.

Полученную величину умножаем на стоимость хранения 1 ГБ данных на вашем сервере.

Если это ваш личный компьютер — можно просто посчитать стоимость HDD или SSD, которые нужно установить.

Осталось посчитать стоимость аренды или обслуживания самого сервера.

Затраты на сервер

Сервер — это место, где работает программа и хранятся данные пользователей. Для небольших проектов может хватить одного сервера, а при большом количестве пользователей используются несколько серверов.

Стоимость серверов сильно зависит от типа проекта и числа пользователей, но для примера можно использовать советы ниже.

На ранних стадиях развития проекта можно обойтись одним сервером за $50 в месяц.

Если планируется видеоконференция или видеостриминг, лучше использовать отдельный сервер для медиасервера.

Если конференций много, можно автоматически создавать новые серверы на время видеоконференции и удалять их, когда они больше не нужны. За использование таких серверов взимается плата по часам. Если вы знаете стоимость часа для своего сервера — используйте её. Если нет, можно ориентироваться на примерную сумму $0,3 за час на каждую видеоконференцию. Это усреднённая цена для нескольких первых серверов Amazon EC2 категории c5 по данным калькулятора Amazon за сентябрь 2020 года.

Примеры расчета стоимости работы видеопрограммы в месяц

№1: Видеоконференция на 9 человек

Трафик

Возьмём разрешение 640×480 — оптимальный формат для видеочата (4:3): изображение хорошо сбалансировано, а лицо находится по центру экрана.

По таблице из раздела «Алгоритм — Затраты на трафик» выше — это 0,11 ГБ в час. Столько занимает один час видео в одну сторону. Всего с сервера будет отправляться 72 потока — по 8 видео каждому из 9 пользователей.

Умножаем 72 на 0.11 GB, получаем 7.92 GB

Трафик на AWS стоит по-разному в зависимости от количества трафика и от того, где физически располагаются клиенты. Для наших примерных расчетов подойдет средняя стоимость $0.09 за ГБ. Умножаем 7.92 Гб на $0.09, получаем $0.71 в час.

Хранение

Допустим, мы хотим хранить запись видеоконференции. На сервере будет храниться одно видео, в котором объединены все остальные видео.

Допустим, новое видео будет иметь разрешение 1280×720 (этого достаточно, чтобы всё было видно) и, согласно таблице, займёт 0,88 ГБ.

Берём General Purpose SSD от Amazon S2. Он стоит примерно $0,1 за гигабайт в месяц на февраль 2022 года. Умножаем объём видео в гигабайтах на стоимость хранения одного гигабайта (0,88 × 0,1) — получаем около $0,088 за каждый час видео. Эти деньги нужно будет платить каждый месяц, пока видео хранится на сервере.

Сервер

Тут можно взять $50 на сервер под саму платформу и $0.30 за каждый час аренды сервера для видеоконференции.

На сервере стоимостью $0.30 в час может одновременно проходить 5 и более конференций, но для пессимистичных расчётов можно считать, что работает только одна видеоконференция.

Суммарные затраты

  • $0.71 в час за трафик
  • $0.088 в месяц за хранение одного часа записей
  • $50 в месяц за сервер под сайт и $0,30 в час за аренду сервера для видеоконференции

$0.71 и $0.30 можно сложить: обе цены — за каждый час активной видеоконференции. Получим $1.01 за час видеоконференции.

Как посчитать, во сколько в месяц обойдётся содержание такого чата? Нужно хотя бы примерное количество видеоконференций в день или в месяц.

Допустим, в день у нас проходит 4 часа видеоконференций. Умножаем 4 часа на $1,01 — получаем стоимость обслуживания за день: $4,04. Умножаем дневную стоимость на 30 дней — получаем расходы за месяц: $121,20.

Чтобы хранить все записи, понадобится 4 ч × 30 дней = 120 часов видео. За это придётся платить 0,088 $ × 120 = 10,56 $ в месяц.

Сложим все затраты за месяц: $121.20 + $10.56 + $50 = $181,76

№2: Вебинар 2 стримера, 50 зрителей

Трафик

Возьмём разрешение 720×480 — подходящий вариант для стриминга. Хороший баланс между качеством и экономичностью.

По таблице из раздела «Алгоритм — Затраты на трафик» выше это 0,44 ГБ в час. Столько занимает один час видео в одну сторону. Всего с сервера будет отправляться 102 видео-потока — по 2 видео каждому из 50 пользователей и по одному видео каждому стримеру.

Умножаем 102 на 0.44 GB, получаем 44.88 GB

Трафик на AWS стоит по-разному в зависимости от количества трафика и от того, где физически располагаются клиенты. Для наших примерных расчетов подойдет средняя стоимость $0.09 за ГБ. Умножаем 44.88 Гб на $0.09, получаем $4.04 в час.

Хранение

У нас два стримера. На сервере будет храниться одно видео, в котором объединены видеозаписи обоих стримеров.

Допустим, новое видео будет иметь разрешение 1280×720 (этого достаточно, чтобы всё было видно) и, согласно таблице, займёт 0,88 ГБ.

Берём General Purpose SSD от Amazon S2. Он стоит примерно $0,1 за гигабайт в месяц на февраль 2022 года. Умножаем 0,88 на 0,1 — получаем около $0,088 в месяц за каждый час видео, хранящийся на нашем сервере.

Сервер

Тут можно взять $50 на сервер под саму платформу и $0.30 за каждый час видеостриминга.

На самом деле, на сервере стоимостью $0.30 может одновременно работать более одного стриминга, а число зрителей может превышать 50. Но для расчётов в худшем случае можно считать, что у нас только один стриминг — всё равно придётся использовать такой сервер.

Суммарные затраты

  • $4.04 за трафик за каждый час стриминга
  • $0.088 в месяц за хранение одного часа записей
  • $50 в месяц за сервер под сайт и $0,30 за час стриминга

$4,04 и $0,30 можно сложить, потому что обе цены указаны за час стриминга. Получится $4,34 за каждый час стриминга.

Как посчитать, сколько это будет стоить в месяц? Нужно хотя бы примерное количество сеансов стриминга в день или в месяц.

Допустим, в день у нас таких стримов будет 4 часа. Умножаем 4 на $4,34 — получаем стоимость обслуживания в день: $17,36. Умножаем на 30 — получаем затраты в месяц: $520,8.

Чтобы хранить все записи, потребуется 4 ч × 30 дней = 120 часов видео. За это придётся платить 0,088 $ × 120 = 10,56 $ в месяц.

Сложим все затраты за месяц: $520.8 + $10.56 + $50 = $581.36.

№3: Видеочаты 1 на 1 через p2p

Трафик

В случае p2p-звонков видео передаётся напрямую между пользователями, минуя сервер. Поэтому за трафик платить не придётся.

Это верно, когда соединение p2p технически возможно установить. В таких случаях прямое соединение не удаётся лишь примерно в 10%. Тогда соединение идёт через сервер, а не напрямую. Значит, 90% звонков будут «бесплатными», а за 10% придётся платить. Давайте посчитаем, сколько.

Возьмём разрешение 640×480 — оптимальный формат для видеочата (4:3): картинка хорошо скомпонована, а лицо находится по центру экрана. По таблице из раздела «Алгоритм — Затраты на трафик» выше это 0,11 ГБ в час. Столько занимает один час видео в одну сторону.

Всего сервер будет отправлять 2 потока — по одному видео каждому из двух пользователей.

Умножаем 2 на 0,11 ГБ — получаем 0,22 ГБ.

Трафик на AWS стоит по-разному в зависимости от количества трафика и от того, где физически располагаются клиенты. Для наших примерных расчетов подойдет средняя стоимость $0.09 за ГБ. Умножаем 0.22 Гб на $0.09, получаем $0.02 в час.

Платить нужно только за 10% звонков, поэтому 1 час видеочата обойдётся в $0.002.

Хранение

У нас 2 человека в чате. На сервере будет храниться 1 видео, на котором объединены видео этих двух человек в одно.

Допустим, новое видео будет иметь разрешение 1280×720 — этого достаточно, чтобы всё было видно, — и, согласно таблице, займёт 0,88 ГБ.

Берём General Purpose SSD от Amazon S2. Он стоит примерно $0,1 за гигабайт в месяц на февраль 2022 года. Умножаем 0,88 на 0,1 — получаем около $0,088 за каждый час видео в месяц, если оно хранится на нашем сервере.

Сервер

Можно взять сервер за $50 и не брать отдельный сервер для видео-стриминга, потому что сервер за $50 справится с нагрузкой более чем 1000 одновременных p2p-чатов.

Суммарные затраты

  • $0.0002 за каждый час видеочатов
  • $0.088 в месяц за хранение одного часа записей
  • $50 в месяц за сервер под сайт

Как посчитать, во сколько это обойдётся в месяц? Нужно хотя бы примерное количество видеочатов в день или в месяц.

Допустим, в день у нас будет 100 таких чатов.

100 умножаем на $0.002 — получаем стоимость обслуживания в день: $0.2. Умножаем на 30 — получаем затраты в месяц: $6.

Чтобы хранить все записи, понадобится 3000 часов видео. За это придётся платить $0.088 * 3000 = $264 в месяц.

Сложим все затраты за месяц — получим $56 без хранения всех видеозаписей и $320 с хранением всех записей на сервере.

Расчёты очень приблизительные. Приводим их, чтобы понять, о каких суммах идёт речь — о десятках, тысячах или десятках тысяч долларов. Если после подсчётов ваш бизнес оказывается без прибыли — начинать его не стоит. Нужен хороший запас прочности.

  • Процессы