gpt4 book ai didi

GStreamer 的 Java 处理问题

转载 作者:行者123 更新时间:2023-12-01 10:23:19 26 4
gpt4 key购买 nike

我正在使用processing 3.0和/或带有Processing插件的eclipse。我正在尝试使用基于 GStreamer 的处理视频库上传/播放视频。当我在Processing 和Eclipse 中运行草图时,一切都很顺利。但如果我导出应用程序,则视频功能不适用于 Windows 版本(OSX 版本正常)。

日志如下:

Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError: Could not load library: gstreamer
at org.gstreamer.lowlevel.GstNative.load(GstNative.java:53)
at org.gstreamer.lowlevel.GstNative.load(GstNative.java:43)
at org.gstreamer.Gst.<clinit>(Gst.java:101)
at processing.video.Video.initImpl(Unknown Source)
at processing.video.Video.init(Unknown Source)
at processing.video.Movie.initGStreamer(Unknown Source)
at processing.video.Movie.<init>(Unknown Source)
at Shot_Position_Video.draw(Shot_Position_Video.java:259)
at processing.core.PApplet.handleDraw(PApplet.java:2402)
at processing.awt.PSurfaceAWT$12.callDraw(PSurfaceAWT.java:1527)
at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:316)

这是我上传视频的行:

at Shot_Position_Video.draw(Shot_Position_Video.java:259)

代码是:

myMovie = new Movie(this, Video_address); 

有什么想法吗?我遇到了很多关于 jna.jar 和其他一些东西的部分解决方案,但我无法找到解决这个问题的方法。

甚至建议使用其他库来代替 Gstreamer,我们将非常感激。

谢谢!

M.

最佳答案

这样想:GStreamer 库有两个依赖项:Java 代码和 native 代码。

您将 Java 代码方面包含在类路径中。由于您是从 eclipse 导出可运行的 jar,因此该类路径会包含在您导出的 jar 中。

但是,这包含 native 代码。这通常包含在一个单独的文件中(通常是 .dll 文件),并且 Eclipse 不知道如何自动将其包含在导出中。

由于直接指向 native 库文件的设置,或者因为代码正在已知位置查找 native 文件,所以从 eclipse 和处理中运行可以正常工作。但是当您将其导出为 jar 时,这些设置就会丢失。

因此,您需要弄清楚 GStreamer native 库文件在哪里。然后,您要么需要确保它位于正确的位置(可能在 jar 旁边?),要么需要使用 -Djava.library.path="path/to/your/native.lib 运行 jar “设置已启用。

一旦你开始工作,你就可以使用像JarMatey这样的工具了。创建一个自解压 jar 来为您完成该步骤。 (注:我是 JarMatey 的作者。)

关于GStreamer 的 Java 处理问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35458787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com