Page 1 of 1

h264 GPU

Posted: Fri Sep 25, 2020 21:40
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.

Re: h264 GPU

Posted: Thu Oct 01, 2020 17:55
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.

Re: h264 GPU

Posted: Thu Oct 01, 2020 21:41
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.

Re: h264 GPU

Posted: Thu Oct 01, 2020 21:56
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?

Re: h264 GPU

Posted: Mon Nov 02, 2020 16:40
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.

Re: h264 GPU

Posted: Sat Jun 19, 2021 22:10
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? : (