Versions Compared

Key

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

...

Поддерживаемые платформы и браузеры


Chrome

Firefox

Safari 11

Internet Explorer

Edge

Windows

+

+


+

+

Mac OS

+

+

+



Android

+

+




iOS

-

-

+



Схема работы


  1. Браузер соединяется с сервером по протоколу Websocket и отправляет команду play.
  2. Сервер соединяется с RTSP-источником и отправляет команду play.
  3. RTSP-источник передает на сервер RTSP-поток.
  4. Сервер трансформирует поток в WebRTC и отдает поток браузеру.

Настройка

Привязка RTSP клиента к определенному адресу

В некоторых случаях, например, если подключение к IP-камере для захвата потока по RTSP производится через VPN, RTSP-клиент должен быть привязан к определенному адресу. Адрес указывается при помощи опции rtsp_client_address в файле настроек flashphoner.properties, например

Code Block
languagebash
themeRDark
rtsp_client_address=172.16.0.3

Захват RTSP потока по UDP

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

Code Block
themeRDark
rtsp_interleaved_mode=false

Выбор аудио и видео каналов в RTSP потоке

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

Code Block
themeRDark
rtsp_interleaved_channels=2-3;0-1

Здесь

2-3 - каналы аудиопотока

0-1 - каналы видеопотока

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

...

REST-методы и статусы ответа

REST-метод

Пример тела REST-запроса

Пример тела REST-ответа

Статусы ответа

Описание

/rtsp/startup

Code Block
languagejs
themeRDark
{
 "uri":"rtsp://myserver.com/live/myStream"
}

409 - Conflict

500 - Internal error


Извлечь RTMP-поток по указанному URL


/rtsp/find_all


Code Block
languagejs
themeRDark
{
"uri": "rtsp://myserver.com/live/myStream",
"status": "PLAYING"
}

200 – потоки найдены

404 – потоки не найдены

Найти все извлеченные RTMP-потоки

/rtsp/terminate

Code Block
languagejs
themeRDark
{
"uri":"rtsp://myserver.com/live/myStream"
}

200 - поток завершен

404 - поток не найден

Завершить извлеченный RTMP-поток

Параметры

Имя параметра

Описание

Пример

uri

URL RTSP-потока

rtsp://myserver.com/live/myStream

status

Текущий статус потока

PLAYING

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

...