System spec check

Hello,

We tried playing a wall of 6 videos, 4096 x 2160 each (total resolution 12288 x 4320) and the system got very low FPS when more than 2 channels were playing. The CPU was at 100% usage while the GPU didn’t get much usage. The CPU is the Intel Core i9-10900X, and there are two RTX A6000 graphics cards synced with a Quadro Sync II card. We tried enabling the Use GPU decoding (experimental) option on the Media Player, and it would play the videos at 60 FPS, but only show three channels.

Is the CPU too old or is there some configuration that could improve the playback?

Playback of original video files can not guarantee performance. We have different reencoding quality presets for different needs.

Try uploading your content in mpeg2 good quality (50 mbit per fullhd), should work ok for projections.

For LED screen we recommend using NotchLC codec and uploading with original preset. You can encode in it with Adobe Media Encoder. It uses GPU decoding.

Cineform preset works ok for LED, but performance is 3x lower than mpeg2.

GPU accelerated decoding for h264 or HEVC is a good choice, and it should support alpha. Let me check with our dev team. Meanwhile, if you can provide more information about your video sample or the file itself, that would be great.

1 Like

I was able to run them at 60 FPS by splitting them into two Media Player nodes each running three channels. I enabled GPU decoding on both, and selected decoding chip 1 for the first one and decoding chip 2 for the second one. The videos were uploaded in their original formats. Here are the specs for one of them:

General
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/iso2/mp41)
File size                                : 9.59 GiB
Duration                                 : 24 min 48 s
Overall bit rate                         : 55.4 Mb/s
Frame rate                               : 60.000 FPS
Writing application                      : Blackmagic Design DaVinci Resolve Studio

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L5.1@High
Codec ID                                 : hvc1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 24 min 48 s
Bit rate                                 : 55.3 Mb/s
Width                                    : 4 096 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 1.896
Frame rate mode                          : Constant
Frame rate                               : 60.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.104
Stream size                              : 9.59 GiB (100%)
Writing library                          : H.265 10-bit
Color range                              : Limited
Color primaries                          : BT.709
Matrix coefficients                      : BT.709
Gamma                                    : 2.400
Codec configuration box                  : hvcC

Other
ID                                       : 2
Type                                     : Time code
Format                                   : QuickTime TC
Duration                                 : 24 min 48 s
Frame rate                               : 60.000 FPS
Time code of first frame                 : 01:00:00:00
Time code of last frame                  : 01:24:48:14
Time code, stripped                      : Yes
Language                                 : English


I’ve also tried another, much heavier format, and could only run two channels simultaneously without frame drops, even with GPU decoding enabled. It was also uploaded in its original format. These are the specs:

General
Format                                   : MPEG-4
Format profile                           : QuickTime
Codec ID                                 : qt   0000.02 (qt  )
File size                                : 299 GiB
Duration                                 : 24 min 48 s
Overall bit rate mode                    : Variable
Overall bit rate                         : 1 727 Mb/s
Frame rate                               : 60.000 FPS
Writing application                      : Blackmagic Design DaVinci Resolve Studio
Writing library                          : Apple QuickTime

Video
ID                                       : 1
Format                                   : ProRes
Format version                           : Version 0
Format profile                           : 422 HQ
Codec ID                                 : apch
Duration                                 : 24 min 48 s
Bit rate mode                            : Variable
Bit rate                                 : 1 727 Mb/s
Width                                    : 4 096 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 1.896
Frame rate mode                          : Constant
Frame rate                               : 60.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:2
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 3.253
Stream size                              : 299 GiB (100%)
Writing library                          : Apple
Color primaries                          : BT.709
Matrix coefficients                      : BT.709
Gamma                                    : 2.400

Other
ID                                       : 2
Type                                     : Time code
Format                                   : QuickTime TC
Duration                                 : 24 min 48 s
Frame rate                               : 60.000 FPS
Time code of first frame                 : 00:59:55:00
Time code of last frame                  : 01:24:43:14
Time code, stripped                      : Yes
Language                                 : English

I will try again using the reencoding setting you recommended. We’re testing it on projectors.

Another weird thing that’s happening is that during the video playback when GPU decoding is enabled, channels 1-3 are visible, but channels 4-6 are black (test patterns are fine). However, when I remote in on the server using TeamViewer, all six channels are visible. It could be happening because the channels are split between two graphic cards.

The Nvidia driver is also from 2024. Could that be an issues?

After reencoding the videos in MPEG2 good quality 50 Mbit, the videos played at 48 FPS. The CPU or the GPUs weren’t at 100%, and the GPU decoding option didn’t make any difference.

Right, HEVC playback with ~50 Mbit/s bitrate works using GPU decoding. You used 2 Media Player nodes to be able to use different decoding chip.

And you have an issue with 3 channels in second Media Player are not visible on second GPU outputs. We had similar problem with Touch Engine integration when it worked on one GPU and we have a mosaic setup and we see it’s output only on outputs of one GPU. The workaround was to use Multi GPU Image node as a bypass - it downloads the texture into memory and uploads again. It adds one frame latency and bus usage, but fixes the issue. Test patterns works because they are rendered on both GPU in a mosaic setup.

I don’t think updating the NVidia driver would help.

When you’re connecting with Team Viewer you see all 6 channels - Screenberry output must be composed through Desktop Window Manager in this case. You can force this without teamviewer by making Canvas size 1px smaller or bigger than the full desktop mosaic resolution.

We will look into this issue with GPU decoding and may fix for the next minor release 3.4.3.

Prores does not have accelerated decoding and it show low performance - that is expected. We only recently added hardware accelerated decoding on macOS for prores. It will be available in next major release 3.5. There is no available API for hardware accelerated prores decoding on other platforms.

My earlier suggestion to use the NotchLC codec still stands.

MPEG-2 plays 6 x 4096x2160 streams at 48 FPS while you need 60. We have setups where MPEG-2 plays 8K x 8K at 60, so this can be limited by your memory performance.

Check that the installed memory modules are configured to use all available memory channels (e.g. dual-channel, quad-channel, etc.). MPEG-2 decoding is sensitive to memory bandwidth. Also verify whether the system uses DDR5 or DDR4 memory.

It’s also preferable to have PCIe Gen4 for faster memory-to-GPU transfers. Finally, verify that the graphics cards are running with a PCIe x16 link width.

You can also try to use Display Output nodes instead of Canvas. Switch Canvas to offscreen mode, and connect all outputs to Display Ouptut node(s). You can try that with one Display Output and mosaic, or with mosaic disabled and 6 separate Display Output nodes. You can build/remove mosaic from Screenberry Panel via Displays Control, you just need to have Screenberry server running with administrative rights.

Another thing to test with MPEG-2: enable Async Long texture transfer mode in Media Player advanced parameters. This should have 20-30% performance improvement. It is known to have issues on multi GPU mosaic setups: frame tearing on jumps 3-4 frames back and forward on outputs of second GPU, but that some time fixed using “Force glFinish()” in Canvas node, or by outputing through Display Output, or by forcing to use Desktop Window Manager by changing its size. It is somewhat new not fully explored area for us, the behavior may vary between different NVidia drivers, so you can play with it.