Перейти к основному содержимому
Owncat cautions you
Эта страница неиндексируема. Поисковые системы её не будут индексировать, и доступна она только по прямой ссылке.

Все зрители испытывают буферизацию

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

После прочтения ниже вы также можете найти полезные советы, просматривая Руководство по устранению неполадок в OBS, даже если вы не используете OBS.

Check Stream Performance

Нет смысла в стриме, если никто не может его посмотреть. The Stream Performance page in the admin, at /admin/stream-health, gives you an overview of some important metrics that may give you an idea if what you’re offering your viewers is leading to a good experience.

Экран производительности потока в админке, с графиками времени загрузки сегмента видео, скорости сети плеера, ошибок, изменений качества и задержки зрителей

The page charts four things: Video Segment Download, Player Network Speed, Errors and Quality Changes, and Viewer Latency.

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

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

Note: Only some players report detailed playback metrics themselves, mostly web browsers running the Owncast web interface.

Server-observed playback metrics require Owncast v0.3.0

For players that do not self-report, such as VLC, mpv, Safari and ffmpeg, Owncast records the download speed and duration of video segments it serves, as observed by the server. This only works when Owncast serves the video itself. If your segments are hosted on S3 storage, viewers download them from there and these players are not represented in the metrics.

Analyze your stream with the HLS Analyzer

Посетите HLS Analyzer, чтобы помочь в устранении неполадок. Введите URL вашего потока, когда будет запрошено; это <yourserver>/hls/stream.m3u8. Нажмите Analyze .m3u8.

Обратите внимание на следующие значения:

Загрузка сегмента (сек): Время, затраченное (в секундах) на скачивание одного сегмента видео. Если загрузка одного сегмента видео занимает больше времени, чем длится каждый сегмент, вы получите буферизацию.

Буфер плеера (сек): Количество доступного воспроизводимого видео (в секундах). Если он достигнет нуля, у вас начнётся буферизация.

Время простоя (сек): Время, в течение которого в плеере не было доступного видео и он перешёл в буферизацию.

Проверьте использование аппаратного обеспечения вашего сервера Owncast

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

Страница информации об оборудовании в администраторе, показывающая индикаторы использования ЦП, памяти и диска с графиком использования во времени

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

Начните с вашего программного обеспечения для вещания

Надежно ведите вашу трансляцию

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

Обратите внимание на любые потерянные кадры и выясните, что вызывает эти потери. Это ваш локальный процессор или видеокарта? Это ваша локальная сеть? Или это сервер Owncast, который теряет кадры из-за нагрузки на оборудование?

Если, например, ваш GPU вашего компьютера для трансляции полностью загружен, то он не может успевать за рендерингом кадров. Если вы используете OBS, один из способов определить это — посмотреть на "Статистику" в приложении и проверить, испытываете ли вы какие-либо "Задержки при рендеринге".

Соответствие качеству видео

Одной из простых оптимизаций для использования ЦП является обеспечение соответствия вашего входящего видео вашему наивысшему качеству выхода.

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

Увеличьте буфер задержки

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

You can change this value in the admin under Configuration > Video. Latency and video quality changes take effect on your next stream, so restart your stream after changing them.

Недостаток: Увеличение задержки затрудняет взаимодействие в реальном времени со зрителями, так как увеличение времени между вашим действием и тем, когда они его видят.

Уменьшите качество видео

Более качественное видео означает большие размеры видео, которые требуют больше времени для загрузки.

Как указано в вики OBS:

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

В конце концов, хотя ваш стрим в 1080p 60fps с битрейтом 9 мбит/с может выглядеть великолепно, и 3 человека могут смотреть его без проблем, ваш стрим-провайдер или другие зрители могут столкнуться с проблемами.

Снизьте битрейт и частоту кадров ваших видео-выходов в Owncast, а затем подберите свое самое высокое качество к тому, что вы отправляете в своем программном обеспечении для трансляции.

Чем больше каждый сегмент видео, тем больше времени требуется для его загрузки. Таким образом, если в общем уменьшите качество вашего видео (по битрейту и/или разрешению), вы, вероятно, уменьшите время, необходимое для загрузки, что, следовательно, снизит вероятность буферизации для вашей аудитории.

При снижении частоты кадров и/или битрейта на вашем сервере вы также должны уменьшить то, что вы отправляете в Owncast в вашем программном обеспечении для трансляции. Это полезно, потому что:**

  1. Это уменьшает объем сетевого трафика, который использует ваше интернет-соединение, снижая вероятность того, что ваше соединение с интернетом станет узким местом при трансляции.
  2. Это уменьшает объем данных, которые поступают в Owncast.
  3. Чем меньше работ по разговору требуется в Owncast, тем быстрее все.

Недостаток: Уменьшение частоты кадров и/или битрейта вашего видео может заметно снизить качество вашего потока для некоторых материалов.

Частота кадров

Уменьшение частоты кадров вашего видео часто является простым способом уменьшить буферизацию. FPS означает "кадры в секунду", поэтому, если вы снизите частоту кадров вашего видео с 60fps до 30fps, для ваших зрителей будет буквально вдвое меньше кадров видео для загрузки, что уменьшит объем видео данных вдвое.

Недостаток: Уменьшение частоты кадров может заметно снизить качество вашего потока для некоторого контента.

Используйте внешнее хранилище

Если основная проблема заключается в том, что ваш сервер не в состоянии обработать количество зрителей, вы можете воспользоваться сторонними провайдерами объектного хранилища, чтобы ваши зрители загружали видео оттуда, а не с вашего сервера. Owncast still serves the master playlist, the APIs and chat itself, but the variant playlists and video segments, which make up almost all of the bandwidth, are offloaded to the storage provider.

Это позволяет вам генерировать видео на вашем сервере Owncast, но предоставлять его через провайдера, у которого есть неограниченная пропускная способность и мощность по низкой цене.

With this setup you don't need extra CPU or a more powerful server in order to support more viewers, as the heavy video traffic no longer comes from your server.

Узнайте больше о настройке внешнего хранилища с Owncast.

Используйте CDN

Чтобы поддержать больше людей по всему миру, обычно следующим шагом является CDN (сеть доставки контента). Размещение CDN перед вашим видео позволяет доставлять его через серверы, расположенные географически ближе к зрителю.

Подробнее об использовании CDN с Owncast.

Перейдите на сервер, который находится более центрально или хостится более быстрым провайдером

Возможно, вам будет удобнее запускать Owncast на сервере, который географически расположен более централизованно или имеет более быстрое соединение с остальным миром. Если ваш сервер физически удалён как от вас (к которому вы стримите), так и от ваших зрителей (которые получают видео), то это может быть неоптимальной конфигурацией.

Если вы испытываете медленную загрузку в внешнее хранилище

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

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

  1. Определите, есть ли другой конечный пункт для вашей службы хранения, который может быть географически ближе к вам.
  2. Используйте службу хранения, которая находится максимально близко (физически и логически) к вашему экземпляру Owncast. Например, если вы находитесь на машине AWS, используйте корзину S3 в том же регионе. Если вы на Digital Ocean, попробуйте DO Spaces. Но, возможно, не используйте DO Spaces, если вы на машине Linode, вместо этого используйте хранилище объектов Linode. Запустите owncast с --enableVerboseLogging, чтобы проверить, получаете ли вы какие-либо предупреждения о медленной загрузке.
  3. Попробуйте увеличить скорость загрузки от вашего поставщика серверов.
  4. Узнайте, предлагает ли ваша служба хранения что-то похожее на AWS Transfer Acceleration, чтобы (возможно) попытаться увеличить скорость загрузки.
  5. Уменьшите качество вашего видео, чтобы фрагменты видео были меньше и занимали меньше времени для загрузки.

Improve this page

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

Contributors to this documentation