Я использую Янус для передачи видеопотока с камеры RTSP / H.264 ( QD800 ) через WebRTC в браузеры.
В каких браузерах я говорю?
Вот подробности:
- Firefox (Linux, 64-разрядная версия 59.0.2)
- Firefox (Windows7, 64-разрядная версия 59.0.2)
- Chrome (Linux, 64-разрядная версия 49.0.2623.87)
- Chrome (Windows7, 64-разрядная версия 66.0.3359.139)
Изначально камера отправляет 420029 в качестве идентификатора уровня профиля в SDP при согласовании с клиентом (Янус).
Однако, как таковой, Firefox не может воспроизводить эту версию (420029 означает уровень 4.1, FF способен играть только 3.1 в теории, но оба имеют ограниченный базовый профиль).
Теперь моя конфигурация потокового плагина Janus выглядит следующим образом:
[rtsp-test]
type = rtsp
id = 4
description = RTSP
url = rtsp://admin:admin@a.b.c.d:554/11
audio = no
video = yes
videopt = 96
videortpmap = H264/90000
videofmtp = profile-level-id=42e01f\;packetization-mode=1\;sprop-parameter-sets=Z00AKpWoHgCJ+VA=,aO48gA==
secret = adminpwd
Как видите, он переопределяет идентификатор уровня профиля в конфигурации videofmtp.
Это работает нормально, я могу проверить новый идентификатор уровня профиля в консоли WebRTC как в FF, так и в Chrome в обеих ОС.
Я использую демонстрационный HTML-код по умолчанию, который предоставляется для Janus (demos / streamingtest.html).
Ни в одном браузере не отображается ни одно видео.
Отображается только белое поле.
Когда я нажимаю на игру:
- в Chrome: «Начался поток 405 кбит / с». Белый видеоэкран, спиннер крутится.
- в Firefox: «Поток начался 0x0 407 кбит / с». Белый видеоэкран, без счетчика, без видео.
PS1 .: Моя камера работает, VLC может воспроизводить поток RTSP непосредственно с нее.
PS2 .: FF и Chrome фактически принимают поток, но не могут его декодировать.
PS3 .: Я также пытался пропустить весь RTSP через FFMPEG:
ffmpeg -i 'rtsp://ip-camera' -an -codec copy -f rtp 'rtp://127.0.0.1:20000'
А затем используйте образец RTP Януса, но я получил тот же результат, что и выше. См. Вывод FFMPEG .
В справочной группе Janus я прошел как можно дальше, поскольку поток проходит через Janus, это уже не их компетенция.
Ссылки: