如何使用VLC实时流与HTML5视频?

前端之家收集整理的这篇文章主要介绍了如何使用VLC实时流与HTML5视频?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试HTTP Ogg / Theora和工作正常与Chrome,但不是与Firefox 7。

VLC配置:

对于测试,我已经使用以下vlc命令行配置流式传输桌面:

vlc.exe screen:// :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

HTML5视频标签配置:

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

有任何想法吗?

解决方法

我努力了这一段时间,我能够验证Ogg / Theora工作正常在Firefox 7,Nightly 10和Opera Next。

现在,所有内容也都在使用Google Chrome。我使用Chrome的问题是,XP中的最新版本的Chrome不再需要在命令行中传递的“–enable-webgl”指令。 XP中需要的唯一命令行条目是“–ignore-gpu-blacklist”,因为GPU在Windows XP中被列入黑名单。

此外,我能够验证Chrome的工作原理与Web-m / VP8 / Vorbis流。 Opera和Firefox还没有支持它。

我发现的主要问题是:

1 – 页面加载:如果从文件系统加载页面,而不是从Web浏览器加载页面,则不会显示视频(任何视频,vlc或文件)。

解决它,只需确保您从网络服务器加载您的内容

2 – 实时/实时流:VLC被使用,为了使其工作,我不得不浏览WebGL / HTML5视频安全限制。它发生,不是源自相同的Web服务器和Web上下文或子上下文的视频流将不会播放由于安全限制。

解决这个问题,只需使用Apache Web服务器在应用程序服务器前面,并从加载的网页将VLC流配置为Web子上下文。例如,在Apache 2.2中启用mod代理并将以下行添加到您的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”的目录下。

结论到目前为止:
即使HTML5视频规范为流提供了空间,到目前为止我的结论是HTML5视频几乎没有准备好进行直播。在我的实验中,视频标签将总是缓冲,我找不到一个方法来禁用它,这最终导致至少5至8秒滞后。

所以,我猜,现在基于Flash和RTMP的解决方案仍然是要走的路。

猜你在找的HTML5相关文章