我正在研究一种半实时检测特定情景的图像处理问题。我的目标是以某种方式将实时视频作为Motion JPEG帧传递到我的Java代码中。
我熟悉Java媒体框架,但不幸的是,我认为它是一个已经死亡的API。我也熟悉Axis boxes,虽然我非常喜欢他们的解决方案,但我希望能够得到有关我感兴趣的具体要点的任何批判性反馈。
以下是我在本次讨论中定义“最佳”的方式:
我熟悉Java媒体框架,但不幸的是,我认为它是一个已经死亡的API。我也熟悉Axis boxes,虽然我非常喜欢他们的解决方案,但我希望能够得到有关我感兴趣的具体要点的任何批判性反馈。
以下是我在本次讨论中定义“最佳”的方式:
- 延迟 - 如果我使用这个视频流控制相机,希望往返延迟时间尽可能少于100毫秒。这是指从我的控制输入到我看到可见变化的时间。编辑后补充:需要注意的另一件事是相机控制可能是手动和自动(事件触发)的组合。即使高质量的视频流被单独存档,我们也需要立即看到这些图片。
- 成本 - 免费/开源比非免费更好。
- 可调节编解码器参数 - 我需要能够为特定情况调整编解码器。有时,高速低分辨率的流实际上更容易处理。
- "集成"Java - 将此解决方案与我的代码连接起来需要多大麻烦?我是通过套接字发送数据包吗?还是访问URL?还是安装Direct3D/JNI组合?
- Windows/Linux/两者都支持? - 我希望有一个操作系统不可知的解决方案,因为我必须交付给几种不同的操作系统,但可能有一种解决方案对其中一种操作系统最优。
注意:我知道其他图像/视频捕获编解码器,但这不是本问题的重点。由于丢失帧的精度,我特别不感兴趣流API(例如MPEG4)。但是,如果有一个解决方案可以提供另一个帧精确的数据流,请加入讨论。
针对这个问题的后续:目前,我强烈倾向于购买像Axis视频编码器这样的电器,而不是尝试直接在软件或PC上捕获视频。然而,如果有其他选择,我很想听听它们。