Multichannel Sync on Raspberry Pi

One of the many exciting integrations of the raspberry pi would be its potential to possibly be a low cost solution for a synchronized video wall display or video / audio installation. The biggest challenge has been to find out how to accomplish this. There have been a number of solutions in development, each with their own challenges concerning installation and performance. Below are a few that are listed, I recommend that you mirror your currently existing disk to a fresh one, or start with a new OS if you want to explore these solutions, otherwise you may run the risk of a corrupt disk that you can’t do shit with, so be CAUTIOUS when attempting to work with these builds.

Installing Raspian

If you are starting from scratch, to some degree so am I. I have two SD cards I’ve been building on for awhile that I just recently corrupted, and for some reason none of my backup disk images of them seem to want to function either, so in the meantime while I troubleshoot these issues I’ve decided to start from scratch as with a clean build of debian as a general exercise and update.

The first solution for installing debian I retreated to is one that I was working with for awhile successfully, however seems to be failing me currently. It is called piCopier and piFiller, and both can be found at http://ivanx.com/raspberrypi/

When I used this before it worked like a charm and now it is a no go, my OS could have an influence on this since I’m using Yosemite, so I’ll try it out on an older version.

So without piFiller working I decided to follow the good ol’ instructions from the source itself, raspberry pi, and those didn’t seem to work very well either so I found this two minute video on Youtube that works like a charm, and it successfully mounted my backup disk images so now I don’t have to rebuild completely from scratch! This video comes at the risk of accidentally erasing your actual hard drive instead of the drive you intend to change, so proceed with caution and utmost sensitivity:
Mount Raspian Wheezy on a SD Card for Raspberry Pi

if you wish to copy a current version of your raspi build, this tutorial worked great for me:
How to Clone your Raspi SD Card

piWall

http://www.piwall.co.uk/
piWall is great but has a few limitations. For starters, it doesn’t provide full HD playback on each client, instead it splits the movie on the master file between the clients via UDP, so it really is more of a channel splitter than a multi-channel sync player. However, the developers have said that they have successfully developed a professional version that includes multi-channel HD sync playback, but they haven’t published it yet and it looks like they are going to close it off from the public and charge $ for it, in the meantime the future of piWall is TBD.

omxplayer-sync

https://github.com/turingmachine/omxplayer-sync
I’ve tried getting omxplayer-sync to work several times, however it was recently updated and my friend Brandon Alison got it to work so I’ve decided to give it another shot. So far, no luck, only problems.

My first SD card that was precious to me got corrupted while trying to install the python deb libs.
The second SD card is still ‘operational’ however it doesn’t recognize any common raspi commands, such as ‘startx’ or ‘sudo raspi-config’ returns ‘command not found’. So… the quest continues!

5:00am update

There has been great progress and success with one card playing back the testfileAE with a timecode playback. I am going to attempt to repeat and record the steps of 2nd SD card for archiving.

Step 1
follow the installation on Raspian guide from turing machine github link listed above, log into terminal as root (sudo su) and enter all of the listed commands in order.

First issue:
no Pip, so install it:
sudo apt-get install python-setuptools
sudo easy_install pip

then install expect
pip install pexpect

bam, done.

next issue:
dbus,
this was tough to find but easy to do, similar thing.

sudo apt-get install python-dbus

snap.

Now launch the omxplayer-sync test scripts.
If they are launching but returning “Unable to get frame from Master” or “Unable to connect to network” then you need to setup your static ip addresses properly.

This article did the trick for me.
https://www.modmypi.com/blog/tutorial-how-to-give-your-raspberry-pi-a-static-ip-address

after updating the network configuration and rebooting, if you try launching the synctest.mp4 it should work!
The next issue is correcting for deviation, which I am still trying to fine tune, you can do this by adjusting the sync window value in the omxlplayer-sync script file located in the /usr/bin/ folder of the raspberry pi root directory. I had to adjust mine by a value of -2.30 to get better sync playback results.

A very important thing to consider is the mbps of your SD card. I had a number of older cards crash in tests, mostly 15MB/s or less, I am currently using PNY 16GB Elite Performance Class 10 90MB/s max SD cards, which are running on loop for days just fine.

Here are 4 channels in sync of the blender movie Big Buck Bunny.
4 Sync Channels

Leave a Reply

Your email address will not be published. Required fields are marked *