Потоковая передача mp4 с vlc в html-браузер
У меня возникли проблемы с потоковой передачей изображения веб-камеры (без звука) на страницу html. Я использую последнюю версию (v2.0.2 vlc для Windows) для потоковой передачи, вот в командной строке:
"c:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -I dummy dshow:// --dshow-vdev="Logitech QuickCam Chat" --dshow-adev=none --dshow-caching=0 --sout=#transcode{vcodec=h264,vb=1024,channels=1,ab=128,samplerate=44100,width=320}:http{mux=ts,dst=:8080/webcam.mp4}
когда я открываю поток в другом проигрывателе vlc (http://127.0.0.1:8080/webcam.mp4), я могу посмотреть поток, но когда я пытаюсь внедрить его на веб-страницу, я могу видеть ничего! здесь код:
<!DOCTYPE html>
<html>
<head>
<title>Video Test</title>
</head>
<body>
<video id="video" class="projekktor" autoplay="autoplay" width="300px" preload="metadata">
<source src="http://127.0.0.1:8080/webcam.mp4" />
Your browser doesn't appear to support the HTML5 <code><video></code> element.
</video>
</body>
</html>
Чем я пытаюсь открыть его в браузере, например:
file:///C:/videostreaming/video.html
Что я вижу в примере на chrome, так это то, что сетевой трафик, поток загружается, но ничего не отображается.
Ответы
Ответ 1
Вы не можете передавать протокол mp4 по протоколу HTTP с помощью VLC
Следуйте этой ссылке, чтобы увидеть матрицу Output/muxer matrix
http://www.videolan.org/streaming-features.html
Однако вы можете попробовать перекодировать в ogg.
Попробуйте следующее:
"c:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -I dummy dshow:// --dshow-vdev="Logitech QuickCam Chat" --dshow-adev=none --dshow-caching=0 --sout=#transcode{vcodec=theo,vb=1024,channels=1,ab=128,samplerate=44100,width=320}:http{dst=:8080/webcam.ogg}
и в вашем теге видео html:
<source src="http://127.0.0.1:8080/webcam.ogg"/>
Ответ 2
попробуйте добавить тип видео (type = "video/mp4" ):
<video width="320" height="240" controls="controls">
<source src="movie.mp4" type="video/mp4" />
<source src="movie.ogg" type="video/ogg" />
Your browser does not support the video tag.
</video>
Ответ 3
вы сообщаете VLC о потоке в формате TS mux=ts
, это ваша проблема, вам нужно mux в mp4