...
В сборке 5.2.1193 добавлена возможность публикации MPEG-TS RTP потока по UDP на WCS. Данный способ может быть удобен для публикации H264+ACC AAC потока из программного или аппаратного кодировщика, поддерживающего MPEG-TS.
...
5. Браузер получает WebRTC поток и воспроизводит этот поток на странице.
Тестирование
1. Для теста используем:
- WCS сервер
- ffmpeg для публикации MPEG-TS потока
- веб-приложение Player в браузере Chrome для воспроизведения потока
2. Отправляем запрос /mpegts/startup
с указанием имени потока test
...
Code Block | ||
---|---|---|
| ||
mpegts_max_pts_diff=1 |
REST API
REST-запрос должен быть HTTP/HTTPS POST запросом в таком виде:
- HTTP: http://test.flashphoner.com:8081/rest-api/mpegts/startup
- HTTPS: https://test.flashphoner.com:8444/rest-api/mpegts/startup
Здесь:
- test.flashphoner.com - адрес WCS-сервера
- 8081 - стандартный REST / HTTP порт WCS-сервера
- 8444 - стандартный HTTPS порт
- rest-api - обязательная часть URL
- /mpegts/startup - используемый REST-метод
REST-методы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример тела REST-ответа | Статусы ответа | Описание | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/mpegts/startup |
|
| 200 - OK 409 - Conflict 500 - Internal error | Начать публикацию MPEG-TS потока | ||||||||||||||
/mpegts/find_all |
| 200 – потоки найдены 404 – потоки не найдены 500 - Internal error | Найти все опубликованные MPEG-TS потоки | |||||||||||||||
/mpegts/terminate |
| 200 - поток завершен 404 - поток не найден 500 - Internal error | Завершить MPEG-TS поток |
Параметры
Имя параметра | Описание | Пример |
---|---|---|
localStreamName | Имя, которое будет присвоено опубликованному потоку | test |
uri | URI для публикации потока | udp://192.168.1.39:31006 |
localMediaSessionId | Идентификатор медиасессии потока | 32ec1a8e-7df4-4484-9a95-e7eddc45c508 |
status | Статус потока | CONNECTED |
hasAudio | Поток содержит аудио | true |
hasVideo | Поток содержит видео | true |
record | Поток записывается | false |
timeout | Максимальное время ожидания медиаданных, мс | 90000 |
maxTimestampDiff | Максимально допустимое изменение метки времени, мс | 90000 |
Известные проблемы
1. Если публикация MPEG-TS потока была остановлена на стороне сервера по REST API /mpegts/terminate
, публикующий кодировщик продолжает отправлять медиаданные
Симптомы: при остановке публикации MPEG-TS потока на сервера сервере ffmpeg продолжает отправлять данные по UDP
...