代码之家  ›  专栏  ›  技术社区  ›  aib

从JMF中的视频捕获读取原始数据

  •  3
  • aib  · 技术社区  · 17 年前

    我正在尝试使用JMF(Java媒体框架)从视频捕获设备读取原始视频帧。

    我已经成功地编写了“捕获”部分-使用 由创建的对象 经理 ,我可以从网络摄像头显示实时视频。但是,我不知道如何创建自定义组件来访问实际帧。这可能是因为到目前为止 经理 创建了我需要的每个类实例。

    我想首先编写一个显示视频的GUI组件。(我不熟悉AWT/Swing,但基于对其他GUI框架的了解,我想说的是从JPanel派生出来的东西,比如说,当发出重新绘制请求或有新帧可用时,JPanel会绘制视频。)我希望能够处理每一个新帧并在所有像素上循环x/y。我可以在我的设备上使用raw/RGB格式,但是从(比如)YUV自动转换不会有什么坏处。

    加工机 数据池 在几个不同的地方。使用 加工机 数据池 似乎是一个更简单的选择,没有那么无用的抽象函数。然而,无论哪种情况,我都完全不知道如何:

    a) 将组件连接到我的视频捕获数据源

    我甚至可能走错了方向;我只是想记录我迄今为止所做的尝试。JMF文档似乎很少,而且主要面向[设计]媒体播放器和转换器。

    注意:处理库似乎有一个简单的解决方案。我看到了一个例子,大致如下: x = new Image(captureDevice.getFrame()) 这似乎表明像素级的访问是可能的,通过图像,如果不是中间类型。

    但我真的想先看看JMF有多难。

    2 回复  |  直到 17 年前
        1
  •  1
  •   Keith Mattix    14 年前

    我很抱歉,但在这一点上,JMF基本上已经死了。你可能会使用FX,但FX也不是很好。

        2
  •  1
  •   Community Mohan Dere    9 年前

    你可以试试我发布的代码 here ,它使用JMF和一个名为FrameGrabber的类。