Вы планируете создать видеопрограмму, например, платформу для видеоконференций, вебинаров, телемедицины или электронного обучения? Давайте посмотрим, сколько вам придется платить ежемесячно за его обслуживание.
В этой статье мы расскажем, как оценить стоимость инфраструктуры платформы для потокового видео. Мы начнем с алгоритма и закончим примерами. Если у вас нет технической подготовки, вы можете рассчитать на примерах.
Сколько стоит месяц видеопрограммы: алгоритм расчета
Совокупная стоимость складывается из стоимости трафика, хранения данных и самого сервера.
- Трафик — информация, которая проходит через наши серверы. В общем случае это аудио- и видеопотоки.
- Хранение данных — хранение записей видеоконференций.
- Сам сервер — это компьютер с проектом. Когда одного сервера недостаточно из-за большого количества пользователей, вместо него используется множество серверов.
Стоимость трафика
Начнем со стоимости трафика: при потоковой передаче видео он дороже, чем хранение данных и сервер.
Давайте подсчитаем, сколько трафика пройдет через наш сервер за определенный период времени.
Мы не считаем входящий трафик, только исходящий. Это связано с тем, что большинство провайдеров либо предоставляют неограниченный бесплатный входящий трафик, либо их цены настолько низки, что ими можно пренебречь.
Чтобы рассчитать объем трафика, который будет потребляться при потоковой передаче видео, необходимо понимать размер видеофайла, который будет передаваться. Предположим, что файл размером 1 гигабайт будет потреблять 1 гигабайт трафика.
Вы можете воспользоваться приведенной ниже таблицей.
Выберите разрешение. В правой колонке показано, сколько гигабайт будет потребляться в час при потоковой передаче видео в выбранном разрешении. Цифры получены с помощью калькулятора. Если в таблице нет нужных значений, возьмите данные оттуда.
Теперь, когда мы имеем представление о том, сколько гигабайт в час занимает видео, нужно подсчитать, сколько раз видео будет загружено с сервера.
Предположим, что это потоковый сервис, и пользователи смотрят видео на сайте. Тогда, если видео смотрят два человека, трафик будет потрачен дважды: видео будет просмотрено по 1 разу каждым пользователем.
Для сервисов с одним стримером и 20 зрителями в час будет расходоваться трафик, равный размеру 20 файлов: видео будет передаваться с сервера каждому из 20 зрителей.
В случае видеочата для 4 человек, размер видео нужно умножить на 12. В чате 4 человека, и каждый получает с сервера по 3 видео других собеседников.
Размер видео умножается на количество загрузок этого видео с сервера. Теперь у нас есть объем трафика, который потребляется за 1 час времени. Умножаем его на цену за гигабайт трафика, предоставляемую нашим провайдером: AWS, DigitalOcean. Если серверы физически находятся в нашем владении, это может быть даже наш провайдер.
Вуаля, мы получили приблизительную цену за трафик. Но это еще не все: есть еще расходы на хранение видео и стоимость аренды самого сервера.
Стоимость хранения данных
Если вы не храните записи потоков, смело пропускайте этот раздел.
Стоимость хранения данных, не включающих записанное видео, обычно настолько мала, что ею можно пренебречь при приблизительном расчете стоимости. Мы арендуем сервер для размещения сайта. Дискового пространства в пару десятков ГБ, которое имеется на сервере, в большинстве случаев должно быть достаточно.
Но если объем данных превышает несколько десятков гигабайт, они хранятся в отдельном хранилище. Оно оплачивается дополнительно.
Примеры:
- Приложение с огромной аудиторией, например Instagram. Им нужно дополнительное хранилище, хотя они не хранят записи видеозвонков, потому что пользователи загружают много фотографий и видео, и пользователей много.
- Приложение для видеоконференций местного банка для 3 отделений, они хранят записи видеоконференций. Им не нужно дополнительное хранилище: записи хранятся одновременно в таком размере, что объем памяти сервера их сайта не превышается.
Сначала рассчитаем размер файлов, которые будут храниться на сервере. Алгоритм расчета размера одного видеофайла аналогичен расчетам, приведенным выше, но здесь не имеет значения, сколько человек просматривают этот файл. Важно лишь то, сколько таких видеофайлов нужно хранить.
Примеры:
- Если вы храните запись видеоконференции для 4 человек, вам потребуется место, равное 4 видеофайлам — по одному для видео каждого участника.
- Вы можете объединить все видео в один и хранить его в оптимизированном виде. Размер файлов на сервере будет в 2 и более раз меньше. Но эта функция требует разработки, поэтому обсудите ее с вашим разработчиком.
- Если мы будем хранить видео, как YouTube, то для каждого видео будет храниться один файл. Если есть функция изменения качества видео в зависимости от скорости интернета пользователя, то будет храниться по одному файлу каждого качества.
Теперь возьмем размер одного видео, умножим его на количество хранимых видео.
Это значение умножается на стоимость хранения гигабайта данных на вашем сервере.
Если это ваш собственный компьютер, вы можете напрямую рассчитать стоимость HDD/SSD, которые вам потребуется установить на него.
Остается только рассчитать стоимость аренды или обслуживания самого сервера.
Стоимость сервера
Сервер — это место, где находится сама программа и где хранятся данные пользователей. Для небольших проектов можно использовать 1 сервер, а при большом количестве пользователей — несколько серверов.
Стоимость серверов сильно зависит от типа проекта и количества пользователей, но вы можете использовать приведенные ниже советы в качестве примера.
На ранних стадиях развития проекта можно обойтись одним сервером за 50 долларов в месяц.
При наличии видеоконференций или потокового видео желательно иметь отдельный сервер для медиасервера.
Если конференций много, можно автоматически создавать новые серверы на лету на время видеоконференции и удалять их, когда они не нужны. У них есть цена за час использования. Если вы знаете эту цену для своего сервера, используйте ее. Если нет, вы можете брать около $0,3 в час за каждую видеоконференцию. Это средняя цена для первых нескольких серверов Amazon EC2 c5 из калькулятора Amazon на сентябрь 2020 года.
Примеры расчета ежемесячной стоимости видеопрограмм
#1: Видеоконференция для 9 человек
Трафик
Возьмем разрешение 640×480 — оптимальный формат для видеочата (4:3) — картинка скомпонована, лицо находится в центре экрана.
Согласно таблице в разделе «Затраты трафика» выше, это 0,11 Гб в час. Именно столько занимает 1 час видео в одну сторону. Всего с сервера будет отправлено 72 потока — по 8 видео для каждого из 9 пользователей.
Умножив 72 на 0,11 ГБ, вы получите 7,92 ГБ.
Трафик на AWS стоит по-разному в зависимости от объема трафика и от того, где физически находятся клиенты. Для наших приблизительных расчетов подойдет средняя стоимость $0,09 за ГБ. Умножив 7,92 ГБ на $0,09, вы получите $0,71 в час.
Хранение
Допустим, мы хотим хранить записи видеоконференций. Одно видео будет храниться на сервере, где будут объединены все остальные видео.
Предположим, что новое видео будет иметь разрешение 1280×720 (этого достаточно, чтобы все увидеть) и займет 0,88 ГБ согласно таблице.
Возьмем SSD общего назначения с Amazon S2 с 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 стримерами и 50 зрителями
Возьмем разрешение 720×480 — подходящий вариант для стриминга. Хороший баланс между качеством и экономичностью.
Согласно таблице из раздела «Стоимость трафика» выше, это 0,44 ГБ в час. Именно столько занимает 1 час видео в одну сторону. С сервера будет отправлено 102 видеопотока — по 2 видео для каждого из 50 пользователей и по 1 видео для каждого стримера.
Умножив 102 на 0,44 ГБ, вы получите 44,88 ГБ.
Трафик на AWS стоит по-разному в зависимости от объема трафика и от того, где физически находятся клиенты. Для наших приблизительных расчетов подойдет средняя стоимость $0,09 за ГБ. Умножив 44,88 ГБ на $0,09, вы получите $4,04 в час.
Хранение
У нас есть два стримера. На сервере будет храниться одно видео с объединенными видео обоих стримеров.
Предположим, что новое видео будет иметь разрешение 1280×720 (этого достаточно, чтобы все увидеть) и, согласно таблице, займет 0,88 ГБ.
Возьмем твердотельный накопитель общего назначения от Amazon S2. По состоянию на февраль 2022 года он стоит около $0,1 за гигабайт в месяц. 0,88 * 0,1, мы будем платить ~$0,088 за каждый час видео в месяц, хранящийся на нашем сервере.
Сервер
Здесь мы можем взять $50 за сервер под самой платформой и $0,30 за каждый час потокового видео.
На самом деле, сервер, который стоит $0,3, может одновременно принимать более одной потоковой сессии, и зрителей может быть более 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.
Видеочаты 1 на 1 через p2p
Трафик
В случае p2p-звонков все видео идет напрямую между пользователями, минуя сервер. Поэтому вам не нужно платить за трафик.
Это верно, когда p2p-соединение технически возможно установить. Это невозможно только примерно в 10% случаев. В этих случаях соединение будет проходить через сервер, а не напрямую. Таким образом, 90% звонков будут бесплатными, а за 10% придется заплатить. Давайте посчитаем, сколько именно.
Возьмем разрешение 640×480 — оптимальный формат для видеочата (4:3) — картинка составная, а лицо в центре экрана. Согласно таблице в разделе «Стоимость трафика» выше, это 0,11 Гб в час. Именно столько занимает 1 час видео в одну сторону.
Всего с сервера будет отправлено 2 потока — по 1 видео для каждого из 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 ГБ согласно таблице.
Возьмем твердотельный накопитель общего назначения с 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 со всеми записями на сервере.
Расчеты очень приблизительные. Мы приводим их, чтобы получить хотя бы приблизительное представление о стоимости запуска видеопрограммы: она стоит около $10 или $1000 или $10 000. Если после расчетов ваш бизнес выходит в 0 — не начинайте его. Маржа должна быть существенной.
Есть еще вопросы? Оставьте комментарий и давайте обсудим.