我可以只使用lti-Civil类吗,还是需要FMJ或JMF?
如何使用CaptureObserver的实际流或捕获的图像集?

谢谢。



    captureStream = system.openCaptureDeviceStream(info.getDeviceID());
            captureStream.setObserver(new CaptureObserver(){

                public void onError(CaptureStream arg0, CaptureException arg1) {
                }

                public void onNewImage(CaptureStream streamSource, Image image) {
                    try
                    {
                        imageFrame.setImage(AWTImageConverter.toBufferedImage(image));
                        bufferedImage = AWTImageConverter.toBufferedImage(image);
                    }
                    catch (Throwable t)
                    {   t.printStackTrace(); }

                }

            });
captureStream.start();

最佳答案

如果我正确理解您的问题,那么Lti-civil网站上的介绍会给出答案:


LTI-CIVIL是一个Java库,用于从视频源(如USB摄像机)捕获图像。它提供了一个简单的API,并且不依赖或不使用JMF! FMJ项目通过提供civil:数据源将LTI CIVIL集成到JMF架构中。有关更多信息,请访问此网站的屏幕截图和项目状态部分


据我所知,您的代码未使用任何特定于JMF的类,因此上述代码应与普通LTI-CIVIL一起使用。

编辑:

根据您的澄清,我认为您将需要其他支持来对视频进行编码,因为LTI-CIVIL似乎仅专注于捕获。在FMJ和JMF中,由于JMF的发展似乎已停止,FMJ可能是一个更好的选择。有关其他替代方法,请参见this section of wikipedia article about JMF

08-17 10:15