Перейти к основному содержимому

Что вам нужно, чтобы запустить Owncast

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


Базовые знания

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

  • ЦП: Используется для транскодирования видео в несколько качеств, чтобы зрители могли смотреть его в различных сетях.
  • Сетевой трафик: Используется для распространения видео среди ваших зрителей.

Количество зрителей не влияет на использование ЦП

З knowing this, you see that использование ЦП одинаково независимо от количества зрителей. 0 или 100, ЦП все равно выполняет свою работу. Представьте, что вы создаете zip-файл. Если у вас есть файл объемом 100 МБ, и вы сжимаете его до 70 МБ, вы можете отправить этот файл размером 70 МБ любому количеству людей без повторного сжатия файла для каждого. Но вам все равно нужно отправить файл каждому человеку отдельно, что требует сетевой пропускной способности каждый раз, когда вы его отправляете. Однако, если вы хотите отправить некоторым людям версию на 70 МБ, а другим — на 50 МБ, вам нужно будет создать два отдельных файла. Версия на 50 МБ займет больше времени и использует больше ЦП для создания, из-за дополнительных действий, необходимых для более глубокого сжатия файла. С видео это аналогично. Чем больше работы требуется для кодирования вашего видео, тем больше ЦП потребуется. В общем, чем больше вам нужно уменьшить размер и битрейт вашего видео, тем больше будет использоваться ЦП. Но предложение версий потока с низким битрейтом/низким качеством важно, чтобы позволить большему числу зрителей смотреть его из разных частей мира, на любых сетях.

Ваша загрузочная пропускная способность как стримера

Перед тем как ваш сервер сможет распределять видео среди зрителей, вы должны отправить ваш поток на сервер. Это требует загружаемой пропускной способности откуда бы вы ни транслировали. Если вы транслируете на 5000 кбит/с, вам нужна скорость загрузки, которая может надежно поддерживать эту скорость.

Правило: Ваша скорость загрузки должна быть хотя бы 1,5 раза больше вашего битрейта стрима, чтобы учесть колебания и накладные расходы. Для потока 5000 кбит/с стремитесь к скорости загрузки не менее 7,5 Мбит/с.

Битрейт стримаМинимальная скорость загрузки
2500 кбит/с4 Мбит/с
4000 кбит/с6 Мбит/с
5000 кбит/с7,5 Мбит/с
6000 кбит/с9 Мбит/с
8000 кбит/с12 Мбит/с

Важно учитывать:

  • Домашний интернет зачастую является асимметричным: Большинство частных соединений имеют гораздо более быструю загрузку, чем скорость передачи данных. План с "100 Мбит/с" может иметь лишь 10-20 Мбит/с загрузки. Проверьте свою фактическую скорость загрузки на speedtest.net или аналогичном сервисе.
  • Общие соединения: Если другие пользователи вашей сети используют пропускную способность, пока вы транслируете, ваша доступная загрузка уменьшается.
  • Используйте проводное подключение: WiFi добавляет задержку и нестабильность. Рекомендуется использовать проводное соединение с вашим маршрутизатором для стриминга.
  • Это отдельно от пропускной способности сервера: Ваша загрузка отправляет поток на сервер. Затем серверу нужна собственная пропускная способность для распределения среди зрителей.

Пример сценария

Теперь, когда вы понимаете основы, давайте использовать пример, чтобы проиллюстрировать, как ваша конфигурация может повлиять на ресурсы вашего сервера и, что наиболее важно, на опыт зрителей. Это немного упрощенно, и фактические цифры могут варьироваться в реальной жизни, но это может помочь ответить на вопрос: "приблизительно сколько пропускной способности и ЦП понадобится для использования Owncast?"

Вы настроили свой источник трансляции (например, OBS) для стрима на вашу инсталляцию Owncast при 5000 кбит/с. У вас 25 зрителей. 5 из них находятся в медленных или мобильных сетях, 17 имеют быструю и стабильную интернет-связь, а 3 имеют быструю интернет-связь большую часть времени, но скорость колеблется. Все 25 зрителей посмотрели целостный стрим длительностью два часа. У вас есть хостинговый провайдер, который дает вам 4 ТБ пропускной способности в месяц.

Предложите высокое и низкое качество

Вы решаете предложить как высокий, так и низкий вариант качества, и устанавливаете высокое качество на 5000 кбит/с, а низкое качество на 1500 кбит/с.

Сколько пропускной способности используется на вашем сервере для этого стрима?

БитрейтДлительностьЗрителиИтого
0.000625 Гигабайт в секунду (5000 кбит/с)7200 секунд2090 Гигабайт
0.0001875 Гигабайт в секунду (1500 кбит/с)7200 секунд56.75 Гигабайта
Итого: 96.75 Гигабайт

Какова максимальная скорость сети, необходимая вашему серверу?

Ваш сервер должен поддерживать общий выходящий битрейт для всех зрителей одновременно. В этом сценарии: (20 зрителей × 5000 кбит/с) + (5 зрителей × 1500 кбит/с) = 107,5 Мбит/с. Ваш хостинг-план должен поддерживать как минимум такую пропускную способность.

Сколько ЦП?

КачествоИспользование ЦП
5000 кбит/сЛегкая (минимальная транскодировка, соответствует входу)
1500 кбит/сУмеренная (активное кодирование для снижения битрейта)

Какой опыт зрителей?

КачествоЗрителиОпыт
5000 кбит/с20Хорошо
1500 кбит/с5Хорошо

Результат: Вы предложили как высокий, так и низкий вариант качества для своих зрителей, чтобы у зрителей с медленной сетью было альтернативное решение, а у тех, кто использует быструю сеть, иногда замедляющуюся, была возможность переключиться на низкое качество при необходимости. Кроме того, в этом случае вы сэкономили почти 16 ГБ трафика пропускной способности благодаря предложению более низкого качества. Вы используете больше ЦП для получения гораздо лучшего опыта. Вы сможете транслировать 42 раза в месяц, прежде чем достигнете лимита пропускной способности.

Предложите один вариант высокого качества, используя наименьшее количество ЦП

Вы решили использовать как можно меньше ЦП на своем сервере Owncast, поэтому включили режим "Передача видео" как единственный доступный выход. Это означает, что именно то видео, которое вы отправляете из своего локального программного обеспечения для трансляции, и будет отправлено вашим зрителям.

Сколько пропускной способности используется на вашем сервере для этого стрима?

БитрейтДлительностьЗрителиИтого
0.000625 Гигабайт в секунду (5000 кбит/с)7200 секунд25112.5 Гигабайт

Какова максимальная скорость сети, необходимая вашему серверу?

Все 25 зрителей получают один и тот же поток 5000 кбит/с: 25 × 5000 кбит/с = 125 Мбит/с постоянно выходящей пропускной способности.

Сколько ЦП?

КачествоИспользование ЦП
5000 кбит/сМинимальное (без транскодирования)

Какой опыт зрителей?

КачествоЗрителиОпыт
5000 кбит/с17Хорошо
5000 кбит/с3Плохо
5000 кбит/с5Невозможно смотреть

Результат: Вы не используете много ЦП, но только 68% ваших зрителей имеют хороший опыт. Остальные 32% имеют плохой опыт с частыми буферами, и 20% из них не могут смотреть ваш стрим. Вы сможете транслировать 36 раз в месяц, прежде чем достигнете лимита пропускной способности.

Используйте провайдера хранилища, совместимого с S3, для пропускной способности

Если у вас есть опасения по поводу вашего хостинг-плана, распределения пропускной способности или роста зрителей, вы можете использовать провайдера хранилища S3 вместо вашего сервера для ответственного распределения пропускной способности. В этом примере вы снова решаете предложить как высокое, так и низкое качество, и устанавливаете высокое качество на 5000 кбит/с, а низкое качество на 1500 кбит/с. Используемый ЦП такой же, как в приведенном выше примере для варианта высокого+низкого качества. Узнайте больше о хранилище, совместимом с S3.

Сколько пропускной способности используется на вашем сервере для этого стрима?

БитрейтДлительностьИтого
0.000625 Гигабайт в секунду (5000 кбит/с)7200 секунд4,5 Гигабайта
0.0001875 Гигабайт в секунду (1500 кбит/с)7200 секунд1.35 Гигабайта
Итого: 5.85 Гигабайта

Сколько исходящей пропускной способности используется вашим провайдером S3 для этого стрима?

БитрейтДлительностьЗрителиИтого
0.000625 Гигабайт в секунду (5000 кбит/с)7200 секунд2090 Гигабайт
0.0001875 Гигабайт в секунду (1500 кбит/с)7200 секунд56.75 Гигабайта
Итого: 96.75 Гигабайт

Какова максимальная скорость сети, необходимая вашему серверу?

Поскольку зрители обслуживаются с S3, вашему серверу вовсе не нужно отправлять видео зрителям. Ему нужна только достаточная исходящая пропускная способность для загрузки одной копии каждого качественного потока на S3: 5000 кбит/с + 1500 кбит/с = 6500 кбит/с = 6.5 Мбит/с. Это остается на одном и том же уровне независимо от того, есть ли у вас 0 зрителей или 1 000. Your S3 provider handles the viewer-facing throughput, which in this scenario peaks at 107.5 Mbps, but that is their infrastructure, not yours.

Результат: Вы предоставили как высокое, так и низкое качество видео для ваших зрителей, чтобы те, у кого медленная сеть, имели возможность выбора, и те, у кого быстрая сеть, которая может периодически замедляться, могли переходить на низкое качество при необходимости. Тем не менее, эти качества видео не предоставляются вашим сервером Owncast, а приходят из внешнего поставщика хранения, совместимого с S3. Это позволяет увеличивать количество зрителей и добавлять дополнительные качества видео, не беспокоясь о том, что вы исчерпаете выделенную вашему серверу пропускную способность. Вы сможете транслировать 24/7 без беспокойства, используя эту конфигурацию, однако вы будете использовать такое же количество пропускной способности сервера, как если бы у вас не было зрителей или 100 зрителей. Ваше использование ЦП будет таким же, как если бы вы подавали видео непосредственно со своего сервера.

Краткое руководство

Сколько пропускной способности будет использовать Owncast?

Формула: (битрейт в кбит/с × время в секундах × зрителей) ÷ 8 000 000 = ГБ

Быстрые оценки для 2-часовой трансляции:

Битрейт10 зрителей25 зрителей50 зрителей
2000кбит/с18 ГБ45 ГБ90 ГБ
4000кбит/с36 ГБ90 ГБ180 ГБ
6000кбит/с54 ГБ135 ГБ270 ГБ

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

Какова пиковая скорость сети, необходимая моему серверу?

Формула: битрейт в кбит/с × зрителей ÷ 1 000 = Мбит/с

Быстрые оценки:

Битрейт10 зрителей25 зрителей50 зрителей
2000кбит/с20 Мбит/с50 Мбит/с100 Мбит/с
4000кбит/с40 Мбит/с100 Мбит/с200 Мбит/с
6000кбит/с60 Мбит/с150 Мбит/с300 Мбит/с

Это постоянный исходящий пропускной способности, необходимый вашему серверу во время трансляции. Если вы предлагаете несколько вариантов качества, рассчитывайте каждое качество отдельно и складывайте их вместе. Большинство провайдеров VPS предлагают порты 1 Гбит/с, что поддерживает примерно 200 зрителей при 5000кбит/с. Если ваши зрители превышают сетевую мощность вашего сервера, у них будут возникать задержки. Использование хранения, совместимого с S3 устраняет это ограничение с вашего сервера.

Сколько ЦП будет использовать Owncast?

These are rough examples from measured tests, not guarantees. Actual CPU use varies by codec, bitrate, resolution and encoder preset.

КонфигурацияИспользование ЦП
Качество в режиме пропускной способностиМинимальное
Качество в режиме транс кодированияЛегкое
Два качества (высокое + низкое)Умеренное
Три качества или сильная компрессияСильное

As a rough rule of thumb from measured examples, a single CPU core can often handle one transcoded output quality at 30fps, but this varies with codec, bitrate, resolution and encoder preset. Режим пропускной способности (без транс кодирования) использует очень мало ЦП независимо от битрейта. All CPUs are different in performance across hardware and hosting providers, so no guarantee can ever be made. Вам придется провести эксперименты, чтобы выяснить, что лучше всего подходит для ваших потребностей.

Увеличивается ли использование ЦП с увеличением числа зрителей?

Нет. Для кодирования видео использование ЦП остается постоянным, независимо от того, есть ли у вас 1 зритель или 1 000 зрителей. Видео кодируется один раз и распределяется всем зрителям. Только пропускная способность сервера увеличивается с увеличением числа зрителей. Использование ЦП может немного увеличиться с увеличением числа зрителей из-за активности чата и другой нагрузки, но это минимально по сравнению с кодированием видео.

Как частота кадров влияет на использование ЦП?

Более высокие частоты кадров требуют больше ЦП. Reducing frame rate is an effective way to lower CPU usage. These multipliers are rough measured examples and will vary by codec, bitrate, resolution and encoder preset:

Частота кадровОтносительное использование ЦП
60 кадров в секунду2x базовая
30 кадров в секунду1x базовая
24 кадра в секунду0,8x

Рекомендуется использовать более низкие частоты кадров (24fps) для видео низкого качества, чтобы сэкономить ЦП, сохраняя при этом плавное воспроизведение для зрителей на медленных соединениях.

Сколько места на диске будет использовать Owncast?

Live video needs very little disk space. Owncast writes HLS video segments to disk temporarily and cleans them up as the stream progresses, so you don't need to plan for video storage.

The data/ directory does persist and grow over time. It holds the Owncast database and its hourly backups, custom emoji, public files, viewer metrics, GeoIP data and, starting with Owncast 0.3.0, installed plugins and their data. Give it room to grow and include it in your backups.

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

Предоставление только видео с высоким битрейтом исключает зрителей на мобильных сетях и медленных соединениях. Поток 5000кбит/с требует стабильного соединения 5+ Мбит/с для просмотра без задержек. У многих зрителей этого нет, особенно на мобильных устройствах.

Recommendation: Offering a second, lower quality option (1000-2000kbps) alongside your high quality one (4000-6000kbps) helps viewers on slow or mobile connections. That said, Owncast ships with a single variant by default, and the video documentation recommends starting with one variant and testing before adding more. Add a low quality option once your setup works and your CPU has headroom.

Калькулятор ресурсов

Используйте этот интерактивный калькулятор, чтобы оценить ваши требования к пропускной способности и ЦП, основываясь на вашей конкретной конфигурации трансляции:

Выходные качества:
5000k (PT)
1500k
Пропускная способность
91.8 GB
Пиковая исходящая скорость
102 Mbps
CPU
Интенсивные
Опыт просмотра
Отлично
Рекомендации
Рекомендаций нет

Узнать больше

Посетите подробную документацию по видео, чтобы узнать больше о том, как Owncast обрабатывает видео.


Improve this page

See something missing or incorrect? Edit this page and improve the documentation for everyone.

Contributors to this documentation