Which hardware to use
Since almost all Raspberry Pi use the same engine for video playback, it does not really matter which of them you buy. I suggest to use the Pi 3 A+ which comes in a small form factor but still features standard USB and HDMI connections. With WiFi and Bluetooth on board which could be used in future versions.
The (micro) SD card can be any card that is 4 gigabytes (8 for sync), or more, in size. A fast card will allow the player to boot more quickly, but since it runs a read-only filesystem and basically stops using the SD card after booting, you could also buy the cheapest you can get. Look for the “A1” or better rated cards, they will boot fast.
As for the USB memory to play back from, the same rules apply. Buying a more expensive one will allow you to store files quickly, but for playback, even the cheap ones will deliver 2-3 megabytes per second, which is enough for the usual data rates of HD video.
Power source should be the original Raspberry, or a good quality tablet charger, i use Samsung or Apple. It is not only about the amps the supply delivers, also the quality or stability (so to say) of the voltage matters. The operating system icon for insufficient power, which by default would indicate problems, is disabled. I suggest to do a 24h test before installing just to be safe.
Prepare your SD card with the software
Insert the (micro-) SD card into your card reader. Download “Raspberry Pi Imager” for your system, there select “Image” for operating system, then select the file you have downloaded here. If the image was written properly, a drive called “boot” should show up, and with MP4Museum-Sync, another drive called “loop”.
Building the optional case
If you want to use the Pi 3 A+ hardware, and make a nice case for it just like i did, you can download the models for printing the plastic case. 3D-Print the big parts in your favorite color, and check if the hardware fits nicely with all ports freely accessible. The (optional) small piece, which should be printed in clear or transparent plastic, is used to cover the LED opening on the side. It might need some glue to stay in place.
If not done yet, insert the micro SD card with the installed image into the Pi. Then, place the board inside and screw four M3 10mm counter-sunk screws until they are half way into the board. Then put on the lid, press firmly to keep the board in place, and fasten screws until secured.
How to encode your media
I suggest to use the open source software Handbrake, available for Windows, Mac and Linux. There are plenty of presets to start with, to get a reasonable file size while preserving image quality.
Export from your editing or compositing tool in a production codec like DNX or ProRes, and then use Handbrake to encode to MP4.
For synchronized playback, i prefer to use constant bitrate for audio. Also, do not use variable framerates. The clips should be the same length on all players, and not to short, as it takes a few tries at first for the slaves to sync.
Setup Version 3 or newer
Start with formatting your USB memory using FAT32 (maximum file size is 4gig), NTFS or HFS (Apple). This depends on what operating system you use. Copy your encoded media onto the drive. Playback will be done ordered A to Z, so you can arrange a playlist using numbering or letters at the beginning of filenames. Eject properly and put the USB memory into your Raspberry Pi. Connect your Raspberry Pi to a screen or projector, and power it up. It will show the intro screen, which features a bit of sound (an analog projector starting up) and an orange marker in each corner. If you cannot see the corners, or there is black screen between markers and the screen bezel, the screen crops or resizes your image, which might be an issue, depending on what your content is. After the intro screen has passed, the player will start with your content, and loop alls files. There is no shut down necessary, so you can simply unplug, or use a timer for operation.
Setup Version 2 or 1
The earlier versions of MP4Museum will only accept USB memory formatted as FAT32, which means file size should be 4 gigabytes or less. Copy your files onto the memory stick and connect it to your Raspberry Pi. Connect the Pi to a screen or projector and power it up. After booting up, it will start playing your files. The order of playback depends on how your operating system has organized the list of files, so it might be A-Z, it could be the order of copying, or something else. It will then start to loop in that arrangement. There is no shut down necessary, which means you can unplug to stop, or use a timer to control playback hours.
Option: Skip current file / Restart file – GPIO Operation
This works for v1-v4, not sync or v5 Beta.
Sometimes your setup might need to provide a button to control playback. The Raspberry has a bunch of inputs and outputs, called GPIO, which is the long connector on top of the board. Buttons, switches, relays can be used to either skip to the next file in a list of files, or restart playback, if only one file is played back. Another can pause and restart playback.
To build the hardware, you will need a standard button or switch (closing the circuit while being pressed), a connector for the GPIO, some wire and, for v3 and older, a resistor.
For the current release, simply make the switch connect +5V and Pin 11 (pause) or 13 (quit player = skip / restart), as shown in this picture.
For V3, connect the parts according to this diagram, and your ready to go … skip!
What it does internally is to send keystrokes to the player. You can modify the mp4museum.py script to simulate other keys. You’ll find lines to duplicate for each pin in the “setup”, “functions … event listener” and “add listener” sections.
A project by Julius Schmiedel. Based on open source software and technology.