1

我正在使用 OpenIMAJ 在视频上绘制面部关键点,但它本身就卡在了第一步。这是我要运行的代码::

Video<MBFImage> video;
    video = new XuggleVideo("file://E:/AV/out2.flv");//XuggleVideo("file:"+fileName);
    VideoDisplay<MBFImage> display = VideoDisplay.createVideoDisplay(video);
    display.addVideoListener(
             new VideoDisplayListener<MBFImage>() {
                    public void beforeUpdate( MBFImage frame ) {

                        FaceDetector<DetectedFace,FImage> fd = new HaarCascadeDetector(40);
                        List<DetectedFace> faces = fd.detectFaces( Transforms.calculateIntensity(frame));

                        for( DetectedFace face : faces ) {
                            frame.drawShape(face.getBounds(), RGBColour.RED);
                        }
                    }

                    public void afterUpdate( VideoDisplay<MBFImage> display ) {
                    }
      });

当我运行它时它会打印

file:///E:/​​AV/out2.flv URL file:///E:/​​AV/out2.flv 无法被 ffmpeg 打开。而是尝试打开指向 URL 的流。11:14:12.505 [Finalizer] 调试 com.xuggle.xuggler - 关闭悬空容器 (../../../../../../../csrc/com/xuggle/xuggler/Container. cpp:146)

在屏幕上,然后就消失了。如果我使用 video = new XuggleVideo(new File("E:/AV/out2.flv")); 结果是一样的

另外,如果我将文件保存在项目中,然后执行 video = new XuggleVideo(new File("out2.flv")); 我得到相同的结果。

如果我将链接放在浏览器中,我就可以访问该文件。出了什么问题?

更新:我得到了这个

out2.flv 12:03:06.485 [Finalizer] 调试 com.xuggle.xuggler - 关闭悬空容器 (../../../../../../../csrc/com/xuggle/xuggler /Container.cpp:146)

如果我使用video = new XuggleVideo("out2.flv");

4

1 回答 1

0

删除“文件”并将您的路径仅指定为“E:/AV/out2.flv”。它会起作用的。

于 2014-09-20T18:28:56.177 回答