h264 GPU

"Where is Feature X? I need Feature X! How can you not have Feature X?"
Post Reply
alida
Met Resolume in a bar the other day
Posts: 6
Joined: Fri Sep 25, 2020 21:35

h264 GPU

Post by alida »

We have video inputs into Resolume which are H.264 streaming video, are they handled by the GPU when running Resolume, as it seems like when we have several h264 live streams inputting into Resolume (e.g. 6 to 8 streams), the CPU is maxed out. Each input/stream is only processing VGA video, which is really not huge when running it through a latest and greatest Intel with best in class nVidia.

Zoltán
Team Resolume
Posts: 7088
Joined: Thu Jan 09, 2014 13:08
Location: Székesfehérvár, Hungary

Re: h264 GPU

Post by Zoltán »

h264 is software decoded on the CPU in Resolume currently.
I'd probably try to merge my input videos into one stream in the final resolution before sending it to Resolume via NDI. This could be done on separate machine(s) to distribute the load.
Software developer, Sound Engineer,
Control Your show with ”Enter” - multiple Resolume servers at once - SMPTE/MTC column launch
try for free: http://programs.palffyzoltan.hu

alida
Met Resolume in a bar the other day
Posts: 6
Joined: Fri Sep 25, 2020 21:35

Re: h264 GPU

Post by alida »

Zoltán wrote: Thu Oct 01, 2020 17:55 h264 is software decoded on the CPU in Resolume currently.
I'd probably try to merge my input videos into one stream in the final resolution before sending it to Resolume via NDI. This could be done on separate machine(s) to distribute the load.
We did consider merging the video inputs into one stream, but we want to control/animate etc each video clip independently within Resolume (in essence, the raison d'etre of Resolume), so that doesn't work out. We are not married to NDI, we are looking for whatever works. We can write plugins and pipe in YUV frames if Resolume would support such a function (not sure if we tried this), or simply sending the streams as individual NDI streams, but this would not scale especially if we want to manage 10-20 or even 50 streams (may saturate the bus). In essence, we are looking for a way for Resolume to allows us to pipe the media ourselves through Cuda, or any available method allowing us to handle real-time streams.

User avatar
Arvol
Might as well join the team
Posts: 2772
Joined: Thu Jun 18, 2015 17:36
Location: Oklahoma, USA

Re: h264 GPU

Post by Arvol »

Could you output each stream as a spout source as that would be a direct texture share from the gpu. It won't do audio unfortunately so you would have to get creative with that (Dante might be a good solution). This is by no means a solution, but maybe a band-aid to get you by in the meantime?

gremlintech
Met Resolume in a bar the other day
Posts: 14
Joined: Thu Oct 29, 2020 16:57

Re: h264 GPU

Post by gremlintech »

It probably wouldn't be too tricky in software to add an intermediary "virtual" stream which GPU decodes H.264 to something uncompressed so it doesn't need to be decoded/encoded. Bandwidth will not be an issue because it happens all in hardware. Then you can bring that stream into resolume directly.

resolumejunkie
Hasn't felt like this about software in a long time
Posts: 85
Joined: Sat Jun 19, 2021 21:38

Re: h264 GPU

Post by resolumejunkie »

Hi, just chiming in. I feel like this is another example of a missed opportunity in 2020-2022.

GPU decode of h.264 and HEVC is common in video industry software nowadays. It is not particularly difficult with Video Toolbox on Apple platforms. Additionally, since 2019, Apple has supported HEVC with Alpha channel! On macOS and iOS! Yet, Resolume on Mac cannot even decode plain old h.264 or HEVC on the GPU? It just putters along. Slowly. It boggles the mind how software with over 15,000 active users could be this out-of-date! I really, genuinely do not understand. I'm sorry if this comes across as rude, but please help me understand why this software is being continually technologically leapfrogged by the rest of the industry? : (

Post Reply