Я следую за Куренто учебник по приемнику rtp в Windows. Мне удалось настроить KMS с помощью следующей команды Docker:
docker run --rm -p 8888:8888/tcp -p 5000-5050:5000-5050/udp -e KMS_MIN_PORT=5000 -e KMS_MAX_PORT=5050 -d kurento/kurento-media-server:последний
Я отправляю поток RTP с помощью ffmpeg со следующей командой:
ffmpeg -f gdigrab -framerate 30 -i title="Некоторое окно" -c:v h264_nvenc -f rtp rtp://127.0.0.1:5014
После запуска приложения Java в учебнике и открытия веб-страницы на https://локальный:8443/#
Мне удалось запустить поддельное предложение SDP и скопировать порт, на котором KMS прослушивает поток RTP. Это порт, который я использую в ffmpeg для отправки потока. После этого KMS вроде бы правильно принимает поток. Вот несколько повторяющихся журналов из контейнера KMS (они появляются только после запуска потока на ffmpeg):
0:20:36.047401800 1 0x7fc7480b6ad0 ПРЕДУПРЕЖДЕНИЕ kmsutils kmsutils.c:1452:kms_utils_depayloader_adjust_pts_out:<rtpopusdepay3> Исправлено не строгое увеличение PTS, последнее: 0:00:26.853434000, текущее: 0:00:26.71743400: последнее = исправлено 1:00,43400: 00:26.854434000
Но веб-браузер, похоже, не получает видеопоток от KMS. Мне удалось повторить это руководство на машине с Linux, и это сработало, вероятно, потому, что там мы можем использовать --сетевой хост
опция в контейнере KMS. Это SDP из RTP-потока ffmpeg:
v=0
о=- 0 0 В IP4 127.0.0.1
с=без имени
c=ВХОД IP4 127.0.0.1
т=0 0
а=инструмент:libavformat 58.76.100
м=видео 5044 RTP/AVP 96
б=АС:2000
а=rtpmap:96 H264/90000
a=fmtp:96 режим пакетирования=1
Где я ошибаюсь? Требуется ли какая-либо другая адаптация для запуска этого руководства в Windows?