Multiple Raspberry Pi boards used to create video wall

rpi-video-wall

Five Rasberry Pi’s are used to drive this four-display video wall. This screenshot shows the system playing back some BBC documentaries. The sync, alignment, and video quality all seem to be spot on which makes it quite easy for your eye to assemble the images into one picture.

Each screen has its own Raspberry Pi which generates the HDMI video shown on the screen. These are fed from one central RPi board which acts as the controller. Video is pushed between the boards using the Real Time Streaming Protocol (RTSP) available through the Linux GStreamer package. Synchronization between the different video boards is taken care of using network time. [Samer] mentions that this system is scalable — each additional screen simply requires one more RPi to drive it.

The team also did some experiments with live video. They added a sixth RPi board with the camera module in order to display a live feed.

Comments

  1. Jeroen says:

    Nice.

    I wonder where do they do the video processing. On the controller PI, or on the slave PI’s? Cutting out a piece of an MPEG stream and then resizing it to fit the resolution of the monitor is a non-trivial task, so I am surprised they are able to do this on the (modest) PI hardware. I also wonder how tolerant this system is to video’s with a different aspect ratio from the total video wall.

    All in all, very nice project, but I would love to see a bit more details and maybe some code?

  2. AnarKIT says:

    Oh! This is a perfect application for these devices, outside of their original education intent of course.

    I feel compelled to do this now, must go buy more ‘Pi…

  3. 4ndreas says:

    I wonder if it would be possible to sync the pi’s over there GPIO ports with a common I2C bus ?
    Ok it’s not easy to digg so deep in the video processing core but an idea to think about.

  4. HackJack says:

    I must be missing something here. You can do that with a cheap PC with 2 cheap video cards. Why bother using Pi?

    If you were going to customize it, at least program it such that the video can account for the bezel width. Which will go along the theme to use cheap components to make video monitor wall.

    • Truth says:

      I’m assuming that this is the same people behind http://www.piwall.co.uk/
      The example they showed originally was with 9 cheap monitors and 10 pi’s. One per monitor and one master to control them all. Or is this a different group of people ?

    • Truth says:

      Sorry I meant to reply to you, and got distracted. It is scalable at a cheap price, how much for video cards with 16 HDMI outputs.for a 4×4 wall ? I’m guessing that 16 Pi’s even without power supplies would be cheaper (and quieter, generate less heat, and use less power) than cheap video cards and cheap PC’s.

      So in the short term, it initially would cost less and in the long term it’s ongoing power costs would again be less.

      • HackJack says:

        There are video cards supporting 6 monitors for less than $300. I think the sweet spot is 4 monitors which I think you can get for as little as $100 with 2 cards.

        I don’t see much information how the RPi get the job done. But I believe it is a lot of software work. If so, a PC based solution is just as scalable.

        If you have 4 50″ TVs (I assume anyone doing this would want the wall as big as possible), the power used by a PC vs 5 RPis would be tip of the iceberg. Besides, a PC really will not use much power in this configuration using low end video cards.

      • rasz says:

        16 monitors would mean 480×270 resolution per monitor :)
        Pi doesnt do 4K h.264

    • ZBuffered says:

      Using Linux I’ve had issues playing a video across multiple monitors, couldn’t get v-sync to work right and I either got tearing or missed frames/jerky playback.

      It looks like there is bezel compensation in the videos, it’s just not set correctly between the top/bottom videos. If you’re doing cropping it’s pretty simple to do some math and account for the bezels. With a multi-headed single computer, you either have to run 4 separate player instances, one for each monitor, with the same cropping, or you need to figure out how to create “dummy” monitors to account for the gaps, or you can just position the monitors so that they’re not continuous, which can be done but, when I did this recently in Ubuntu, I had issues moving the mouse between monitors.

      In summary, my short experience trying to configure multi-screen video output with bezel compensation in Linux was fraught with difficulty.

    • William Shipley says:

      In this case, for the whole system I think the Pis might actually be a cheaper solution. Their GPUs were designed for this kind of thing, so it’s not the misapplied over/underpowered mess it would be in most other areas.

    • Paul says:

      When you need to install systems professionally you need to make sure that you don’t have to go back to the jobsite once the job is done or you lose money. Creating an embedded system that is scalable means that as an engineer, I don’t have to go back to the client site to reboot a computer and mess with software. With a solution like this, I can tell the client to unplug it and plug it back in and never think twice about it.

      Also, depending on the content you’re showing and the bezel thickness sometimes you don’t want to account for the thinkness of the bezel. That’s preference and content driven. These guys may not have come across clients who need to adjust for the bezel. I know I have not had to yet; but I have only installed a few for clients.

      The scalability is really what makes it nice. If my client wants a 2×2 monitor wall I can use a solution like this. If they want a 3×3 I can just add more Pis. 8×8? sure add more pi. I don’t need to worry about testing different PC platforms and video cards and worrying if there’s enough processing power to account for 4 quad head video cards. What happens if I need two computers (8 quad head video cards) and need to sync the video between them. It gets complicated and less cost effective to build custom solutions that I need to spend a lot of time supporting. Give me something that works and is simple and I can install it and walk away from the client knowing that they’re getting something that will work for a long time and I don’t have to lose money supporting it.

  5. Sam says:

    Hi Guys,

    First of all thank you for the positive comments, no we are not the same people behind the piwall.co.uk. Rather different.

    A few details

    1- In case of the live video the processing is done on the MASTER RPI. which does the encoding from the RPI camera and provide a RTSP URL for the other PI’s to connect with.
    2- In case of the play back or recorded videos, the processing is still handled on the main RPI and is streamed using http rather than RTSP.
    3- The master unit also has a webserver and a playlist. So i can change videoes without touching the PI’s
    4- We plan to add ftp or similar to upload videos via the web interface aswell this was just a prototype to test if it works.
    5- Also we are synching the videos using network clocks.

    • satovey says:

      This could be adapted to add multiple monitors to older computers that do not have hdmi or expansion slots to add additional video cards, or the on board video does not support multiple monitors. The master would have to have a vga video input that would come from the computer’s video output though.

  6. Sam Flint says:

    Ever heard of XDMX? It’s meant to do this! and no code to write!

  7. David Anders says:

    amazing! i can’t believe no one has done this before! oh wait someone has… years ago….

  8. loopingz says:

    I am wondering if some kind of similar setup can be used differently. I would love to have 4 hdmi 1080p in and one HDMI 1080p out. On the out I would be able to display either:
    4 50% HDMI 2×2 matrix,
    A picture in picture mode,
    Or a single display (like a switch in this case).

    I know it would require some power to do this but right now, there is no cheap and clean way to do it.

  9. valdas says:

    good idea :) now i need to get old cheap projectors and make one 4k :D

  10. echodelta says:

    Use of the word bezel here always puts me off. Frame please. The term is for jewelery and watches. Remember watches? It refers to the covering as well the surrounding frame if it is movable.
    Who would want to watch anything thru a mullioned screen anyway. These “walls” are just ostentatious displays at conventions and put-ons.
    Text is unreadable with such a display either way split or cropped if it runs across the stripes.

    • Augur says:

      How is the text unreadable? If the majority of the text is there except for what is hidden in the “stripes”, the human brain is capable of filling in the gaps.. Atleast for the readers of HAD…

      • satovey says:

        >>>
        If the majority of the text is there except for what is hidden in the “stripes”, the human brain is capable of filling in the gaps.
        >>>

        I was walking down the hall at the community college and read a sign. After a several steps I thought: “that doesn’t make sense.” I then walked back and once I re-read the sign I realized that despite the fact that all the words were there, my brain had taken a particular word and replaced it with a totally irrelevant and improper word.

        If that happens when quickly reading a sign while walking past it, and all the words are available to read (provided one slows down enough to read them all), it is inaccurate as well as irresponsible to assert that the human brain can fill in the gaps of missing words properly.

        Besides that, any multi monitor system that allows portions of the video to be hidden behind the frames of the monitors, is defective from the outset. I for one will not waste my money on poor quality tech such as this.

    • Ren says:

      I always called the metal trim rings around headlights “bezels” too, so I was a bit confused when I saw some people call the headlight rings “doors”. I really don’t have a problem with these “frames” being called “bezels”.

  11. satovey says:

    This would be excellent with frame less monitors.
    I could not use this setup as the frames would drive me crazy.

  12. satovey says:

    With so many having difficulty with the proper designation of the frame, I have decided to give into my compulsive perfectionist disorder and post the definition of the word bezel here.

    bez·el [bez-uhl] Show IPA
    noun
    1. the diagonal face at the end of the blade of a chisel, or the like, leading to the edge.
    2. Jewelry.
    a. that part of a ring, bracelet, etc., to which gems are attached.
    b. crown ( def 27 ) .
    3. a grooved ring or rim holding a gem, watch crystal, etc., in its setting.
    4. Automotive. the part of a vehicle’s bodywork that surrounds a light.

    No flat screen Television or monitor has a bezel. While there were bezels on older Televisions and monitors, those bezels were not a part of the case, they were part of the monitor where the glass met the frame at the edges and corners. Monitors and televisions that have a curvature to it’s face can be considered to have bezels even though they do not fit the above definitions of a bezel.

    You will not find a diagonal angle on the face of any flat screen monitor whether it be a CRT, LCD or LED.

    I hope this clears up the confusion.

  13. I’m VERY interested in how this is done, but I’m a RASPI virgin… Anyone willing to walk me through setup start to finish? I need to be able to throw an MP4 at this thing and have it play on a 3×3 matrix of 46″ screens via HDMI. Any thoughts here?

  14. Nice topic! I got some info about vídeo walls in my blog (portuguese). I’ll update it soon with some of your info collected here! []s

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,699 other followers