Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

WCS5RU:В плеере по RTMP
Include Page
WCS5RU:В плеере по RTMP
Table of Contents

Описание

Поток, опубликованный на WCS-сервере, можно воспроизвести по RTMP в стороннем плеере. В этом случае WCS сам выступает в качестве RTMP-источника.

RTMP-кодеки

  • Видео: H.264
  • Аудио: AAC, G.711, Speex

Схема работы

Image Added

  1. Браузер устанавливает соединение с сервером по Websocket
  2. Браузер захватывает камеру и микрофон и отправляет на сервер WebRTC-поток
  3. Проигрыватель VLC устанавливает соединение с сервером по RTMP
  4. Проигрыватель VLC получает поток c сервера и воспроизводит его

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

Трансляция видеопотока на сервер и воспроизведение его по RTMP в программном плеере

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

  • демо-сервер demo.flashphoner.com;
  • веб-приложение Two Way Streaming для публикации потока;
  • проигрыватель VLC для воспроизведения потока.

2. Откройте веб-приложение Two Way Streaming. Нажмите Connect, затем Publish. Скопируйте идентификатор потока:

Image Added

3. Запустите VLC, выберите пункт меню "Медиа - Открыть URL". Введите URL WCS-сервера с указанием идентификатора потока, в данном примере
rtmp://demo.flashphoner.com:1935/live/9121:

Image Added

4. Нажмите кнопку "Воспроизвести". Проигрыватель начнет воспроизведение потока:

Image Added

Последовательность выполнения операций (Call flow)

Ниже описана последовательность вызовов при воспроизведении потока по RTMP в программном плеере.

Image Added
1. Программный проигрыватель устанавливает соединение с WCS-сервером по RTMP

2. Программный проигрыватель получает от WCS медиапоток.

Excerpt Include
С помощью RTMP кодировщика (Live Encoder)
С помощью RTMP кодировщика (Live Encoder)
nopaneltrue

Управление порядком дорожек в RTMP потоке

Большинство плееров на различных платформах предполагают, что первой в RTMP потоке идет видеодорожка. Для того, чтобы гарантировать такой порядок и отсылать в первую очередь видеоданные, необходимо установить следующий параметр в файле flashphoner.properties:

Code Block
themeRDark
rtmp_send_video_first=true

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

Подавление звука при воспроизведении RTMP

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

Code Block
themeRDark
rtmp://yourserver:1935/live?suppress_sound=true/streamName

При этом звуковая дорожка в проигрываемом потоке заменяется тишиной.

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

1. При проигрывании FullHD, 2K, 4K потоков с большими размерами кадров, пакеты могут не помещаться в буфер сокета на отправку, из-за чего в некоторых плеерах могут наблюдаться артефакты

Симптомы: при проигрывании ретранслированного потока на хорошем канале эпизодически появляются артефакты

Решение: включить буферизацию RTMP пакетов при отправке настройкой

Code Block
themeRDark
rtmp.server_buffer_enabled=true