Найти тему
Sandrix

Сетевые пропуски кадров в OBS Studio

Оглавление

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

На практике, проблема проявляется в виде буферизации видеопотока, заикания картинки на стриме, искажения качества видео или отключения от сервера трансляции.

Мониторинг и анализ

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

1. Полная информация о пропусках кадров доступна в окне «Статистика»

-2

2. Пропуски кадров также можно отследить в нижней строке интерфейса программы
➜ Числовое значение - сколько пропущено кадров.
➜ В процентах - значение от общего количества.

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

🟥 Красный цвет - существенные проблемы с отправкой данных.
🟫 Серый - данные передаются нестабильно.
🟩 Зеленый - проблем нет.

Статистика

Открыв окно «Статистика», необходимо определить, пропуски кадров вызваны работой кодировщика или носят сетевой характер.

-3

1. Здесь отображаются данные, связанные с работой кодировщика.
2. Здесь указаны
сетевые пропуски кадров и битрейт потока.

Если присутствуют пропуски кадров «рендеринг» или «кодирование», то меры для их устранения описаны в отдельных статьях на канале.

Сетевые пропуски кадров

-4

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

C более подробным объяснением можно ознакомиться по ссылке.

Причины

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

-5

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

Обычно пользователь заходит на speedtest.net и просто замеряет скорость, нажав на кнопку «GO», при этом не обращая внимание, что тестирование скорости производится до ближайшего хоста, который может находиться буквально в нескольких километрах. Поэтому клиент почти всегда получает заявленные провайдером показатели скорости интернета.

Однако абсолютное большинство серверов стриминговых платформ находится в Европе и Америке, а не в соседнем городе или регионе, до хоста которого производился замер скорости.

Доставка видеопотока при трансляции

Благодаря инфраструктуре по доставке медиаконтента CDN (Content Delivery Network), сервера получают отправляемые OBS видеоданные для их доставки до конечного сервера, где они будут обрабатываться и храниться.

-6

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

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

Скорость - не главное!

Вернемся к замеру скорости и взглянем на повторное тестирование скорости, но уже до сервера в Берлине (Sewan) из Ижевска. Большинство дата-центров находятся в Германии, поэтому можно примерно понять, на какую скорость следует рассчитывать.

При проведении трансляции для нас важна скорость отправки (исходящая).

-7

Как можно заметить на скриншоте, никаких 520 Мбит/с уже нет, а скорость отправки данных до сервера составляет всего 11.77 Мбит/с.

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

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

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

Выбор оптимального битрейта и сервера

Первое, что необходимо сделать, это повторно протестировать скорость на speedtest.net, указав, например, сервер Sewan Berlin.

-9

Таким образом можно примерно понимать фактическую скорость при получении/отправке данных до северов в Европе.

Если скорость загрузки (Upload) менее 10-8 Mbsp, то могут возникнуть проблемы при трансляции на популярные стриминговые платформы. Поэтому придется подбирать оптимальную скорость, либо обращаться в поддержку интернет-провайдера.

Выбор оптимального сервера и битрейта для Twitch

1. Скачайте и запустите утилиту TwitchTest

-10

2. Stream Key находится в Панели управления автора twitch канала в разделе Настройки/Трансляция.

-11

3. Скопируйте ключ и вставьте в Stream Key утилиты.

4. Выберите регион и нажмите Start.
Ожидайте, пока будет протестирована скорость до rtmp серверов.
Во время тестирования ограничьте интернет активность.

5. По результатам тестов находим сервер с лучшей скоростью и минимальной задержкой.

-12

6. Укажите оптимальный сервер в настройках OBS в разделе «Вещание», а также битрейт в настройках вывода.

-13

Рекомендуемый битрейт на Twitch составляет 6000 кбит/с, а максимально возможный 8500 кбит/с, включая аудио.

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

-14

Минимальное значение составляет в районе 4000 кбит/с, что позволит указать битрейт 3500 кбит/с для стрима в разрешении 720p. Оптимальное значение - в районе 6000 кбит/с и более.

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

8. Запустите трансляцию длительностью не менее 30 сек и промониторьте пропуски кадров и стабильность видеопотока в окне статистики. Док панель / Статистика в OBS.

-15

В зависимости от показателей в окне «Статистика» следует понемногу увеличивать или уменьшать битрейт, чтобы найти значение, при котором пропусков кадров не будет. Результат, к которому стоит стремиться, это стабильная работа с битрейтом 6000-8000 кб/с.

Изменять битрейт можно налету прямо во время прямой трансляции. Перезапускать стрим не нужно!

Если Twitch Test показывает высокий битрейт, а пропуски кадров все равно происходят, то смотрите раздел «Проверка сети», чтобы проверить потерю пакетов.

Выбор битрейта для YouTube

Если вы стримите на YouTube, то, к сожалению, утилиты, которая может протестировать скорость до серверов, нет.

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

Оптимальный битрейт придется подбирать на «ощупь». Стартовым значением является от 12500 кбит/с для разрешения 1920x1080.

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

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

Максимальный битрейт для трансляции на YouTube через rtmp протокол составляет 51000 кбит/с.

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

-16

Решение проблем с провайдером

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

-17

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

Проверка сети

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

Лучше всего тесты производить в вечернее время, когда нагрузка на сеть самая высокая.

Убедитесь, что не используется Wi-Fi подключение, ничего не скачивается, установлены последние драйверы для сетевого адаптера, а роутер довольно современный.

Зайдите на speedtest, проверьте скорость до сервера Sewan Berlin. Сделайте скриншот результатов.

-18

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

Трассировка до сервера

- Нажмите комбинацию клавиш Win+R и введите cmd
- После того, как запустится командная строка, введите:

tracert a.rtmp.youtube.com - для проверки YouTube
tracert hel03.contribute.live-video.net - для проверки Twitch

-19

Дождитесь окончания теста! Сделайте скриншот полученных результатов.

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

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

Потеря пакетов

Также полезной будет команда pathping, с помощью которой можно определить количество потерянных пакетов, либо используйте бесплатную утилиту Ping Tracer.

pathping a.rtmp.youtube.com - для проверки YouTube
pathping hel03.contribute.live-video.net - для проверки Twitch

-20

Дождитесь окончания теста! Сделайте скриншот полученных результатов.

Пример результатов с потерей пакетов

-21

Обращение в тех. поддержку интернет-провайдера

Подготовьте все данные, позвоните в поддержку вашего интернет-провайдера.

Обращение должно звучать примерно так:

- Добрый день! Я веду прямые трансляции, и у меня серьезные проблемы со скоростью и стабильностью потоковой передачи данных до стриминговых сервисов. Можете помочь в устранении данной проблемы?

Обычно переводят на более компетентных сотрудников. Повторяем:

- Я веду прямые трансляции, и у меня серьезные проблемы со скоростью и стабильностью потоковой передачи данных до стриминговых сервисов. Проблема сильнее всего проявляется в вечернее время (добавьте, если это так).
Есть замеры скорости до серверов Twitch, могу предоставить. Данные трассировки до сервера в Финляндии и данные по потерям пакетов. Скорость отправки данных до сервера в Германии составляет не более * Мбит/с, что неприемлемо. Скорость загрузки * Мбит/с.

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

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

Другие решения проблем сетевых пропусков кадров

Не транслируйте по беспроводной сети

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

Для потоковой передачи используйте проводное соединение. Используйте роутер или подключите сетевой кабель напрямую.

-22

Добавьте OBS в список исключения антивируса и настройте брандмауэр

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

Если вы используете стандартный брандмауэр Windows 10, то следуйте инструкции в видео.

Включение динамического битрейта

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

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

-23

Перейдите в «Настройки» / «Расширенные» / «Сеть» и установите флажок рядом с параметром «Динамически изменять битрейт для управления перегрузкой сети».

Попробуйте включить сетевую оптимизацию

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

-24

Использование VPN или Proxy

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

Агитировать к установке какого-то определённого я не буду, так что можете скачать пробную версию или поискать бесплатную раздачу ключей активации.

После установки запустите VPN-клиент и попробуйте выбрать сервер в России (если доступно) или близлежащих странах.

Прочее:

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

Материалы по теме:
Пропуски кадров и общие проблемы с подключением.
Что такое пропущенные кадры и почему они случаются?

Youtube | Twitch | ВКонтакте | Поддержать автора