- Official Post
Okay, I got it working now.
But can you tell what features of voukoder you would like to have in Resolve? Or what features yout are currently missing there that Voukoder might be able to add?
Okay, I got it working now.
But can you tell what features of voukoder you would like to have in Resolve? Or what features yout are currently missing there that Voukoder might be able to add?
The most sought after feature is the ability to export ProRes. With MOV and MXF OP1a as supported containers. Progressiv and Interlaced options. With up to 16 mono audio channels for broadcast needs.
With ProRes 444 and above bit depth should support 12bit (atm Voukoder seems to use 10bit only), and alpha channels with ProRes 4444.
And having x264/x265 options would be great too. Currently h264 output from Resolve is ok, but not great and lacks settings and quality when outputting h264 as the end file format.
I think those are the most important features people are looking for.
Personally for me ProRes is by far my number 1 on the wishlist.
I'll give it a look.
Still, as i've said before, from what i know DVR does not send both Video and Audio to the same plugin. This means Voukoder might not be able capture this and encode both to one muxed output file.
That would be very surprising, because currently Mainconcept is working on an encoder for Resolve and I can't imaging that they wouldn't have brought this up as a problem.
I'll have to find some time to investigate this in detail, but ...
An encoder encodes exactly one uncompressed stream to a compressed stream. (That's what Mainconcept might do). i.e. uncompressed 4:2:0 to compressed h264.
It then returns the data back to DVR so it can package it in whatever container it wants. (i.e. MP4 or MOV)
The big question I need to find out is if DVR also supports an external muxer. So i can get both video and audio (in sync) from DVR, send both to Voukoder and Voukoder handles muxing and outputting.
But from what I've read is that this SDK is an encoder SDK only. It is not a generic File I/O SDK, which I have for Premiere, AfterEffects and VEGAS.
For me, it is x264/x265 export with CRF support, that I am missing. The h.264/h.265 encoding in Resolve just doesn't come close to x.264/x.265. Right now, I'm exporting DNxHR from DVR and then encode my mp4's in Handbrake. I would looove to get rid of this step, as I usually have to do it several times because I keep noticing new mistakes in the end file.
I will dedicate monday (tomorrow) to this topic.
That's super great
Is there anything else I can do to help here?
After a more in-depth analysis I can say a Voukoder plugin that supports muxed video and audio is possible.
Talking about some great news, can't say I saw this one coming.
This just might give me a reason to change away from Premiere.
The prototype seems to be working quite nice.
Here is the first prototype to test. Please tell about your findings / issues here in this thread. (You need to have Voukoder installed, of course).
Extract the ZIP file here and start Resolve.
The plugin will appear here:
Please note: If you like it and if you want to have further support and development consider donating. It will really help me, thanks.
P.S.: It will only work with the studio version of DVR. The plugin does not work with the free version.
Edit: You can find the latest version in the regular voukoder download section now.
I'm getting around half the speed from Resolve's Nvidia Encoding.
Resolve 1440p 60fps: ~240fps while encoding (4:01 for a 15min Vid)
Voukoder 1440 60fps with h264 nvidia preset: ~114fps while encoding (7:56 for a 15min Vid)
It runs stable, but I have to restart Resolve after using Voukoder, because the normal encoder wouldn't work anymore.
My GPU also only gets 50% Usage while enconding with Voukoder. Maybe I did something wrong here? Normal Resolve encoding uses around 99% GPU.
That would explain the difference in Render Speed.
I'm getting around half the speed from Resolve's Nvidia Encoding.
Resolve 1440p 60fps: ~240fps while encoding (4:01 for a 15min Vid)Voukoder 1440 60fps with h264 nvidia preset: ~114fps while encoding (7:56 for a 15min Vid)
Well, this is just a first prototype of 2 days work. Nothing has been optimized yet. But I don't think voukoder will ever be faster than the native DVR implementation. The goal is to have more encoders available in DVR - the existing encoder implementations seem to be quite good actually.
Currently the plugin gets the video as 422 and voukoder needs to convert it down to 420. That's something I can still optimize and it should give some more speed.
You have an active filter btw (gamma correction). Removing it gave me 40 more fps.
It runs stable, but I have to restart Resolve after using Voukoder, because the normal encoder wouldn't work anymore.
Looking into that.
Edit: This seems to be working after todays DVR update (17.1.1 Build 9)
My GPU also only gets 50% Usage while enconding with Voukoder. Maybe I did something wrong here? Normal Resolve encoding uses around 99% GPU.
If you set the preset to "slow" it uses 100% GPU.
Still: Voukoder is not the magical tool to make everything faster. But it might offer you more encoders and more options. And I guess DVR uses CUDA in a clever way to prevent lots of copy actions from/to host and gpu.
Wow, can't believe how fast things are moving all of a sudden! Already you have a prototype version ready? Can't wait to test it out.
First of all: I am sooo thrilled that you are prioritizing this, Vouk. THANK YOU.
I did a small comparison with Sergey's compiled x264 encoder for DVR (this one: https://forum.blackmagicdesign.com/viewtopic.php?f=21&t=125570), and I seem to be getting more contrast (and less detail in highlights) with Voukoder.
Here are three screenshots:
This first one is a screenshot of DVR in fullscreen mode:
The second one is a Voukoder export (x264, CRF 21, size 790mb)
The third one is Sergey's compiled plugin (x264, CRF 21, size 998mb)
My Voukoder settings were as follows (my settings with Sergey's plug were the same to the):
Clearly, the Voukoder export is brighter and lacks detail compared to both the viewer in DVR and Sergey's compiled x264 plugin. What gives?
Also, notice the difference in filesize (The two exports have the exact same length).
It seems this is an error with the video levels (Limited / Full). I'll provide a fix soon.
Vouk, will the prores_ks profile be implemented?
Is the alpha channel already working? If so, how to check?
And THANK YOU!
Vouk, will the prores_ks profile be implemented?
Yes, it is already.
Is the alpha channel already working? If so, how to check?
Currently UYVY422 is used to exchange frames between DVR and Voukoder. AFAIK this does not have an alpha channel. I still need to find out how I can use different color models / pixel formats.
Another question, will be color_range, colorspace, and color_primaries be supported?
static PropertyID pIOPropColorPrimaries = "clrPrimaries"; // int16_t
static PropertyID pIOTransferCharacteristics = "clrTransfer"; // int16_t
static PropertyID pIOColorMatrix = "clrMtx"; // int16_t