【问题标题】:Processing video library does not work on Linux (Ubuntu 13.04)处理视频库在 Linux (Ubuntu 13.04) 上不起作用
【发布时间】:2013-09-23 20:54:23
【问题描述】:

我有问题。

我正在尝试使用最新版本的 Processing (2.0.3) 运行来自 Processing video 库的 Mirror 示例。但是,我收到此错误;

Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
libEGL warning: failed to create a pipe screen for i965
java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Unable to load library 'gstreamer-0.10': libgstreamer-0.10.so: cannot open shared object file: No such file or directory
        at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
        at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:100)
        at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:205)
        at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
        at javax.media.opengl.Threading.invoke(Threading.java:191)
        at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:483)
        at processing.opengl.PGL.requestDraw(PGL.java:1149)
        at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:1604)
        at processing.core.PApplet.run(PApplet.java:2176)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'gstreamer-0.10': libgstreamer-0.10.so: cannot open shared object file: No such file or directory
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:163)
        at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:236)
        at com.sun.jna.Library$Handler.<init>(Library.java:140)
        at com.sun.jna.Native.loadLibrary(Native.java:379)
        at org.gstreamer.lowlevel.GNative.loadNativeLibrary(Unknown Source)
        at org.gstreamer.lowlevel.GNative.loadLibrary(Unknown Source)
        at org.gstreamer.lowlevel.GstNative.load(GstNative.java:42)
        at org.gstreamer.lowlevel.GstNative.load(GstNative.java:39)
        at org.gstreamer.Gst.<clinit>(Gst.java:59)
        at processing.video.Video.initImpl(Unknown Source)
        at processing.video.Video.init(Unknown Source)
        at processing.video.Capture.initGStreamer(Unknown Source)
        at processing.video.Capture.<init>(Unknown Source)
        at testvideo.setup(testvideo.java:46)
        at processing.core.PApplet.handleDraw(PApplet.java:2280)
        at processing.opengl.PGL$PGLListener.display(PGL.java:2601)
        at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:588)
        at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:572)
        at javax.media.opengl.awt.GLCanvas$7.run(GLCanvas.java:1054)
        at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1034)
        at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:909)
        at javax.media.opengl.awt.GLCanvas$8.run(GLCanvas.java:1065)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:666)
        at java.awt.EventQueue.access$400(EventQueue.java:81)
        at java.awt.EventQueue$2.run(EventQueue.java:627)
        at java.awt.EventQueue$2.run(EventQueue.java:625)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:636)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

这意味着我当然不能使用视频。 有解决此问题的提示吗?

【问题讨论】:

    标签: java linux video webcam processing


    【解决方案1】:

    您缺少 libgstreamer-0.10.so 库,或者它不在 LD 路径中。最可能的问题是您没有从您的发行版中安装必要的软件包。

    【讨论】:

    • 如何判断它是否在 LD 中?
    • 如果您收到此错误,那么它不在 LD 路径中,可能是因为它在您的系统上不存在。
    • Synaptic 告诉我不然。编辑:啊,现在我收到另一个库gstinterfaces 的错误。让我试试那个。
    • 啊哈,成功了!但是,我不知道究竟是哪个软件包起到了作用。对于将来阅读此答案的人,您会知道吗?
    • @JesseTG 这将特定于您的特定发行版。
    【解决方案2】:

    详细说明@JesseTG 的评论:

    对我来说,必要的包似乎如下:

    $ sudo apt-get install gstreamer0.10 libgstreamer-plugins-base0.10-dev
    

    第一个包修复了第一个链接错误,第二个修复了后续的gstinterfaces链接错误。

    【讨论】:

    • 这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post
    • @Andrew,是的,它确实回答了这个问题。
    猜你喜欢
    • 1970-01-01
    • 2016-08-17
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 2013-07-07
    相关资源
    最近更新 更多