代码之家  ›  专栏  ›  技术社区  ›  Matthieu Napoli

在Mac Os X上用Java获取网络摄像头流[关闭]

  •  7
  • Matthieu Napoli  · 技术社区  · 15 年前

    我使用Java,对Objective-C一无所知,所以我在寻找一个“完整的Java”解决方案。我找到了一些类例,但它们是2005年制作的,不适用于我的系统。

    4 回复  |  直到 11 年前
        1
  •  6
  •   Community Mohan Dere    8 年前

    我现在也遇到了同样的事情。我在我的项目中使用VLCJ,它在Windows、Linux-Mint、Linux-Ubuntu和Mac-OSX-Lion上运行得非常好。正如您可能读到的,VLCJ是一个围绕libvlc的java包装器,VLC播放器也使用它。

    问题是,当你打开VLC播放器的捕捉选项,它填充可用的摄像头(USB连接)组合框。但这是VLC播放器只为自己做的事情,它没有为此提供API。如果你没有通过VLCJ传递一些摄像机的ID,VLC将使用系统的默认摄像机。我使用VLCJ从USB连接的摄像头或桌面流到文件。

    我必须找到一种方法来“扫描”我的系统上的USB摄像头,这是一些操作系统特定的东西。

    在我使用的窗口上 DirectShowJava

    在Linux上,您只需阅读/dev/video*即可获得可用的摄像头,如果您想向用户显示一些“用户友好的名称”,则可以使用 video4linux4java

    第三个也是你最感兴趣的一个,我还没试过,但我会试试这个: stack , example .

    如果libvlc能给出这样的结果就更好了,因为我不需要再使用3个API(对于3个操作系统),每个API都能做VLCJ能做的事情(仅在这个平台上),我只是用它们来读取设备。

    编辑 VLC 1.2.0将很快问世,它将有更好的Mac支持(了解其他连接的摄像头、桌面流、音频)。你可以看到我的 thread 在VideoLAN论坛上。我为Mac下载了1.2.0-git版本的VLC,它看起来很酷,有真正的“Mac感觉”。你可以从 here . 但请注意,这是一个开发版本,它崩溃了很多。

        2
  •  1
  •   trashgod    15 年前
        3
  •  0
  •   Johnbabu Koppolu    15 年前

    试过JMF吗?你可以开始了 here

        4
  •  0
  •   Anthony Ho    13 年前

    我找到了OpenIMAJ核心视频捕获库,它在我的MacBook、Windows PC和Linux服务器上运行良好。缺点是它有很多依赖性。

    所以我修改了OpenIMAJ代码,制作了另一个不需要这些疯狂特性的包。您可以从我的网站获取我的代码和演示应用程序(开源bsd许可证): http://www.sleepingdumpling.com/blog/download/jvideoinput/

    OpenIMAJ和贡献者的功劳。

    推荐文章