VLC Webcam Streaming:如何有效地从单个流转换到并行流?

时间:2013-06-06 19:00:27

标签: html5 video streaming webcam vlc

我长期使用Yawcam来获得基本的网络摄像头流媒体需求,并取得了巨大的成功。最近,我遇到了一个非营利性项目,我在这个项目中自愿在他们的公共页面上流式传输网络摄像头。我正在努力使系统尽可能简单且得到很好的支持,因为我终于不能再支持它了。

考虑到这一理念,我正试图过渡到VLC,因为它的支持在整个网络上都很棒。我写了一个似乎完成工作的小命令(我是新手,所以如果写得不好我就道歉):

"C:\Program Files\VideoLAN\VLC\vlc.exe" -I dummy dshow:// :dshow-vdev="HD 720P Webcam" :dshow-adev=:live-caching=300 :sout=#transcode{vcodec=theo,vb=800,scale=1,width=600,height=480,acodec=mp3}:http{mux=ogg,dst=127.0.0.1:8081/desktop.ogg} :no-sout-rtp-sap :no-sout-standard-sap :ttl=1 :sout-keep

我从网上和VLC生成的命令中的几个不同来源获取了这些元素。

我的HTML文件非常简单,并使用视频标记。

<!DOCTYPE html>
<html>
    <head>
        <title>Video Test</title>
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
        <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    </head>
    <body>
         <video id="video" src="http://localhost:8081/desktop.ogg" type="video/ogg; codecs=theora" autoplay="autoplay">
    </body>
</html>

这很棒!我当前的机器有大约2秒的延迟,但对于当前的应用来说这应该没什么关系(尽管有关如何将其降低到更像100-200ms的建议将非常受欢迎)。

我不知道该怎么做(我是一名嵌入式系统工程师,而不是Web开发人员),使用这些概念使许多用户可以同时高效地访问系统。根据它现在的工作原理,我认为这是一种点对点连接。因此,网络摄像头需要连接到服务器(目前只是我桌面上的PC)。显然,我没有托管可以处理他们希望的那种流量的服务器。是否有一些服务器端代码可以在连接到网络摄像头的地方运行,并将流转发给请求访问的人?我没有看过他们的服务器,但我很确定他们有一些由动物收容所托管的linux计算机。

我希望建立这个架构:

PC运行网络摄像头托管单流 - &gt; Web服务器读取流并转发给请求者 - &gt;用户接收流

我知道我的知识差距很大,但如果有人能指出我可以指导我朝正确方向前进的参考资料,我会很快学习!

非常感谢任何建议!

1 个答案:

答案 0 :(得分:1)

您必须使用一些流媒体服务。如果您想根据自己的需要定制(嵌入您的网站,更改设计等),很可能会花费您一分钱。

尝试Livestream.comUstreamTV1.EU

或者您可以在RED5ErlyVideo

的帮助下设置自己的流媒体服务