info-beamer

Create 'McDonalds Style' Multiple Menu Board Display

Hi everyone,
I’m thinking about how best to achieve a Menu Display setup, inspired by the menu displays at McDonalds.

They often have five display screens, placed side by side in landscape, to form a very wide menu display board.

The displays then cycle through a number of menus, each with their own animations, before a short promo video spans the entire width of all of the screens for a few seconds, and then returns to displaying the individual menus/offers.

Can we create the same effect in info-beamer? my only thought is that we’d have to create a single, extremely wide video, 9600x1080, containing all of the content, and then slice it up into five 1920x1080 video files so that it plays in sync across all five screens.

Also, as the video wall setup doesn’t have any scheduling options I can’t think of any way to have this content change at preset times, which I imagine McDonalds do, to present relevant content at the correct times, such as Breakfast items in the mornings etc.

Actually, looking at the docs, I need to use the HD Image/Video player with the synced playback option, as otherwise the single video file can only be split across multiple devices.

I’m a little confused, how does info-beamer know which setups/devices to sync with one another?

For example, if I create my five menu board displays using five different HD Image/Video Player setups, assigned to five different devices, does info beamer just sync any device that is running a setup with the Synced Playback option checked?

how can I group only those five setups/devices to sync to each other and not to other setups that may have the synced playback option checked?

And would playing the five separate parts of the same video file be synced properly across all screens?

It doesn’t. The synchronization purely relies on each playlists having the exact same duration and the devices having the correct system time.

If you then create two setups:

  1. (10 menu image), (10 menu image), (10 second left side of video)
  2. (10 menu image), (10 menu image), (10 second right side of video)

and assign each setup to one device, they will all switch between the videos/images in sync, so that they first shows the images and then both videos across both screens at the same time. This can of course be extended to any number to setups/Pis.

ah, ok.

Well then I guess creating a single wide video file, 9600x1080 in the case of five screens, and then slicing it into 1920x1080 sections for each device would ensure that the video files are exactly the same duration, as they’d all be cut from the same ‘master’ file.

Just not sure how practical that is in a video editor.

Cropping such a video should be fairly easy to automated using ffmpeg. If you have a 9600x1080 video, splitting it up should work like this:

ffmpeg -i big.mp4 -filter:v "crop=1920:1080:0:0"    video1of5.mp4
ffmpeg -i big.mp4 -filter:v "crop=1920:1080:1920:0" video2of5.mp4
ffmpeg -i big.mp4 -filter:v "crop=1920:1080:3840:0" video3of5.mp4
ffmpeg -i big.mp4 -filter:v "crop=1920:1080:5760:0" video4of5.mp4
ffmpeg -i big.mp4 -filter:v "crop=1920:1080:7680:0" video5of5.mp4
1 Like

For the time being then, is it possible to use the Scheduled Player setup to create a video wall, that can display unique content on a number of screens, and then play a wide video file, that has been sliced into multiple parts, and play that as though it were a single video file spanning across all of the devices/displays and play it in sync?

Obviously that means adding the separate parts of a sliced video file into multiple playlists, setting equal durations and ensuring that the devices/screens were correctly positioned.

From what you said previously, as long as the devices time settings were identical, they were all on the same network and the playlists were set to matching durations, then I think you’re saying yes, this will work?

Then having the ability to switch the devices to a different setup/s ( discussed here: Setup Switcher Addon ) at a preset date/time is something that might be added in the future, even if that relied on ‘forcefully’ switching the devices to play another setup, and even if the playlist was halfway through playing a video file.

No. The schedule player package does not have the ability for synced playback. You have to use either the HD image/video player package or the video wall player. Both can be used exactly as you described and you can use the API to switch between setups.

1 Like

Ok, thanks for the clarification.

I’ve just tried using 2 x HD Video/Image player setups, selecting synced playback and adding a left/right hand side image to each setup with the same duration, and then also an image for 5 seconds.

As you say it works great :slight_smile:

If the added ability to be able to switch to different setups could be added, as a GUI option that would be even better.

I guess the way I interpreted the way in which menu display video walls could be created was that it was only possible to have content playing on each screen, but not necessarily split a wide video and play it in sync across all of the screens too.

I think if the animated image showing the menu boards on this page also depicted a video playing in sync across all the screens that might promote it better: https://info-beamer.com/use-cases/raspberry-pi-video-wall

Maybe it was just me that didn’t understand that it was possible :slight_smile:

info-beamer - Digital Signage for the Raspberry Pi community forum - Imprint