я получаю следующее сообщение об ошибке в мой проект Java Xugglerкак решить эту ошибку в моем Xuggler Java проекта
Exception in thread "main" java.lang.UnsatisfiedLinkError: no xuggle in java.library.path
\t at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1709)
18:49:39.232 [main] ERROR com.xuggle.ferry.JNILibraryLoader - Could not load library: xuggle; version: 5; Visit http://www.xuggle.com/xuggler/faq/ to find common solutions to this problem
\t at java.lang.Runtime.loadLibrary0(Runtime.java:823)
\t at java.lang.System.loadLibrary(System.java:1030)
\t at com.xuggle.ferry.JNILibraryLoader.loadLibrary0(JNILibraryLoader.java:268)
\t at com.xuggle.ferry.JNILibraryLoader.loadLibrary(JNILibraryLoader.java:171)
\t at com.xuggle.ferry.JNILibrary.load(JNILibrary.java:161)
\t at com.xuggle.ferry.FerryJNI.<clinit>(FerryJNI.java:16)
\t at com.xuggle.ferry.Ferry.<clinit>(Ferry.java:25)
\t at com.xuggle.xuggler.XugglerJNI.<clinit>(XugglerJNI.java:19)
\t at com.xuggle.xuggler.Global.<clinit>(Global.java:238)
\t at VideoThumbnailsExample.<clinit>(VideoThumbnailsExample.java:39)
\t at java.lang.Class.forName0(Native Method)
\t at java.lang.Class.forName(Class.java:169)
\t at com.intellij.rt.execution.application.AppMain.main(AppMain.java:116)
Мой ява код
/**
* Created by deepak on 5/2/2015.
*/
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.xuggle.mediatool.IMediaReader;
import com.xuggle.mediatool.MediaListenerAdapter;
import com.xuggle.mediatool.ToolFactory;
import com.xuggle.mediatool.event.IVideoPictureEvent;
import com.xuggle.xuggler.Global;
public class VideoThumbnailsExample
{
public static final double SECONDS_BETWEEN_FRAMES = 10;
private static final String inputFilename = "E:\\videotutorial\\Android Application Development \\001 - Download and Install the Java JDK.mp4";
private static final String outputFilePrefix = "c:/snapshots/mysnapshot";
// The video stream index, used to ensure we display frames from one and
// only one video stream from the media container.
private static int mVideoStreamIndex = -1;
// Time of last frame write
private static long mLastPtsWrite = Global.NO_PTS;
public static final long MICRO_SECONDS_BETWEEN_FRAMES =
(long)(Global.DEFAULT_PTS_PER_SECOND * SECONDS_BETWEEN_FRAMES);
public static void main(String[] args) {
IMediaReader mediaReader = ToolFactory.makeReader(inputFilename);
// stipulate that we want BufferedImages created in BGR 24bit color space
mediaReader.setBufferedImageTypeToGenerate(BufferedImage.TYPE_3BYTE_BGR);
mediaReader.addListener(new ImageSnapListener());
// read out the contents of the media file and
// dispatch events to the attached listener
while (mediaReader.readPacket() == null) ;
}
private static class ImageSnapListener extends MediaListenerAdapter {
public void onVideoPicture(IVideoPictureEvent event) {
if (event.getStreamIndex() != mVideoStreamIndex) {
// if the selected video stream id is not yet set, go ahead an
// select this lucky video stream
if (mVideoStreamIndex == -1)
mVideoStreamIndex = event.getStreamIndex();
// no need to show frames from this video stream
else
return;
}
// if uninitialized, back date mLastPtsWrite to get the very first frame
if (mLastPtsWrite == Global.NO_PTS)
mLastPtsWrite = event.getTimeStamp() - MICRO_SECONDS_BETWEEN_FRAMES;
// if it's time to write the next frame
if (event.getTimeStamp() - mLastPtsWrite >=
MICRO_SECONDS_BETWEEN_FRAMES) {
String outputFilename = dumpImageToFile(event.getImage());
// indicate file written
double seconds = ((double) event.getTimeStamp())/
Global.DEFAULT_PTS_PER_SECOND;
System.out.printf(
"at elapsed time of %6.3f seconds wrote: %s\n",
seconds, outputFilename);
// update last write time
mLastPtsWrite += MICRO_SECONDS_BETWEEN_FRAMES;
}
}
private String dumpImageToFile(BufferedImage image) {
try {
String outputFilename = outputFilePrefix +
System.currentTimeMillis() + ".png";
ImageIO.write(image, "png", new File(outputFilename));
return outputFilename;
}
catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
}
Я пытаюсь получить кадр изображения с моей mp4. Я загрузил свои зависимости xuggler, используя maven, следующим образом.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>xuggler</groupId>
<artifactId>xuggler</artifactId>
<version>1.0-SNAPSHOT</version>
<repositories>
<repository>
<id>xuggle repo</id>
<url>http://xuggle.googlecode.com/svn/trunk/repo/share/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>xuggle</groupId>
<artifactId>xuggle-xuggler</artifactId>
<version>5.2</version>
</dependency>
</dependencies>
</project>
Я скачал Xuggler зависимостей с использованием Maven. Я думаю, что я, возможно, не настроил среду должным образом. Я использую Windows 8. Предоставьте мне шаг за шагом ответ, как установить его, если это среда проблема
Фактически я использую intellj идею и загрузил jars через maven, я не смог найти какой-либо DLL-файл в папке .m2 (папка .m2, где maven загружает и хранит каждый файл jar), ответьте – programminglover
Я обновляю мой ответ, надеюсь эта помощь. –
нет нет версия выпуск – programminglover