Я использую Janus для передачи видеопотока с камеры 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 (Windows 7, 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:[email protected]: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.
В хелпгруппе Януса я зашел настолько далеко, насколько это возможно, так как поток идет через Янус, это уже не их компетенция.
Рекомендации: