【问题标题】:capture video from a built-in camera programatically以编程方式从内置摄像头捕获视频
【发布时间】:2010-10-07 23:12:21
【问题描述】:

我在想如何在 Linux ubuntu 下从上网本的内置摄像头捕捉视频。编程语言可能不是问题(但我更喜欢 Java 或老派 c)

提前感谢您的回答, 吉安

【问题讨论】:

    标签: java c++ c video-capture


    【解决方案1】:

    您可以查看 OpenCV,用于 C/C++。它非常强大。

    【讨论】:

    • 嘿,我查看了 OpenCV,它看起来是一个非常大的 API,更多用于处理图像。我只想从网关上网本上的内置摄像头捕捉视频,然后通过互联网进行流式传输
    • @gvalero87 OpenCV 会做你想做的事,但根据我在 Windows 而不是 Linux 中使用它的经验,因为你可以使用 EmguCV 包装器并在 C# 中开发。
    • @typoknig 是的,我什至发现了一些其他的 Windows 库。问题是我在 Linux 上特别需要它
    • OpenCV 可以使用 v4l,所以是的,OpenCV 可以用于此目的。如果您不需要 OpenCV 的其余部分,那么它可能有点过头了。
    【解决方案2】:

    对于 Java,请查看 Java Media Framework。它已经有一段时间没有更新了,但可以用来捕捉视频。我前段时间用它写了一些电话会议类型的东西。

    【讨论】:

    • 是的,我知道了,但是这么长时间没有更新不是问题吗?
    • 我用的时候还没有开发,没遇到什么问题。我使用的所有东西都能正常工作并且有据可查。
    【解决方案3】:

    在 Linux 中,与网络摄像头对话的典型方式是通过 v4l

    这是一个名为 libfg 的库,用于在 v4l 之上提供简单的高级 C API。

    【讨论】:

      【解决方案4】:

      如果你不介意使用 flash,我会用 flex 编写它,它非常简单,你可以编写它以在几乎所有操作系统上运行(ipad 除外)。您可以使用此代码作为起始示例:http://www.red5-recorder.com/

      您还可以将 red5 本身用作一个不错的开源流媒体服务器。您不需要为此购买任何东西,尽管使用 flex builder 更容易编写代码,但我认为您可以获得 60 天的试用期。

      【讨论】:

      • 它说那是“你的网站”。其实我不需要它的网站。我只想从内置摄像头捕获并通过套接字流式传输。 red5 会帮我吗?
      • @gvalero87,我不这么认为。还有,Flash是邪恶的,你没收到备忘录吗? ;-)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多