Streaming mp4 with vlc to html browser

落爺英雄遲暮 提交于 2019-11-27 02:14:09

问题


I have problems streaming my webcam picture (without sound) to a html page. I'm using the latest (v2.0.2 vlc for windows) for streaming, here's the command line:

"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} 

when I open the stream in another vlc player (http://127.0.0.1:8080/webcam.mp4), I can watch the stream, but when I'm trying to embedding it to a webpage, I can see nothing! here's the code:

<!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>&lt;video&gt;</code> element.  
    </video>
  </body>
</html>

Than I'm trying to open it in the browser like:

file:///C:/videostreaming/video.html

What I can see in chrome example, is that there's network traffic, the stream is downloading, but nothing displayed.


回答1:


You can't transmit mp4 over http protocol using VLC

Follow this link to see the Output method / muxer matrix http://www.videolan.org/streaming-features.html

However you can try to transcode to ogg.

Try this:

"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}

and in your html video tag:

<source src="http://127.0.0.1:8080/webcam.ogg"/>



回答2:


try adding the type of video (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:


you're telling VLC to stream in TS format mux=ts this is your problem, you need to mux in mp4




回答4:


For live streaming you should use following

<video id="video" src="http://localhost:8181/stream" type="video/ogg; codecs=theora" autoplay="autoplay"/>

More at Here's a link!

Please note: Video type "ogg" only!



来源:https://stackoverflow.com/questions/11294836/streaming-mp4-with-vlc-to-html-browser

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!