【问题标题】:VLC Webcam Streaming: How to go from a single stream to parallel streaming efficiently?VLC 网络摄像头流式传输:如何有效地从单个流式传输到并行流式传输?
【发布时间】:2013-06-06 19:00:27
【问题描述】:

我长期以来一直使用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 文件非常简单,使用 video 标签。

<!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-200 毫秒的建议)。

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

我希望制作架构:

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

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

非常感谢您的建议!

【问题讨论】:

  • vlc 作为服务器可以处理多个传入的客户端连接...

标签: html video streaming webcam vlc


【解决方案1】:

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

试试Livestream.com、Ustream、TV1.EU

或者您可以在RED5 或ErlyVideo 的帮助下建立自己的流媒体服务

【讨论】:

  • 你是对的。我花了一整天的时间在玩这些东西,试图开发一个使用 VLC 的漂亮、简单的系统,但归根结底,UStream 太容易被忽略了。看看基本的免费功能,应该可以满足他们的需求。
猜你喜欢
  • 2011-09-11
  • 2014-06-18
  • 1970-01-01
  • 2013-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多