我正在使用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”。会的。