如何使用HTML5video的VLC直播stream?
我尝试了HTTP Ogg / Theora,并且可以正常使用Chrome浏览器,但不能使用Firefox 7。
VLCconfiguration:
为了testing,我已经使用以下vlc命令行configurationstream式传输桌面:
vlc.exe屏幕://:screen-fps = 30:screen-caching = 100:sout =#transcode {vcodec = theo,vb = 800,scale = 1,width = 800,height = 600,acodec = none} http {mux = ogg,dst =:8181 / desktop}:no-sout-rtp-sap:no-sout-standard-sap:ttl = 1:sout-keep
HTML5video标签configuration:
<video id="video" src="http://my_host_name:8181/desktop" type="video/ogg; codecs=theora" autoplay="autoplay"/>
有任何想法吗?
我苦苦挣扎了一段时间,并且能够validationOgg / Theora在Firefox 7,Nightly 10和Opera Next中的工作情况。
现在一切都在谷歌浏览器上工作。 我在Chrome上遇到的问题是,XP中最新版本的Chrome不再需要在命令行中传递“–enable-webgl”指令。 XP中唯一需要的命令行条目是'–ignore-gpu-blacklist',因为GPU在XP中被列入黑名单。
另外,我能够validationChrome能够在Web-m / VP8 / Vorbisstream中正常工作。 Opera和Firefox尚未支持。
我发现的主要问题是:
1 – 页面加载:如果您从文件系统加载页面,而不是从networking浏览器加载,则video将不会显示(任何video,vlc或文件)。
要解决这个问题,只要确定你正在从networking服务器加载你的内容。
2 – 实时/实时stream:使用 VLC,为了使其工作,我必须浏览WebGL / HTML5video安全限制。 偶然发生的videostream不是来源于同一个Web服务器和Web上下文或子上下文,由于安全限制,它不会被播放。
为了解决这个问题,只需将你的应用程序服务器与Apache Web服务器对接,并将VLCstreamconfiguration为从加载的网页的Web子上下文中。 例如,在Apache 2.2中启用mod proxy,并将以下行添加到您的httpd.conf文件中:
# Mod_proxy Module ProxyReceiveBufferSize 16384 ProxyRequests On ProxyVia On ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> # VLC server stream ProxyPass /desktop/video/stream.ogg http://vlc_streaming_host:8181/desktop.ogg ProxyPassReverse /desktop/video/stream.ogg http://vlc_streaming_host:8181/desktop.ogg # If content is on another server (JBoss, Spring, etc...) then uncomment next lines #ProxyPass /desktop http://server_content_host:8080/streamer #ProxyPassReverse /desktop http://server_content_host:8080/streamer
如果你也使用Apache来存储你的内容,那么,根据上面的例子,把你的HTML页面放在名为“desktop”的目录下。
到目前为止的总结:尽pipeHTML5video规格为stream提供了空间,但到目前为止,我的结论是,HTML5video尚未准备好实时stream式传输。 在我的实验中,video标签总是会被缓冲,而我找不到一种方式来禁用它,结果导致至less滞后5到8秒。
所以,我想现在基于Flash和RTMP的解决scheme还是要走的。