opencv java加载类org/bytedeco/javacpp/Loader时出错。视频快照
我正在尝试使用以下代码从视频生成快照。它作为一个java应用程序在sts上运行良好opencv java加载类org/bytedeco/javacpp/Loader时出错。视频快照,java,image,maven,spring-mvc,opencv,Java,Image,Maven,Spring Mvc,Opencv,我正在尝试使用以下代码从视频生成快照。它作为一个java应用程序在sts上运行良好 public class VideoThumbTaker { public static void main(String[] args) { FFmpegFrameGrabber g = new FFmpegFrameGrabber("/home/anupam/Downloads/jk.mp4"); g.setFormat("mp4"); t
public class VideoThumbTaker {
public static void main(String[] args)
{
FFmpegFrameGrabber g = new FFmpegFrameGrabber("/home/anupam/Downloads/jk.mp4");
g.setFormat("mp4");
try {
g.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (int i = 0 ; i < 1 ; i++) {
try {
ImageIO.write(g.grab().getBufferedImage(), "png", new File("/home/anupam/Downloads/" + System.currentTimeMillis() + ".png"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
g.stop();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public类视频采集程序{
公共静态void main(字符串[]args)
{
FFmpegFrameGrabber g=新的FFmpegFrameGrabber(“/home/anupam/Downloads/jk.mp4”);
g、 setFormat(“mp4”);
试一试{
g、 start();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
对于(int i=0;i<1;i++){
试一试{
write(g.grab().getBufferedImage(),“png”,新文件(“/home/anupam/Downloads/”+System.currentTimeMillis()+”.png”);
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
试一试{
g、 停止();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
使用maven依赖项
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>0.8</version>
</dependency>
org.bytedeco
爪哇
0.8
部署war文件后,下面的代码给出了加载类org/bytedeco/javacpp/Loader时的错误
@RequestMapping(value = "menu9data", method = RequestMethod.POST)
public JSONObject view(@RequestPart(name = "file", required = false) MultipartFile image,@Valid MenuData model, BindingResult results) {
String name1;
FFmpegFrameGrabber g = new FFmpegFrameGrabber("/home/anupam/Downloads/"+name1); //Error
g.setFormat("mp4");
try {
System.out.println("enterss");
g.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (int i = 0 ; i < 1 ; i++) {
/* try {
// ImageIO.write(((Object) g.grab()).getBufferedImage(), "png", new File("/home/anupam/Downloads/"+name1+"snap"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
}
try {
g.stop();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@RequestMapping(value=“menu9data”,method=RequestMethod.POST)
公共JSONObject视图(@RequestPart(name=“file”,required=false)多部分文件映像,@Valid MenuData model,BindingResult){
字符串名称1;
FFmpegFrameGrabber g=新的FFmpegFrameGrabber(“/home/anupam/Downloads/”+name1);//错误
g、 setFormat(“mp4”);
试一试{
系统输出打印项次(“输入”);
g、 start();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
对于(int i=0;i<1;i++){
/*试一试{
//image io.write(((Object)g.grab()).getBufferedImage(),“png”,新文件(“/home/anupam/Downloads/”+name1+“snap”);
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}*/
}
试一试{
g、 停止();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
}