Using xuggle without installing for a java web app

2019-06-08 02:14发布

问题:

I have created a Screencast applet for WIndows OS. The applet uses xuggle to encode and decode videos. It gives the following error when xuggle is not installed on the system as it tries to load some native code:

2012-07-29 12:40:28,452 [AWT-EventQueue-2] ERROR com.xuggle.ferry.JNILibraryLoader - 
  Could not          load library: xuggle-ferry; version: 3; 
  Visit http://www.xuggle.com/xuggler/faq/ to find common solutions to this problem

Exception in thread "AWT-EventQueue-2" java.lang.UnsatisfiedLinkError: no xuggle-ferry in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at com.xuggle.ferry.JNILibraryLoader.loadLibrary0(JNILibraryLoader.java:265)
    at com.xuggle.ferry.JNILibraryLoader.loadLibrary(JNILibraryLoader.java:168)
    at com.xuggle.ferry.FerryJNI.<clinit>(FerryJNI.java:14)
    at com.xuggle.ferry.JNIMemoryManager.<clinit>(JNIMemoryManager.java:871)
    at com.xuggle.mediatool.MediaWriter.<clinit>(MediaWriter.java:119)
    at com.xuggle.mediatool.ToolFactory.makeWriter(ToolFactory.java:149)

How can the installation be eliminated. So that the applet runs directly on any system.

回答1:

Use a newer Xuggler version. Starting from 5.4 it does not require installation anymore, native libraries are loaded from the jar file itself.



回答2:

According to the FAQ & Can I use Xuggler with Java Webstart or as an Applet?

No, not today. We're interested in approaches to solving this problem, and if you have experience with making native libraries work in webstart (especially ones that have runtime dependencies you can't know in advance) we'd like to hear from you.

So, not only can Xuggler not be used in an applet without Xuggler installed, it also cannot be used in an applet on a machine with Xuggler installed.


Please see the jabal's answer that suggests the above is outdated information.