Posts: 20
Threads: 3
Joined: Sep 2018
- Please, read the 'Infos needed to fix&reproduce bugs,..'-sticky before you post about a problem.
Hello!
I read the previous article: https://forum.selur.net/showthread.php?tid=80
I have a Geforce GTX 1060 card in my PC, my father had an 1050TI, both Card support 4K transcoding with NVENC, however Hybrid does not allow the transcoding of 4K videos with the normal NVENC settings, because of MAX MB per sec limitation was automatically set to Hybrid. It is however not correct for Nvidia Pascal Geforce 1050 1060 1070 1080 series of cards, especially after the new drivers.
I could transcode 4K videos with NVENC on my computer and on my father's computer without any problems in Staxrip, MEdiacoder, Xmedia Recode, nvenc supporting plugins for Premiere Pro and other softwares. So it is clear a proof, that there is no limit on these Geforce cards and new drivers in the case of 4K videos.
Thank you!
Posts: 10.549
Threads: 57
Joined: May 2017
I tried to reproduce this with my 1070ti, by: - Starting Hybrid
- Loading a 4k source
- Selecting NVEnc as encoder (Base->Processing->Video->NVEnc)
- Settings 'NVEnc->Base->Encoding mode' to 'constant quantizer'
Command line looks like this:
NVEnc --y4m -i - --fps 25.000 --codec h264 --profile high --level auto --sar 1:1 --lookahead 16 --cqp 20:23:25 --gop-len 0 --bframes 3 --ref 3 --mv-precision Q-pel --cabac --deblock --preset default --videoformat undef --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --output "E:\Temp\4K sun HDR test.264"
- Setting an output file (Base->Output file)
- Creating a new job (Base->Add to queue)
- Starting the job (Jobs->Queue->Start)
-> Encoding worked fine.
Only options that could be possible to limit the max MBs per second are the profile&level settings.
Other than that I got no clue what settings you used.
My current guess is that you used a profile&level combination which doesn't allow the bitrate+fps+resolution combination you chose.
=> Quote:Please, read the 'Infos needed to fix&reproduce bugs,..'-sticky before you post about a problem.
Without proper detail there is no way for me to reproduce the issue.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 20
Threads: 3
Joined: Sep 2018
(06.09.2018, 15:58)Selur Wrote: I tried to reproduce this with my 1070ti, by:- Starting Hybrid
- Loading a 4k source
- Selecting NVEnc as encoder (Base->Processing->Video->NVEnc)
- Settings 'NVEnc->Base->Encoding mode' to 'constant quantizer'
Command line looks like this:
NVEnc --y4m -i - --fps 25.000 --codec h264 --profile high --level auto --sar 1:1 --lookahead 16 --cqp 20:23:25 --gop-len 0 --bframes 3 --ref 3 --mv-precision Q-pel --cabac --deblock --preset default --videoformat undef --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --output "E:\Temp\4K sun HDR test.264"
- Setting an output file (Base->Output file)
- Creating a new job (Base->Add to queue)
- Starting the job (Jobs->Queue->Start)
-> Encoding worked fine.
Only options that could be possible to limit the max MBs per second are the profile&level settings.
Other than that I got no clue what settings you used.
My current guess is that you used a profile&level combination which doesn't allow the bitrate+fps+resolution combination you chose.
=>
Quote:Please, read the 'Infos needed to fix&reproduce bugs,..'-sticky before you post about a problem.
Without proper detail there is no way for me to reproduce the issue.
Cu Selur
Level is always "Auto", but I tried with 6.2, but nothing has changed.
All other settings are "factory default"
Sometimes it can start, but automatically revert the output to 1080p.
Other above mentioned transcoder softwares can do 4K NVENC HEVC 10bit videos without any problems & warnings.
Posts: 10.549
Threads: 57
Joined: May 2017
06.09.2018, 19:32
(This post was last modified: 06.09.2018, 20:13 by Selur.)
What does:
output on your system?
I get for example:
Environment Info
OS : Windows 10 x64 (17134)
CPU: AMD Ryzen 7 1800X Eight-Core Processor (8C/16T)
RAM: Used 5469 MB, Total 32696 MB
GPU: GeForce GTX 1070 Ti (19 EU) @ 1683 MHz (399.07)
List of available features.
Codec: H.264/AVC
Max Bframes 4
B Ref Mode yes
RC Modes 63
Field Encoding yes
MonoChrome no
FMO no
Quater-Pel MV yes
B Direct Mode yes
CABAC yes
Adaptive Transform yes
Max Temporal Layers 0
Hierarchial P Frames no
Hierarchial B Frames no
Max Level 51
Min Level 1
4:4:4 yes
Max Width 4096
Max Height 4096
Dynamic Resolution Change yes
Dynamic Bitrate Change yes
Forced constant QP yes
Dynamic RC Mode Change no
Subframe Readback yes
Constrained Encoding yes
Intra Refresh yes
Custom VBV Bufsize yes
Dynamic Slice Mode yes
Ref Pic Invalidiation yes
PreProcess no
Async Encoding yes
Max MBs 65536
MAX MB per sec 983040
Lossless yes
SAO no
Me Only Mode yes
Lookahead yes
AQ (temporal) yes
Weighted Prediction yes
Max LTR Frames 8
10bit depth no
Codec: H.265/HEVC
Max Bframes 0
RC Modes 63
Field Encoding no
MonoChrome no
Quater-Pel MV yes
B Direct Mode no
Max Temporal Layers 0
Hierarchial P Frames no
Hierarchial B Frames no
Max Level 62
Min Level 1
4:4:4 yes
Max Width 8192
Max Height 8192
Dynamic Resolution Change yes
Dynamic Bitrate Change yes
Forced constant QP yes
Dynamic RC Mode Change no
Subframe Readback yes
Constrained Encoding no
Intra Refresh yes
Custom VBV Bufsize yes
Dynamic Slice Mode yes
Ref Pic Invalidiation yes
PreProcess no
Async Encoding yes
Max MBs 262144
MAX MB per sec 983040
Lossless yes
SAO yes
Me Only Mode yes
Lookahead yes
AQ (temporal) no
Weighted Prediction yes
Max LTR Frames 7
10bit depth yes
So on my system the max MB count per second is restricted to 983040 which seems to be the same on your system by the error popup.
Hybrid calculates the MBs per secund through:
MAX MB per sec = (width / 16.0 + 0.5) * (height / 16.0 + 0.5) * fps
which would be in your case:
3840/16 * 2140/16 * 59.94 = 1 924 074
which is why Hybrid aborts here.
(983040 would be enough for 3840/16 * 2140/16 * 30 = 963000)
Grabbing the latest NVEncC 4.14 from the authors GoogleDrive, extracting the content of the 'NVEncC\64x'-folder into the 'Hybrid/64bit'-folder and renaming NVEncC64.exe to NVEncC.exe and running the call from above again doesn't change the output for me.
So there are multiple scenarios:
a. I/Hybrid calculates the macro blocks per second wrong
b. the value NVEncC output wrong data
->
a. if the calculation is wrong, I would need to know how to calculate this correctly (I don't see a mistake here since macro blocks should be 16x16 pixel in size)
b. If the restriction is really outdated, this needs to be fixed in NVEncC which Hybrid uses. Once this is fixed in NVEncC replacing the file like mentioned above and calling 'Config->Tools->Clear all cached tool infos' will fix the issue. In case this is a bug in NVEncCs output, I do not plan to write a workaround for this, since I believe this should be fixed in NVEncC then.
Cu Selur
Ps.: NVEncCs 'home' is https://github.com/rigaya/NVEnc
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 20
Threads: 3
Joined: Sep 2018
(06.09.2018, 19:32)Selur Wrote: What does:
output on your system?
I get for example:
Environment Info
OS : Windows 10 x64 (17134)
CPU: AMD Ryzen 7 1800X Eight-Core Processor (8C/16T)
RAM: Used 5469 MB, Total 32696 MB
GPU: GeForce GTX 1070 Ti (19 EU) @ 1683 MHz (399.07)
List of available features.
Codec: H.264/AVC
Max Bframes 4
B Ref Mode yes
RC Modes 63
Field Encoding yes
MonoChrome no
FMO no
Quater-Pel MV yes
B Direct Mode yes
CABAC yes
Adaptive Transform yes
Max Temporal Layers 0
Hierarchial P Frames no
Hierarchial B Frames no
Max Level 51
Min Level 1
4:4:4 yes
Max Width 4096
Max Height 4096
Dynamic Resolution Change yes
Dynamic Bitrate Change yes
Forced constant QP yes
Dynamic RC Mode Change no
Subframe Readback yes
Constrained Encoding yes
Intra Refresh yes
Custom VBV Bufsize yes
Dynamic Slice Mode yes
Ref Pic Invalidiation yes
PreProcess no
Async Encoding yes
Max MBs 65536
MAX MB per sec 983040
Lossless yes
SAO no
Me Only Mode yes
Lookahead yes
AQ (temporal) yes
Weighted Prediction yes
Max LTR Frames 8
10bit depth no
Codec: H.265/HEVC
Max Bframes 0
RC Modes 63
Field Encoding no
MonoChrome no
Quater-Pel MV yes
B Direct Mode no
Max Temporal Layers 0
Hierarchial P Frames no
Hierarchial B Frames no
Max Level 62
Min Level 1
4:4:4 yes
Max Width 8192
Max Height 8192
Dynamic Resolution Change yes
Dynamic Bitrate Change yes
Forced constant QP yes
Dynamic RC Mode Change no
Subframe Readback yes
Constrained Encoding no
Intra Refresh yes
Custom VBV Bufsize yes
Dynamic Slice Mode yes
Ref Pic Invalidiation yes
PreProcess no
Async Encoding yes
Max MBs 262144
MAX MB per sec 983040
Lossless yes
SAO yes
Me Only Mode yes
Lookahead yes
AQ (temporal) no
Weighted Prediction yes
Max LTR Frames 7
10bit depth yes
So on my system the max MB count per second is restricted to 983040 which seems to be the same on your system by the error popup.
Hybrid calculates the MBs per secund through:
MAX MB per sec = (width / 16.0 + 0.5) * (height / 16.0 + 0.5) * fps
which would be in your case:
3840/16 * 2140/16 * 59.94 = 1 924 074
which is why Hybrid aborts here.
Grabbing the latest NVEncC 4.14 from the authors GoogleDrive, extracting the content of the 'NVEncC\64x'-folder into the 'Hybrid/64bit'-folder and renaming NVEncC64.exe to NVEncC.exe and running the call from above again doesn't change the output for me.
So there are multiple scenarios:
a. I/Hybrid calculates the macro blocks per second wrong
b. the value NVEncC output wrong data
->
a. if the calculation is wrong, I would need to know how to calculate this correctly (I don't see a mistake here since macro blocks should be 16x16 pixel in size)
b. If the restriction is really outdated, this needs to be fixed in NVEncC which Hybrid uses. Once this is fixed in NVEncC replacing the file like mentioned above and calling 'Config->Tools->Clear all cached tool infos' will fix the issue.
Cu Selur
That's the problem with the over automatizing to prevent every possible failure, and the software won't start correctly. Can you switch off this feature for GF 1000 series, because with the new drivers these cards had not such problems during 4K transcoding, which means that the calculation is somehow wrong in the Hybrids error-message.
Meanwhile I tried 8K NVENC transcoding in Staxrip, and everything works fine. GF 1000 series with Pascal support have a max encoding limit in 8K resolution. So in the case of Pascal driven Cards, you can turn off these thing. Okay, people who use old VGA drivers can have problems, but new drivers fixed that Issue from 2018.
Here is the NVENC support matrix (Encode decode everything.) https://developer.nvidia.com/video-encod...ort-matrix
And it has right, 8K encoding works with Pascal engines.
Posts: 10.549
Threads: 57
Joined: May 2017
-> Won't change this in Hybrid, but I'll post into the NVEncC bug tracker.
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 20
Threads: 3
Joined: Sep 2018
(06.09.2018, 19:57)Selur Wrote: -> Won't change this in Hybrid, but I'll post into the NVEncC bug tracker.
Every GF 1000 Cards have the very same NVENC Chip and they have the same speed. 1070-1080 cards have 2 NVENC chips, but you can use the two chip, if you transcode 2 videos in the same time, or making two video streaming in the same time.
If you transcode or stream only 1 video, 1070-1080 is not faster.
Here is a short video, and test about it:
It is worth to watch:
Think it over in logical way. That error message and restriction is not needed. Every PASCAL CHIP IS THE SAME, and all of them are capable for 8K encoding.
The other above mentioned softwares don't care about such message, and they just simply work fine without (imagined fantasy) restrictions, false error messages and problems. Again: It is not needed anymore. IT is so simple like 2X2 =4
Posts: 10.549
Threads: 57
Joined: May 2017
Posted to the rigayas bug tracker ( https://github.com/rigaya/NVEnc/issues/71).
If you can't wait till he fixes it in NVEncC, simply don't use Hybrid but any of the software you mentioned before.
Like I wrote before:
Quote:I do not plan to write a workaround for this, since I believe this should be fixed in NVEncC then.
(you probably missed that edit since you were writing your answer at the time)
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 20
Threads: 3
Joined: Sep 2018
(06.09.2018, 20:15)Selur Wrote: Posted to the rigayas bug tracker (https://github.com/rigaya/NVEnc/issues/71).
If you can't wait till he fixes it in NVEncC, simply don't use Hybrid but any of the software you mentioned before.
Like I wrote before:
Quote:I do not plan to write a workaround for this, since I believe this should be fixed in NVEncC then.
(you probably missed that edit since you were writing your answer at the time)
Cu Selur
If you like the perfect solutions, than you can ask them, that they can concentrate on the 8K videos too, because they are working fine with PASCAL chips. Okay?
(Maybe You can modify your post on Github)
Posts: 10.549
Threads: 57
Joined: May 2017
-> after feedback from rigaya I'll remove the MB check
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
|