windows - 如何在 Windows 中为 Apache Tomcat 配置 xuggle

标签 windows tomcat xuggler

我一直在 Windows 平台上使用 Netbeans 和 Tomcat 开发视频共享 Web 应用程序(如 youtube)。在那里,我想在视频上传后立即生成视频文件的缩略图。所以在网上搜索我发现了一个叫做 Xuggle 的东西。我在 Tomcat 的 lib 文件夹中安装了 Xuggler。我已经设置了必要的环境变量。当我只运行一个 Java 应用程序时,我得到了结果,但是当我对 Java Web 应用程序执行相同的操作时,我得到以下错误:

    HTTP Status 500 -

    type Exception report

    message

    description The server encountered an internal error () that prevented it from         

    fulfilling this request.

    exception

    javax.servlet.ServletException: Servlet execution threw an exception


 org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
    root cause

 java.lang.UnsatisfiedLinkError: com.xuggle.xuggler.XugglerJNI.Global_NO_PTS_get()J
com.xuggle.xuggler.XugglerJNI.Global_NO_PTS_get(Native Method)
com.xuggle.xuggler.Global.<clinit>(Global.java:240)
xugglerPack.Main.<clinit>(Main.java:43)
xugglerPack.VT.processRequest(VT.java:86)
xugglerPack.VT.doPost(VT.java:137)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:3
  93)
   note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26   
 logs.

============================================= ============================================

@pd40 >>> 我重新安装了 Xuggler(这次是在 C:\

XUGGLE_HOME = C:\Program Files (x86)\Xuggle

CLASSPATH = .;C:\Apache Tomcat 6.0.26\Apache Tomcat 6.0.26\lib\commons-cli.jar;C:\Apache Tomcat 6.0.26\Apache Tomcat 6.0。 26\lib\logback-classic.jar;C:\Apache Tomcat 6.0.26\Apache Tomcat 6.0.26\lib\logback-core.jar;C:\Apache Tomcat 6.0.26\Apache Tomcat 6.0.26\lib\slf4j-api.jar;C:\Apache Tomcat 6.0.26\Apache Tomcat 6.0.26\lib\xuggle-xuggler.jar;C:\Apache Tomcat 6.0.26\Apache Tomcat 6.0.26\lib\xuggle-xuggler-测试.jar;

PATH = C:\Program Files (x86)\Xuggle\bin;C:\Apache Tomcat 6.0.26\Apache Tomcat 6.0.26\bin;C:\Apache Tomcat 6.0.26\Apache Tomcat 6.0.26\lib;C:\Program Files (x86)\Xuggle\lib

我已经复制了Xuggle/java/jars(6个jar文件)在Tomcat的\lib文件夹中,并设置了它们的CLASSPATH。

现在我在 Web 应用程序中执行此操作时仍然遇到问题,但独立的 Java 应用程序可以很好地生成图像。出了什么问题???当我上传视频时,它已上传但未生成缩略图,出现以下错误...

  HTTP Status 500 -

  type Exception report

  message

  description The server encountered an internal error () that prevented it from     
  fulfilling this request.

  exception

  javax.servlet.ServletException: Servlet execution threw an exception
  root cause

  java.lang.NoClassDefFoundError: Could not initialize class com.xuggle.ferry.FerryJNI
  com.xuggle.ferry.RefCounted.acquire(RefCounted.java:179)
  com.xuggle.xuggler.IContainer.copyReference(IContainer.java:80)
  com.xuggle.mediatool.AMediaCoderMixin.<init>(AMediaCoderMixin.java:68)
  com.xuggle.mediatool.MediaReader.<init>(MediaReader.java:137)
  com.xuggle.mediatool.ToolFactory.makeReader(ToolFactory.java:77)
  xugglerPack.Main.main(Main.java:51)
  xugglerPack.VT.processRequest(VT.java:87)
  xugglerPack.VT.doPost(VT.java:135)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26    
  logs.

最佳答案

确保将 Xuggler 库放在 Windows PATHLD_LIBRARY_PATH 中。

类似于Tomcat native .我假设你已经尝试过了。

您可能还想查看 this thread

关于windows - 如何在 Windows 中为 Apache Tomcat 配置 xuggle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12542100/

相关文章:

android - 如果我给出像文件夹名称/图片名称这样的图像路径,它会显示在 Windows 平台上,但不会显示在 xamarin 的 Android 中

android - 访问调制解调器 - Android 设备 (Nexus 5)

windows - 删除 .eml 文件中的行并将新的 "files"(目标 A)复制到多个文件(目标 B)中

java - Ubuntu 16.04 : Tomcat 8 won't start with setenv. sh

java - 如何使用 xuggler 获取视频的持续时间长度

ffmpeg - 使用 xuggler 转码音频

c - POSIX Linux 间隔定时器的可移植解决方案(timer_create、timer_settime...)

java - 我应该如何使用 tnsnames 为 Java Web 应用程序配置我的 JDBC?

java - 如何配置 tomcat 为单个应用程序中的不同端点使用不同的端口?

java - 有没有办法用 Xuggler 获得视频的分辨率?