Как отобразить потоковое видео, полученное от системы камеры наблюдения на сайте - PullRequest
0 голосов

Я хочу отобразить потоковое видео с системы камеры наблюдения на веб-сайте (asp.net/html5). Из их api-документа я могу получить снимок для отображения в теге img, но не могу получить потоковое мультимедиа (H.264) для отображения в теге video.

Я пытаюсь открыть его с помощью проигрывателя VLC, но не могу заставить его работать. Я не знаю, так ли это, потому что у него есть ответ contentType multipart / x-mixed-replace; граница = - DigifortBoundary; этот тег видео не будет работать.

Я попробовал видео тег, как это.

<video id="video1" controls autoplay
  src="http://localhost:8601/Interface/Cameras/GetMediaStream?Camera=01&AuthUser=admin&AuthPass=password" >
</video>

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Я работаю над той же проблемой с Digifort HTTP API.Текущий обходной путь для меня заключается в том, чтобы вместо этого запросить поток живого видео MJPEG.

<img style="-webkit-user-select: none; max-width: 100%;" src="http://192.168.0.38:8601/Interface/Cameras/GetJPEGStream?Camera=02&ResponseFormat=XML&Quality=100&Width=1920&Height=1080&AuthUser=admin&AuthPass=123456">

Обратите внимание, что MJPEG использует элемент <img> и изначально не поддерживается в IE.

0 голосов
/ 21 апреля 2019

То, что у вас есть, это элементарный поток H.264, и я предполагаю, основываясь на тех заголовках, что он просто содержит I-кадры. Поскольку это элементарный поток, его нельзя просто воспроизвести в теге <video>. Вы должны сначала смешать его с контейнером, таким как MP4. Затем вам нужно поместить эти данные в элемент video.

Во-первых, вам нужно получить этот поток с помощью Fetch API. Убедитесь, что это работает даже в вашей стране, и что нет никаких проблем с CORS.

Далее вам нужно выяснить, как мультиплексировать этот поток. Для этого есть несколько библиотек JavaScript, но я не могу предложить конкретное предложение, поскольку я не проверял ни одного. (Возможно https://github.com/videojs/mux.js/? Не уверен, работает ли это на стороне клиента или нет.)

Как только у вас есть поток MP4, вам нужно будет использовать Расширения медиаисточников , чтобы превратить этот контент во что-то воспроизводимое.

Есть альтернатива всему этому. Смешайте его на стороне сервера с FFmpeg.

...