Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 4 of 4

Thread: Movie2Serial on Raspberry Pi (LED array)

  1. #1
    Senior Member
    Join Date
    Jul 2014
    Posts
    112

    Movie2Serial on Raspberry Pi (LED array)

    I also posted this topic on the Processing site but haven't gotten any feedback.

    I am trying to play video on my LED WS2812 array. Currently, the array has 89 pixels per strip and 64 strips. In the past, I have used an old laptop to run this display using Paul Stoffregenís Movie2Serial script.

    That laptop was so old that I decided to try it on a Raspberry Pi and got a smaller array working with this version of Paulís script:

    HTML Code:
    https://forum.processing.org/two/discussion/26295/movie2serial-video-format-problem-i-think%201
    My problem is that I can get my array to work if the script thinks there are only 48 rows, but as soon as I increase to 56 (or 64), it freezes up before it can display anything on the array. 48 rows is 4,272 LEDs, am I hitting some type of limit on the capabilities of the Pi?

    Here is the console error I sometimes get when it freezes:

    Code:
    Serial Ports List:
    /dev/serial1 /dev/ttyACM0 /dev/ttyAMA0
    /home/pi/Desktop/movie2serial2/data/transit.mov
    Final caps: video/x-raw(memory:GLMemory), width=(int)640, height=(int)360, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)RGBA, texture-target=(string)2D, colorimetry=(string)2:1:5:4
    RunnableTask.run(): A caught exception occured on thread main-Display-.x11_:0.0-2-EDT-1: RunnableTask[enqueued true[executed false, flushed false], tTotal 1 ms, tExec 0 ms, tQueue 1 ms, attachment null, throwable java.lang.RuntimeException: Waited 5000ms for: <11a9cf0, 15e00ca>[count 1, qsz 0, owner <main-FPSAWTAnimator#00-Timer0>] - <main-Display-.x11_:0.0-2-EDT-1>]
    java.lang.RuntimeException: Waited 5000ms for: <11a9cf0, 15e00ca>[count 1, qsz 0, owner <main-FPSAWTAnimator#00-Timer0>] - <main-Display-.x11_:0.0-2-EDT-1>
    	at jogamp.common.util.locks.RecursiveLockImpl01Unfairish.lock(RecursiveLockImpl01Unfairish.java:198)
    	at jogamp.newt.WindowImpl.getLocationOnScreen(WindowImpl.java:1159)
    	at jogamp.newt.driver.x11.X11UnderlayTracker.windowMoved(X11UnderlayTracker.java:141)
    	at jogamp.newt.WindowImpl.consumeWindowEvent(WindowImpl.java:4386)
    	at jogamp.newt.WindowImpl.sendWindowEvent(WindowImpl.java:4317)
    	at jogamp.newt.WindowImpl.positionChanged(WindowImpl.java:4558)
    	at jogamp.newt.WindowImpl.sizePosMaxInsetsVisibleChanged(WindowImpl.java:4865)
    	at jogamp.newt.driver.x11.DisplayDriver.DispatchMessages0(Native Method)
    	at jogamp.newt.driver.x11.DisplayDriver.dispatchMessagesNative(DisplayDriver.java:112)
    	at jogamp.newt.WindowImpl.waitForVisible(WindowImpl.java:4449)
    	at jogamp.newt.WindowImpl.waitForVisible(WindowImpl.java:4443)
    	at jogamp.newt.WindowImpl.createNative(WindowImpl.java:777)
    	at jogamp.newt.WindowImpl.setVisibleActionImpl(WindowImpl.java:1248)
    	at jogamp.newt.WindowImpl$VisibleAction.run(WindowImpl.java:1318)
    	at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:127)
    	at jogamp.newt.DefaultEDTUtil$NEDT.run(DefaultEDTUtil.java:375)
    DefaultEDT.run(): Caught exception occured on thread main-Display-.x11_:0.0-2-EDT-1: RunnableTask[enqueued false[executed true, flushed false], tTotal 6340 ms, tExec 6339 ms, tQueue 1 ms, attachment null, throwable java.lang.RuntimeException: Waited 5000ms for: <11a9cf0, 15e00ca>[count 1, qsz 0, owner <main-FPSAWTAnimator#00-Timer0>] - <main-Display-.x11_:0.0-2-EDT-1>]
    java.lang.RuntimeException: Waited 5000ms for: <11a9cf0, 15e00ca>[count 1, qsz 0, owner <main-FPSAWTAnimator#00-Timer0>] - <main-Display-.x11_:0.0-2-EDT-1>
    	at jogamp.common.util.locks.RecursiveLockImpl01Unfairish.lock(RecursiveLockImpl01Unfairish.java:198)
    	at jogamp.newt.WindowImpl.getLocationOnScreen(WindowImpl.java:1159)
    	at jogamp.newt.driver.x11.X11UnderlayTracker.windowMoved(X11UnderlayTracker.java:141)
    	at jogamp.newt.WindowImpl.consumeWindowEvent(WindowImpl.java:4386)
    	at jogamp.newt.WindowImpl.sendWindowEvent(WindowImpl.java:4317)
    	at jogamp.newt.WindowImpl.positionChanged(WindowImpl.java:4558)
    	at jogamp.newt.WindowImpl.sizePosMaxInsetsVisibleChanged(WindowImpl.java:4865)
    	at jogamp.newt.driver.x11.DisplayDriver.DispatchMessages0(Native Method)
    	at jogamp.newt.driver.x11.DisplayDriver.dispatchMessagesNative(DisplayDriver.java:112)
    	at jogamp.newt.WindowImpl.waitForVisible(WindowImpl.java:4449)
    	at jogamp.newt.WindowImpl.waitForVisible(WindowImpl.java:4443)
    	at jogamp.newt.WindowImpl.createNative(WindowImpl.java:777)
    	at jogamp.newt.WindowImpl.setVisibleActionImpl(WindowImpl.java:1248)
    	at jogamp.newt.WindowImpl$VisibleAction.run(WindowImpl.java:1318)
    	at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:127)
    	at jogamp.newt.DefaultEDTUtil$NEDT.run(DefaultEDTUtil.java:375)

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    19,529
    Last year I put a couple days into trying to get this to run on Raspberry Pi. I fixed several problems and updated movie2serial. But it seems gstreamer changed and, at least as of last year, the Processing' movie library doesn't deal with the new version. It turned out to be a very deep rabbit hole of Linux & gnome library issues! Ultimately I gave up.

    Just to be perfectly clear, this was a Processing movie library compatibility problem.

    If you *really* want to use Raspberry Pi, I recommend downloading VERY OLD versions of Raspbian. Maybe you'll find one with the old version of gstreamer?

    Or you could dive into the movie library and try to get it running with the modern gstreamer? Unless that's already happened, I'm sure it'd make many Processing users happy!

    If you value your sanity, I'd recommend abandoning Raspberry Pi and just run on a Mac or Windows laptop.

  3. #3
    Senior Member
    Join Date
    Jul 2014
    Posts
    112
    Thanks Paul, you are probably right about my sanity. I certainly don't have the expertise necessary to change a library.

    I guess somebody got the script to work. It just breaks down when the number of LEDs goes over 4 thousand or so.

  4. #4
    Senior Member
    Join Date
    Jul 2014
    Posts
    112
    So, if the Pi won't work and I want to replace my old laptop. Do you guys have any suggestions on specs I should look for on a new machine? I would ultimately like to be able to control 70k pixels but I am a ways from that at the moment.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •