Skip to end of metadata
Go to start of metadata

Описание

В сборке 5.2.902 добавлена возможность публикации RTP потока по RTSP. Поддерживается как TCP interleaved, так и UDP транспорт. Данный способ может быть удобен для публикации H264+Opus потоков из программного или аппаратного кодировщика, поддерживающего RTSP. Начиная со сборки 5.2.1584, поддерживается также публикация H265 кодека.

Поддержка кодеков

  • H264
  • H265 (начиная со сборки 5.2.1584)
  • VP8
  • AAC
  • Opus

Схема работы

  1. Live Encoder соединяется с сервером по протоколу RTSP и отправляет команду ANNOUNCE.
  2. Live Encoder отправляет RTP поток на сервер.
  3. Браузер устанавливает соединение по Websocket и отправляет команду play.
  4. Браузер получает WebRTC поток и воспроизводит этот поток на странице.

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

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

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

2. Запустите публикацию RTSP H264+Opus при помощи ffmpeg

ffmpeg -stream_loop -1 -re -i bunny360p.mp4 -c:a libopus -ac 2 -ar 48000 -c:v copy -b:a 96K -b:v 500K -f rtsp -rtsp_transport tcp rtsp://test1.flashphoner.com:554/test

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

Публикация H265

Начиная со сборки 5.2.1584, поддерживается публикация RTP потока в кодеке H265 по RTSP

ffmpeg -re -i source.mp4 -c:v libx265 -c:a aac -b:a 160k -bsf:v hevc_mp4toannexb -keyint_min 60 -profile:v main -preset veryfast -x265-params crf=23:bframes=0 -f rtsp -rtsp_transport tcp rtsp://test1.flashphoner.com:554/test

Для этого H265 должен быть добавлен в список поддерживаемых кодеков

codecs=opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h264,vp8,flv,mpv,h265

и в списки исключений

codecs_exclude_sip=mpeg4-generic,flv,mpv,h265
codecs_exclude_sip_rtmp=opus,g729,g722,mpeg4-generic,vp8,mpv,h265
codecs_exclude_sfu=alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,flv,mpv,h265

При проигрывании H265 потока любым способом на сервере включается транскодинг из H265 в H264 или VP8!

Настройка RTSP порта для публикации

По умолчанию, используется TCP порт 554

rtsp.port=554

Однако, данный порт является привилегированным и доступен для прослушивания только при запуске с правами root . Если WCS запускается от пользователя flashphoner (режим запуска по умолчанию), необходимо изменить значение, например

rtsp.port=5554