https://github.com/Karleener/FreeDcpPlayer
Interesting project, this uses the decode side of the nvjpeg2000 package for playing back DCPs.
GPU based DCP encoding
-
- Site Admin
- Posts: 2548
- Joined: Thu Nov 14, 2013 2:53 pm
Re: GPU based DCP encoding
It is a cool project, indeed. I did some work to use nvjpeg2000 with DoM and it looks promising - the main problems at the moment are that the nvidia libraries don't support 4K decoding, and also for encode there is a detail of the cinema J2K profile that they don't support.
This bug in our tracker has some notes.
This bug in our tracker has some notes.
-
- Posts: 18
- Joined: Wed Sep 18, 2019 12:35 pm
Re: GPU based DCP encoding
I don't know if my experience will be useful
Carsten talks about network saturation all the time, but it's not that important anymore.
Most local area network has 1G/s, that's 112mb/s - let me ask you, do you often deal with source video with 1G/s bitrate?
Ok, I work in RAW 4-6-8K with ARRI RED and so on.
That's why I created a 10G/s local network - it's more than enough for comfortable work from network storage and not from a local disk array. Now network cards and used 10G switches are not at all expensive, and for short distances SFP + and optical cables are not needed - I use DAC.
My array has 16x HDD RAID5 and usually I create DCPs from ProRes422HQ and 4444, less often from 4444XQ.
I work in EasyDCP and also in ColorFront
EasyDCP using GPU(3070) for 2K DCP gives 180fps
ColorFront using 3x A4000 gives 200fps.
There is a commercial GPU solution for J2000 - Comprimato - I wrote about it a long time ago, they provide an Api and their solution uses Marquise Tech and FilmLight to create the DCP.
Why not make DOM based on Comprimato but not for free but as a standalone product with GPU support. For example, a free application runs on the CPU, and when you enter a license, GPU acceleration is activated.
Carsten talks about network saturation all the time, but it's not that important anymore.
Most local area network has 1G/s, that's 112mb/s - let me ask you, do you often deal with source video with 1G/s bitrate?
Ok, I work in RAW 4-6-8K with ARRI RED and so on.
That's why I created a 10G/s local network - it's more than enough for comfortable work from network storage and not from a local disk array. Now network cards and used 10G switches are not at all expensive, and for short distances SFP + and optical cables are not needed - I use DAC.
My array has 16x HDD RAID5 and usually I create DCPs from ProRes422HQ and 4444, less often from 4444XQ.
I work in EasyDCP and also in ColorFront
EasyDCP using GPU(3070) for 2K DCP gives 180fps
ColorFront using 3x A4000 gives 200fps.
There is a commercial GPU solution for J2000 - Comprimato - I wrote about it a long time ago, they provide an Api and their solution uses Marquise Tech and FilmLight to create the DCP.
Why not make DOM based on Comprimato but not for free but as a standalone product with GPU support. For example, a free application runs on the CPU, and when you enter a license, GPU acceleration is activated.
-
- Posts: 15
- Joined: Thu Jul 20, 2017 9:48 pm
Re: GPU based DCP encoding
I like this. Best of both worlds. I'll bet more licenses will be issued for the GPU encoding than not.
-
- Posts: 2
- Joined: Fri Nov 03, 2017 12:38 pm
Re: GPU based DCP encoding
Hi !
a new version of FreeDcpPlayer is released on Github, supporting 4K DCP
https://github.com/Karleener/FreeDcpPlayer
for testing purpose....
a new version of FreeDcpPlayer is released on Github, supporting 4K DCP
https://github.com/Karleener/FreeDcpPlayer
for testing purpose....
-
- Posts: 17
- Joined: Wed May 18, 2016 7:52 pm
- Location: Toronto, Canada
Re: GPU based DCP encoding
Hi Folks,
I developed a gpu encoder for AMD cards back in 2016 - at that time I was getting
over 50 fps 2K DCI encoding with a mid-range AMD card and a 4-core Intel cpu.
I would imagine the performance would be much better with current generation of cards.
I was thinking of packaging this up as a commercial network node for DoM.
As it's a fair bit of work to do this, my question is - how many people would be
interested ? The encoder currently only targets AMD cards, but if there is enough interest,
I could port it to Nvidia cards in the future.
Interested to know your thoughts.
Aaron
I developed a gpu encoder for AMD cards back in 2016 - at that time I was getting
over 50 fps 2K DCI encoding with a mid-range AMD card and a 4-core Intel cpu.
I would imagine the performance would be much better with current generation of cards.
I was thinking of packaging this up as a commercial network node for DoM.
As it's a fair bit of work to do this, my question is - how many people would be
interested ? The encoder currently only targets AMD cards, but if there is enough interest,
I could port it to Nvidia cards in the future.
Interested to know your thoughts.
Aaron
-
- Posts: 3
- Joined: Tue Feb 05, 2019 11:25 am
Re: GPU based DCP encoding
As I just launched a 4K DCP render and see that it's going to take about 8 hours I came back here to see if there's been any progress on implementing a GPU render. Sad to see it's still a pipe dream for DoM.
-
- Posts: 1
- Joined: Wed Mar 29, 2023 9:35 am
Re: GPU based DCP encoding
Hi,
Thanks Carl for your work and anyone promoting DoM and free software.
I have been looking into this https://dcpomatic.com/bugs/view.php?id=2176 and nvjpeg2000 and there has been some changes into v0.7.
https://github.com/NVIDIA/CUDALibrarySa ... 4a1383b13b
I can´t test the encoding example in my pc. Hope there options needed ( enable_custom_precincts width and height) are enabled.
I have post it in nvidia forums to see if they can help with this.
https://forums.developer.nvidia.com/t/a ... y/181800/5
Cheers
Thanks Carl for your work and anyone promoting DoM and free software.
I have been looking into this https://dcpomatic.com/bugs/view.php?id=2176 and nvjpeg2000 and there has been some changes into v0.7.
https://github.com/NVIDIA/CUDALibrarySa ... 4a1383b13b
I can´t test the encoding example in my pc. Hope there options needed ( enable_custom_precincts width and height) are enabled.
I have post it in nvidia forums to see if they can help with this.
https://forums.developer.nvidia.com/t/a ... y/181800/5
Cheers
-
- Posts: 1
- Joined: Fri May 03, 2024 3:29 pm
Re: GPU based DCP encoding
It looks @carl is testing nvjpeg2000 decoding and encoding according to https://dcpomatic.com/bugs/view.php?id=2176#c6362
It would be great to use NVIDIA's own library for DCP real playback and encoding hardware acceleration. I wonder why didn't happen sooner. Also including it in ffmpeg.Got a sponsorship offer to implement this for playback on Linux.
Last edited by wyup on Fri May 03, 2024 3:44 pm, edited 1 time in total.
-
- Site Admin
- Posts: 2548
- Joined: Thu Nov 14, 2013 2:53 pm
Re: GPU based DCP encoding
It looks like nvidia's libraries support the things we need for playback, but not yet for encoding. There's not much I can do about that.It would be great to use NVIDIA's own library for DCP real playback and encoding
I suppose you're asking "why didn't the volunteer effort do the thing I wanted them do to sooner"? I guess it's because they are volunteers, and so they don't have so much time, and choose the things that they want to work on. We hope these features will arrive one day.I wonder why didn't happen sooner.
I have contributed small fixes to ffmpeg but it's probably up to them whether they want to link their 25-year-old open-source effort to some modern closed-source code. "Including it in ffmpeg" would of course be nice, but I don't think it's as easy as you suggest.Also including it in ffmpeg.