Источник видео H264 не воспроизводится ни в одном браузере

Я использую 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.

В хелпгруппе Януса я зашел настолько далеко, насколько это возможно, так как поток идет через Янус, это уже не их компетенция.

Рекомендации:


person Daniel    schedule 29.04.2018    source источник
comment
Может формат не подходит? Можете ли вы опубликовать вывод ffmpeg? Вместо этого вы можете попробовать ffplay и увидеть ошибку.   -  person mdasari    schedule 29.04.2018
comment
Я не могу сделать ffplay, потому что это безголовый сервер. Выход FFMPEG будет приложен.   -  person Daniel    schedule 29.04.2018
comment
Я бы направил вас к сообщению, где вы можете выполнить свою задачу, вероятно, из-за того, что вы неправильно настроили страницу потоковой передачи html на своих веб-серверах.   -  person OlaB    schedule 01.05.2018
comment
загляните на эту страницу planb.nicecupoftea.org/2015/10/17/   -  person OlaB    schedule 01.05.2018
comment
Также похоже, что janus должен быть настроен и построен для каналов данных   -  person OlaB    schedule 01.05.2018
comment
последнее, на что я бы посоветовал вам, это убедиться, что вы настроили прокси для janus как /janus на любом веб-сервере, на котором вы используете apache или ngnix, указывающем на полный URL-адрес вашего веб-сервиса, чтобы вы могли перенаправлять вызовы с / janus на вашу веб-страницу. Шлюз настроен на просмотр /janus   -  person OlaB    schedule 01.05.2018
comment
Прокси будет настроен везде, где у вас есть конфигурация веб-сервера вашего доменного имени, если у вас нет пользовательской настройки домена с использованием файла конфигурации веб-сервера по умолчанию, это нормально, также убедитесь, что вы используете безопасную страницу https для просмотра потока из janus , большинство веб-браузеров по умолчанию заблокировали видео через порт 80, поэтому попробуйте использовать порт 7443, чтобы исключить неизвестные ошибки.   -  person OlaB    schedule 01.05.2018
comment
Спасибо, я прочитал вашу рекомендацию по странице, но я хочу транслировать автономную камеру (с поддержкой RTSP). Не камера RPi, так что это совсем другая история. Я попробую изменить порт и вернуться сюда.   -  person Daniel    schedule 02.05.2018
comment
Даже после смены портов (сейчас nginx на 7080) то же самое. Не работает. Любые другие советы?   -  person Daniel    schedule 02.05.2018
comment
@Daniel Я рекомендовал вам страницу только для части конфигурации Janus.   -  person OlaB    schedule 03.05.2018
comment
Я заставил мою работать как автономную IP-камеру Axis с демонстрационной конференцией Janus в Firefox, я не знаю точно, в чем ваша проблема, я просто привел примеры проблем, которые мне пришлось исправить, когда я получил белый экран   -  person OlaB    schedule 03.05.2018
comment
Попробуйте использовать UV4L webrtc, он уже встроен в комнаты Janus Video и Jitisi, хотя и является экспериментальным, на Linux 32, 64, ARM. я не знаю вашу ОС   -  person OlaB    schedule 03.05.2018
comment
Если вы хотите попробовать этот маршрут, дайте мне знать, потому что после публикации комнаты через настраиваемый интерфейс UV4L вы можете щелкнуть ссылку, которая запускает демонстрационную комнату с вашей IP-камерой как в качестве подписчика, так и в качестве издателя.   -  person OlaB    schedule 03.05.2018
comment
и если вы не добавите @ с моим именем, я не получу уведомления о вашем сообщении   -  person OlaB    schedule 03.05.2018
comment
вы также можете попробовать пользовательскую демонстрационную комнату @mpromonet stackoverflow.com/users/3102264/mpromonet, чтобы хотя бы протестировать свои браузеры.   -  person OlaB    schedule 03.05.2018
comment
@OlaB, спасибо! Не могли бы вы прислать мне ссылку на демонстрационную комнату mpromonet? Я не могу найти его.   -  person Daniel    schedule 05.05.2018