Описание

OBS Studio - это бесплатная программа с открытым исходным кодом для записи видео и потокового вещания.

Краткое руководство по тестированию

1. Для теста используем:

  • WCS сервер
  • OBS Studio
  • веб-приложение Player в браузере Chrome для воспроизведения потока

2. Настройте вещание RTMP-потока на адрес сервера, например, rtmp://test1.flashphoner.com:1935/live/, ключ потока obsStream:

3. Запустите вещание в OBS Studio:

4. Откройте веб-приложение Player. Укажите в поле "Stream" ключ потока и нажмите кнопку "Start". Начнется трансляция захваченного потока.

Известные проблемы

1. OBS Studio не поддерживает KeepAlive.

Симптомы: частые разрывы соединения при публикации потока с OBS Studio.

Решение: отключить KeepAlive для RTMP на сервере при помощи настройки в файле flashphoner.properties

keep_alive.enabled=websocket,rtmfp

В сборке 5.2.643 KeepAlive для RTMP отключены по умолчанию.

2. При публикации потока из OBS с использованием аппаратного кодирования на картах Nvidia, при воспроизведении потока как WebRTC в браузере Safari на MacOS возможны фризы и зависания браузера

Симптомы: фриз или зависание браузера при воспроизведении RTMP потока как WebRTC в браузере Safari

Решение: изменить в настройках OBS формат контейнера с flv, используемого по умолчанию, на mp4

3. При публикации потока из OBS  с включенным аппаратным ускорением QuickSync, P-фреймы содержат PPS или SPS и рассматриваются, как ключевые фреймы

Симптомы: в клиентском логе ошибки вида

11:29:56,151 ERROR H264AccessUnit - RTMP-pool-12-thread-23 Failed to get config, H264 can't generate AVC Config without sps/pps
11:29:56,151 ERROR H264AccessUnit - RTMP-pool-12-thread-23 Can't generate extradata, H264 can't generate extra data without sps/pps
11:29:56,151 INFO BitstreamNormalizer - RTMP-pool-12-thread-23 Add config in key frame
11:29:56,151 WARN BitstreamNormalizer - RTMP-pool-12-thread-23 Timing problem: Last received frame time 30758940; syncTime - 341766.
Current frame time - 30758940; syncTime - 341766; frame type - videoFrameKey

FPS потока определяется как вдвое больший, чем установлен в настройках (например, VIDEO_FPS: 60 при настройке 30)

Решение:

a) начиная со сборки 5.2.627. установить настройку

h264_strict_kframe_detect=true

b) для предшествующих сборок, отключить в OBS аппаратное ускорение

4. При плохом качестве канала, медленно восстанавливается соединение

Симптомы: при разрыве соединения в результате ухудшения канала между OBS и сервером, публикация не восстанавливается или восстанавливается не ранее чем через минуту после восстановления канала

Решение: включить контроль активности медиа потока для RTMP публикаций и уменьшить интервал контроля активности до 10 секунд

flash_rtp_activity_enabled=true
rtp_activity_timeout=10