2016-03-04 5 views
1

в соответствии с this post Я пытаюсь отобразить прямой эфир H.264 с IP-камеры (плагин AXIS M1145-L + CamStreamer) на веб-странице без использования каких-либо внешних плагинов браузера (только чистый HTML5) и для рабочего стола.Отправка H.264 в прямом эфире в Nginx и публикация в виде HLS для встраивания на сайт

Как прочитать I`ve там можно сделать это с video.js и ЗОЖ, так это то, что я пробовал:

Stream from camera (push to rtmp with CamStreamer) --> to nginx (rtmp module) --> 
nginx serves HLS --> display with video.js and videojs-hls plugin in browser 

Во время просмотра потока внутри VLC, используя это `ы HLS URL (http://192.168.1.105:8080/hls/movie.m3u8) У меня нет проблем или лагов, но я не могу заставить его работать в браузере с помощью video.js.

Он всегда сообщает мне о недействительных носителях.

Оригинальный поток выталкивается: RTMP: //192.168.1.105: 1935/ЗОЖ/фильм

192.168.1.105 это машина, где Nginx работает.

поток Hls затем является доступным на http://192.168.1.105:8080/hls/movie.m3u8

То, что я полностью хочу, чтобы избежать является необходимость повторного кодирования видео в качестве машины о том, где он будет работать позже, не в силах сделать это и это будет также полным потоком hd. Вот почему я отказался от FFmpeg (необходимо перекодировать Mp4 для Live-Streaming). Также у машины не будет непрерывного доступа в Интернет, поэтому онлайн-транскодирование также невозможно.

Пожалуйста, помогите. Спасибо !

ответ

2

Наконец-то получил.

Использование библиотеки hls.js (https://github.com/dailymotion/hls.js) автономное без video.js сделал трюк. Видео теперь отлично работает в Chrome/Opera в Windows 7. Еще не пробовал это с другими.

Итак, я думаю, что это проблема зависимости видео/кодека от video.js.

html-страница с проигрывателем должна быть на сервере (НЕ локальная файловая система!), В противном случае появятся ограничения безопасности браузера, которые предотвратят воспроизведение видео. Заметил, что при попытке использовать локальную html-страницу в браузере, в то время как hls.js демо работало с одним потоком.

Благодарим за советы!

0

Я столкнулся с аналогичной проблемой, пытаясь получить проигрыватель Video.js (с модулем HLS contrib) для загрузки потока HLS в ПК/Chrome. Игрок отобразит «Невозможно загрузить носитель ... потому что формат не поддерживается».

Позже я обнаружил, что он отлично играет в браузерах Mac/Safari и PC/MS Edge.

Полная поддержка браузера HLS по-прежнему довольно не хватает.

У меня был успех с игроком Bitmovin Bitdash и понял, что это проблема с браузером (а не с потоком или проблемой nginx).

+0

Благодарю вас, попробуй битдаш :-) – Thomas233

+0

@ Thomas233 - Работает ли видеопоток на странице в Mac/Safari или PC/MS Edge? – iangetz