Перейти к содержанию

При помощи OBS Studio

Описание

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 не поддерживает Keep Alive

Симптомы

Частые разрывы соединения при публикации потока с OBS Studio

Решение

Отключить Keep Alive для RTMP на сервере при помощи настройки в файле flashphoner.properties

keep_alive.enabled=websocket,rtmfp

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

2. Поток, опубликованный из OBS, может давать фризы в браузере Safari

При публикации потока из 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