我正在使用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
  [最终化器] DEBUG 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] DEBUG com.xuggle.xuggler-关闭
  悬挂容器
  (../../../../../../../csrc/com/xuggle/xuggler/Container.cpp:146)


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

最佳答案

删除“文件”,并将路径仅作为“ E:/AV/out2.flv”。会的。

08-24 21:52