News:

LATEST RELEASE:  FPP 6.1 - Download from here - https://github.com/FalconChristmas/fpp/releases/tag/6.1

+-+-

+-User

Welcome, Guest.
Please login or register.
 
 
 
Forgot your password?

+-Site Stats

Members
Total Members: 15303
Latest: markuslott
New This Month: 6
New This Week: 4
New Today: 1
Stats
Total Posts: 125183
Total Topics: 15256
Most Online Today: 99
Most Online Ever: 7634
(January 21, 2020, 02:14:03 AM)
Users Online
Members: 6
Guests: 47
Total: 53

Customizable Virtual Matrix to Drive Video Screens

Started by ericwesley, May 01, 2022, 09:29:57 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ericwesley

Ok. Long story short, I need to run a LED video wall with FPP. The video wall only accepts a DVI input, no sACN/Artnet. I have used the Virtual Matrix output before, but the config needs to be more customizable than it currently is. Since the video wall is pixel in = pixel out with absolutely zero scaling up or down, I need to be able to make the virtual matrix sACN data my exact video wall size (92x140 for example) and put it in the exact X&Y location inside the 1920x1080 frame where the video screen controller is actually looking for data. So I would still be using the full 1920x1080 HD resolution, but my actual sACN data coming from xLights/FPP Master sits at exactly X&Y and is exactly X&Y size while the rest of the HDMI output is completely black. So if I were to plug the Pi into a monitor, the image would take up a tiny bit of the monitor, instead of scaled up to the full size of the screen like the Virtual Matrix currently does.

Is something like this already in existence or in the works? Or have I entered the "good luck dude" territory?

Note: I use full 1080P as an example. I will probably drop the output to 720P or 600x800. It all comes down to what the video wall controller is wanting.

SCUBA


I was successful in using a projector as a HDMI matrix that was imbedded into the whole house layout.  It's a bit complicated and requires outputting the model data from xlights into a video editor where the scene is cropped and exported as a video file (.MP4). BTW: I also did some digital masking of the file.


I used the following method because I wanted to use the Xlights effects within the model.  If you're just playing a video, you may not need this process.  Just a good video editor would do the trick. Configure the Video Output to the LED wall resolution.  Should be very straight forward; although nothing really is! LOL.

I wouldn't recommend the process but it does work if you want to embed xlights effects: other methods will also work, that's the beauty of Xlights and FPP.

The video file was played as a media file on FPP and therefore, was outputted through the HDMI port.  The key part of the process was the creation of a custom matrix, where the the size of the physical matrix and the pixel allocations were not uniform.  I've included a copy of the spreadsheet I used.  Row 1; column A and GT and  row 587; column A and GT defined the matrix model and each corner has a single pixel assigned to it. Scroll down to row 356, I placed  all but 4 pixel numbers in this area(with the physical resolution needed).  I then place the high resolution section where I wanted it in the house layout.  I sequenced the layout and when I was finished, I output the model to a file.  [Right Click the model/Model/Render and Export/file format (.mp4) and name the file]  (Also I didn't create a controller for this model).

I then imported the file into a video editor, cropped the video to the high resolution area and exported to a new video file (I added the sound track).  This file became the media file I attached to the sequence.  Worked great.  A bit long on the rendering times but reasonable.


CaptainMurdoch

I haven't used it before, but you should be able to do this with the current FPP code.  This code will be changing in FPP v6 but here is now you do it in FPP v5.x.

On the Settings page on the System tab, set the HDMI resolution to the desired resolution.
On the Channel Outputs page, go to the other tab and create a 'Virtual Matrix' output.  Set the height/width to the desired X/Y of your video wall size.  Change the Scaling option to 'None' and a couple new inputs will appear which will let you set the X and Y offset of the data on the HDMI output.

In FPP v6, this likely be changing as we are converting a lot of things over to use Pixel Overlay Models.  In FPP v6, a Pixel Overlay Model can write directly to the HDMI output instead of channel data.  The Virtual matrix will be updated to write to a Model or Sub-model instead of the HDMI output.  The new 'Sub' model would let you create a 92x140 sub model on the larger 1920x1080 model that writes to HDMI.  The Virtual matrix would point at the sub model.  This hasn't been committed yet, but I have a patch.  I'm just mentioning it here for reference in case someone finds this after v6 and the instructions don't make sense any more.
-
Chris

Kensington Graves


Quote from: ericwesley on May 01, 2022, 09:29:57 AMSince the video wall is pixel in = pixel out with absolutely zero scaling up or down, I need to be able to make the virtual matrix sACN data my exact video wall size (92x140 for example) and put it in the exact X&Y location inside the 1920x1080 frame where the video screen controller is actually looking for data.
It sounds like you're using the FPP solely as a media player.  On my matrix, for example, I have a 1920x1080 video on FPP, with the HDMI1 resolution forced to 640x480, and that is run to my Colorlight S4 sender.  You should also be able to change input resolution on your controller, although you didn't indicate what controller you're using.

ericwesley

Thank you Captain Murdoch! Talk about the answer staring me in the face. It all worked like a charm and now we are moving forward with installing 4 video walls onto a client's house. All driven by xLights!

As always, the FPP is an absolutely amazing piece of software!

MichRX7

Quote from: CaptainMurdoch on May 01, 2022, 02:08:20 PMI haven't used it before, but you should be able to do this with the current FPP code.  This code will be changing in FPP v6 but here is now you do it in FPP v5.x.

Hello Captain Murdoch, is there instruction somewhere on how this changed in v6? I was planning on running a projector this year and was wondering if there was a way to run it in sort of a dual mode where FPP would play the MP4 out to the HDMI port on some sequences, but it would play the FSEQ like it was a virtual matrix on other sequences.

The reason why? I was going to sub-model it with some singing faces on a few sequences and thought maybe I could put them on a virtual matrix for some sequences, but just play the MP4 video I create on it for other sequences (where I don't include a virtual matrix).

CaptainMurdoch

Quote from: MichRX7 on August 15, 2022, 03:11:45 PMHello Captain Murdoch, is there instruction somewhere on how this changed in v6? I was planning on running a projector this year and was wondering if there was a way to run it in sort of a dual mode where FPP would play the MP4 out to the HDMI port on some sequences, but it would play the FSEQ like it was a virtual matrix on other sequences.

The reason why? I was going to sub-model it with some singing faces on a few sequences and thought maybe I could put them on a virtual matrix for some sequences, but just play the MP4 video I create on it for other sequences (where I don't include a virtual matrix).

The Virtual Matrix config should be backwards compatible if you are upgrading an existing system.  If you are setting up a new system, you can set it up as you did previously by going only to the Channel Outputs page or you can pre-create a Pixel Overlay Model.  If you go only to the Channel Outputs page and add a Virtual Matrix, you will set the Model field to "Auto Create" and the Pixel Overlay Model will be automatically created for the framebuffer device (fb0/fb1) that you chose.  The other method which is needed for the original poster's config is to pre-create the Pixel Overlay Model.

Your use case is supported in FPP v5.x and v6.x and shouldn't change really.  You can create a virtual matrix for sequences and set your "Default Video Output Device" on the settings page to the HDMI output and when you play a video, it should display over (and hide) the virtual matrix.  Lots of users use this functionality, playing both video and sequences on the video output at different times.
-
Chris

Support FPP

+- Recent Topics

Written documentation for Differential Receivers v2.01 by jnealand
Today at 08:16:12 AM

Docker Container - No Multisync Discovery by EricD
October 04, 2022, 10:51:15 PM

FPP Advanced Features Key has been used. by Bwinter
October 04, 2022, 10:15:28 PM

Unable to reconnect to BBB after network config by Stoshx
October 04, 2022, 06:33:05 PM

WTB F16v4 by Poporacer
October 04, 2022, 02:31:40 PM

F16V3s for Sale by Manuelpereyra78
October 04, 2022, 12:33:36 PM

F16V4 port 5 Lights flicker by Martin Lamers
October 04, 2022, 09:54:36 AM

House preview - full screen icon missing by JonD
October 03, 2022, 06:03:37 PM

F26V3 Unable to connect to network by JonD
October 03, 2022, 05:52:09 PM

Using GPIO inputs for multiple uses? by VitoHGrind
October 03, 2022, 01:04:21 PM

Powered by EzPortal
Powered by SMFPacks Menu Editor Mod