Описание
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