Описание
В сборке 5.2.902 добавлена добавлена возможность публикации RTP потока по RTSP. Поддерживается Поддерживается как TCP interleaved, так и UDP транспорт. Данный способ может быть удобен для публикации H264+Opus потоков из программного или аппаратного кодировщика, поддерживающего RTSP. Начиная со сборки 5.2.1584, поддерживается также публикация H265+AAC потоков.
Поддержка кодеков
- H264
- H265 (начиная со сборки 5.2.1584)
- VP8
- AAC
- Opus
Схема работы
- Live Encoder соединяется с сервером по протоколу RTSP и отправляет команду ANNOUNCE.
- Live Encoder отправляет RTP поток на сервер.
- Браузер устанавливает соединение по Websocket и отправляет команду play.
- Браузер получает WebRTC поток и воспроизводит этот поток на странице.
Краткое руководство по тестированию
1. Для теста используем:
- WCS сервер
- ffmpeg
- веб-приложение Player в браузере Chrome для воспроизведения потока
2. Запустите публикацию RTSP H264+Opus при помощи ffmpeg
...
3. Откройте веб-приложение Player. Укажите в поле "Stream" имя потока и нажмите кнопку "Start". Начнется трансляция захваченного потока.
Публикация H265
Начиная со сборки 5.2.1584, поддерживается публикация RTP потока в кодеке H265 по RTSP
Code Block |
---|
|
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 должен быть добавлен в список поддерживаемых кодеков
Code Block |
---|
|
codecs=opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h264,vp8,flv,mpv,h265 |
и в списки исключений
Code Block |
---|
|
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 |
Warning |
---|
При проигрывании H265 потока любым способом на сервере включается транскодинг из H265 в H264 или VP8! |
Настройка RTSP порта для публикации
По умолчанию, используется TCP порт 554
Однако, данный порт является привилегированным и доступен для прослушивания только при запуске с правами root
. Если WCS запускается от пользователя flashphoner
(режим запуска по умолчанию), необходимо изменить значение, например