• AnyStream is having some DRM issues currently, Netflix is not available in HD for the time being.
    Situations like this will always happen with AnyStream: streaming providers are continuously improving their countermeasures while we try to catch up, it's an ongoing cat-and-mouse game. Please be patient and don't flood our support or forum with requests, we are working on it 24/7 to get it resolved. Thank you.

GTX 1060 transcoding times

Clarity3

Well-Known Member
Thread Starter
Joined
Mar 26, 2007
Messages
236
Likes
6
I have been using a NVIDIA GT730 graphics card which gave an improvement in transcoding times and subsequently writing times to disc as the file size was significantly smaller.

An example is a Partial copy with CloneBD, using hardware acceleration, where the file size is 25GB. After transcoding the file size is 12GB. My understanding being the padding is removed during the process.

A recent purchase of a NVIDIA GTX 1060 6GB employing 1280 Cuda cores, as opposed to the 384 with the GT 730, gave me the impression I should see faster transcoding times. However, currently that is not the case. What I see is, about the same time as a BD not requiring compression. This is probably correct as the 25GB has been transcoded to 20GB.

In conjunction with this the CPU usage is on average 37%, suggesting it is being employed a lot of the time as opposed to the GT 730, which only shows CPU usage of 5% (with hardware acceleration).

Is there an explanation for the different final file sizes that I am seeing and should I be adjusting a setting somewhere?
 
I had the same issue with a 760 that the target file size was missed badly. Reto once answered that this can't be fixed as it depends on the NVIDIA API. Since I wanted to transcode UHDs _which only works with the 9xx and 10xx cards- I invested in a 1050. Then the target size was hit much closer. Not sure if it is all related to padding.
 
This explanation from Reto is probably still applicable: https://forum.redfox.bz/threads/small-output-file-size.75232/#post-489057

[...]

... some discs have rather low quality to begin with but also have a lot of filler data (random padding).
This filler data is a regular feature on different levels of the video encoding. One practical use is to prevent buffer underflows in scenes with low detail.
But that doesn't really apply as a use case with Blu-ray discs - it's application there is mainly to fill the disc and make it look like there's really a lot of great picture quality on it. (A BD with only 8GB on it wouldn't look all that impressive).

nVidia and AMD don't support filler data on output. Intel and software encoding (ffmpeg) do.
So when encoding without hw acceleration, ffmpeg will attempt to add filler data to come closer to the requested bit rate, if the actual video doesn't have enough detail to really use the space.
nVidia will not.
nVidia will encode the video stream with as high a bit rate as you allow it to (through the settings), but it will not artificially add size beyond what is there without reduction of quality.

So the real question is: do you see a major difference between your CUDA and your non-CUDA output quality-wise?
If not, you can assume, that the non-CUDA output is the same 14GB, just with 9GB of additional random junk added.

Additional note: what I described there, is a very common thing, especially with Blu-rays, that were upscaled from DVD sources or TV shows.
Hostiles, on the other hand, is a recent, over 2h movie, so I'd be a bit surprised.

In any event, we don't have much influence on this, because we can't do more than tell the nVidia encoder the requested bit rate and let it do its work.
(We could switch to constant bitrate mode - then nVidia would add filler data to ensure the requested size, but the quality would be worse than VBR).
 
The key take away from Reto's reply is the one section:

So the real question is: do you see a major difference between your CUDA and your non-CUDA output quality-wise?
If not, you can assume, that the non-CUDA output is the same 14GB, just with 9GB of additional random junk added.

I do admit that sometimes it feels odd making a backup with compression to find that the resulting backup takes up only around 1/2 of the single layer blank. That said, there are valid technical reasons for this happening as previously noted by Reto. If, however, the quality differs significantly then there could, in fact, be an issue somewhere. Otherwise, relax and enjoy.
 
Thanks for the replies.

Reto's explanation to that question I posted, is where I learnt about the padding effect. The question at that time was associated with a recent film and as he says not an old tv show, which could have lower quality.

The instance now is based on my expectation that employing 4x the Cuda cores for the same film would give me a faster transcoding time. The 'fly in the ointment' is a lower level graphics card transcodes faster than a relatively higher one (albeit the padding issue being the reason).

I have not tried a UHD transcode yet, but have to hope it will be significantly faster than the GT730 otherwise it has become a bit of a negative upgrade.

I'm still unclear why padding is removed in one instance (25GB to 12GB) and judging by the resulting file size less with the other graphics card (25GB to 20GB). Also, why is the CPU being loaded when hardware acceleration uses the GPU?
 
As I wrote: Hardware transcoding an UHD with the 730 would not work anyway. A 9xx or 10xx is needed.

And the newest CloneBD 1.2.4.2 64-bit hits fps rates up to 200, average 120, with my 1050 as an example of a movie I transcoded today.
 
Yes, I did realise that. I was speaking metaphorically.

I also get fps rates of 120. Not seen anything as high as 200 in the main video, only at the end credits.
 
120 average with UHDs, not BDs. I think you said you haven't processed UHDs yet.
 
What would you expect as a difference between the average now and for UHD?
 
You quoted an average fps for UHD transcoding while indicating my fps rating was for BD. I was asking whether there would be a difference between the two sources.
 
OK. I don't know. 1.2.4.2 64-bit is too new and i haven't processed a regular BD yet.
 
A recent purchase of a NVIDIA GTX 1060 6GB employing 1280 Cuda cores, as opposed to the 384 with the GT 730, gave me the impression I should see faster transcoding times. However, currently that is not the case. What I see is, about the same time as a BD not requiring compression. This is probably correct as the 25GB has been transcoded to 20GB.
Without seeing an actual log file of the process, it's close to impossible to get an understanding of what you did and what was happening.
 
Pete, I posed this question having done my first transcoding with hardware acceleration a little while ago and learnt from Reto about the padding removal.

I thought, because I was now seeing something different having upgraded my graphics card, perhaps it was something different again and someone would recognise the symptoms.

Attached is a log file for version 1.2.4.3 which does not appear different to version 1.2.4.2
 

Attachments

  • CloneBD.1.2.4.3.HOW_TO_TALK_TO_GIRLS.cbdlog
    315.4 KB · Views: 1
I thought, because I was now seeing something different having upgraded my graphics card, perhaps it was something different again and someone would recognise the symptoms.
I'm not entirely sure, that I understand your problem.

Is there an explanation for the different final file sizes that I am seeing and should I be adjusting a setting somewhere?
You mentioned one example of a file having 25GB on input and 12GB on output.
Clearly your log file is not whitness of such a process - there the resulting size is pretty much what you selected it to be.

With nVidia the process is pretty straight forward: CloneBD tells nVidia the requested bit rate. nVidia decodes the pictures, CloneBD feeds them into the encoder.
There is no additional magic.

So from the encoder's point of view, there are just a row of raw colour images, size 1920x1080, being fed one after the other and it compresses them to AVC, trying to yield an average bitrate that best matches the requested bit rate.
If one disc results in pretty much the size you expected and the other doesn't (e.g. much smaller), then the only difference can be the actual pictures - that's the only thing, that goes into the equation.

The encoder only has one option to reduce size: it removes detail - when doing that, it chooses properties that are least perceptable.
If the encoder discovers, that the current bit rate is already lower than requested, it doesn't remove any detail. It just does a lossless compression.

So if you get a small output, the cause was - lack of detail. And as explained earlier - nVidia, Intel and I think AMD hw encoders don't attempt to add filler in order to pimp the bit rate (unless "constant bitrate" was requested, but you don't want that).

In conjunction with this the CPU usage is on average 37%, suggesting it is being employed a lot of the time as opposed to the GT 730, which only shows CPU usage of 5% (with hardware acceleration).
That would be normal - the GT 730 is pretty slow compared to the 1060. So it's handing back the images far slower than the 1060 and the CPU, of course, doesn't have to receive and package as many frames in the same time.
With the GTX1060, things go a lot faster, the whole thing takes less time, the CPU does more work in the same time span.

A recent purchase of a NVIDIA GTX 1060 6GB employing 1280 Cuda cores, as opposed to the 384 with the GT 730, gave me the impression I should see faster transcoding times. However, currently that is not the case. What I see is, about the same time as a BD not requiring compression.

I'm not sure, you're not comparing apples and oranges here.
We have a GT740, which should not differ much from your 730. With that you would get around maybe 80-120 fps. The GTX1060 is more like around 300fps. That is provided, that the source and destination drives are fast enough and are not the limiting factor.
Reading from an actual Blu-ray Disc will limit the speed all by itself.

Note that depending on the encoding, you might see far slower or far faster transcodes - so if you want to compare speeds, you must use the same source video.

If you see the same time as when not requiring compression, then you can assume, that the drives (either input or output) are the limiting factor.

According to your log file, you processed 2:50h of video in 23 minutes.
You selected "medium quality", though with nVidia that currently is the same as "highest quality", because particularily the nVidia encoder only has two quality vs. speed settings.

That's an average of around 180fps.

With the GT 730 you can't possibly even get near that speed.

Therefore I don't understand what you mean, when you say, that you'd expect faster transcoding times - and in the same sentence you say, that transcoding is just as fast as, simply put, copying (which is as fast as it can go).
Isn't that a contradiction?
 
Hello Reto. Thank you for the explanation.

I guess my question was not well put. I did use the same source, ie video, iso on hdd location, destination, when seeing the difference between transcoding with the GT730 and GTX1060. The log file was just for the GTX1060 and not the GT730.

The main difference was that with the GT730, the output file size was 12GB whereas the GTX1060 was 20GB. My indication about transcoding times was associated with the time to produce a 12GB file versus a 20GB file with a faster process, which appeared to be about the same.

I will swap back the GT730 and get a log file for you to see.
 
Attached is a log file after transcoding the same video with the GT730.

As mentioned, the file size in this instance is 12GB whereas with the GTX1060 it is 20GB. The time taken is clearly faster with the GTX1060 as CloneBD produces a larger file in about 20% less time.

My question was really about why the two different file output sizes.
 

Attachments

  • CloneBD.1.2.4.3.HOW_TO_TALK_TO_GIRLS_730.cbdlog
    315.4 KB · Views: 2
As mentioned, the file size in this instance is 12GB whereas with the GTX1060 it is 20GB. The time taken is clearly faster with the GTX1060 as CloneBD produces a larger file in about 20% less time.

My question was really about why the two different file output sizes.

I honestly can't tell you.
I checked - the GT730 does have a different NVENC chip than the GT740. So I have no means to accurately match your results.
It's very difficult to find proper specifications - other than marketing bullshit.
It is possible, that the GT730 is somehow limited to some maximum bit rate, I really don't know and nVidia doesn't say.
It's definitely not CloneBD - the interface is always exactly the same, CloneBD doesn't care, what type of nVidia card it's talking to. It's always the same information.
 
Thank you Reto.
In a previous question from me (June 2018) on a similar topic you said the smaller size was genreated because the 'padding' had been removed. In this instance, with the 1060, does it mean more video data?
The reason for asking is, I tried viewing each on a 65" and can't really see a marked difference. Admittedly, its not an OLED but typically I see a bit of graining on dark scenes with poor video.
 
Back
Top