Posts by Vogelforscher

    AMD Threadripper Encoding Guide

    General settings to improve encoding speed

    • Ensure that you have the newest drivers installed for your GPU, CPU and Chipset
    • Set Memory Access Mode to Distributed in Ryzen Master (UMA)
    • For new generation Threadrippers disabling Dynamic Local Mode in Ryzen Master could improve encoding speed
    • For high performance CPU's with many cores like AMD Threadrippers or Intel Xeons there is a high chance that disabling CUDA in Premiere/Media Encoder speeds up the process massively (also if you export in x264 or x265)
    • Ensure that your maximum CPU power is set to 100% in the Windows-Powerplan
    • Ensure that Premiere/Media Encoder has much RAM as possible
    • I recommend to use a SSD, especially for large video files or exports

    Encoder specific settings

    VP8/VP9

    • Disable a few cores in Ryzen Master (VP8 and VP9 using only a few cores)
    • To reach faster encoding times then, you can clock the other cores higher

    Sample encoding times with a Threadripper 1950X

    Environment:

    • Windows 10 1803
    • Adobe Premiere CC 2018 12.1 (CUDA disabled)
    • Voukoder R2 2.0.5
    • AMD Threadripper 1950X @3.7 Ghz (Memory Mode Distributed, all cores enabled)
    • 32 Gig RAM (Quad Channel)
    • Geforce GTX 1080 Ti

    NVENC H.264

    Full-HD UHD
    Export settings preset=slow qp=15 b=15000000 gpu=0 maxrate=20000000
    preset=slow profile=high rc=vbr
    Video resolution 1080p 2160p
    Video length 10 min 10 min
    Video Framerate 30 FPS 60 FPS
    Avg. FPS (export) 430 FPS 95 FPS
    Export time 50 sec 6:20 min


    x264

    Full-HD UHD
    Export settings b=8000000 preset=medium profile=high rc=abr b=15000000 preset=medium profile=high rc=abr
    Video resolution 1080p 2160p
    Video length 10 min 10 min
    Video Framerate 30 FPS 60 FPS
    Avg. CPU Usage 80% 84%
    Export time 2:45 min 16:10 min


    Is your export slow?

    Check the Taskmanager while exporting and look for CPU, GPU and RAM usage.

    • Is your CPU/GPU load only at a few percent?

    When using nvenc check the FPS while exporting

    • Type this in a command line window: "c:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe" encodersessions

    After exporting check the Voukoder log and look at the render times (first ones in the log)

    • If you have very high values like 20000 µs all the time there could be something wrong (some peaks are normal) or CUDA is enabled

    If you think that your export is too slow and some of these points apply, check the forum for existing topics or create a new one and explain exactly as you can.

    Preset slower already includes: rc-lookahead=60, b-adapt=2, direct=auto, trellis=2. You do not need these options. bframes=3 is default for x264 - it also can be omitted. Setting ref to 5 you should increase level to 5.0, because level 4.2 for 1080p allow only 4 ref frames. This is about hardware compatibility.


    All these about knowledge what these options are doing...

    I set rc-lookahead=60, b-adapt=2, direct=auto, trellis=2 because in the Voukoder UI these settings didn't change when selecting preset slower. I have never said that I want hardware compatibility with these settings and level will be set automatic by x264 ;)

    Pretty much every new device can play videos with that level.

    I have good settings for x264.

    These settings provide the best possible quality in my eyes with x264 without wasting CPU usage.

    Bitrate is set for 1080p 30fps in this case.
    Encoding with this settings take a while ;)

    Enable 2pass!

    Code
    1. b=4000000 preset=slower profile=high rc=abr tune=film x264-params=aq-mode=2:rc-lookahead=60:bframes=3:b-adapt=2:b-pyramid=2:ref=5:direct=auto:direct-8x8=1:me=esa:merange=24:subme=10:trellis=2:no-dct-decimate=1:no-fast-pskip=1

    I recommend to go a bit higher with the bitrate if your video has 60 FPS or if it's recorded gameplay.

    I found it. The problem is CUDA enabled in the Premiere Project settings. If I disable it (setting to software only), Voukoder R2 is exactly same as fast as Voukoder 1.2.0 (around 370 fps). Voukoder 1.2.0 doesn't care the CUDA setting in Premiere but in Voukoder R2 for some reason if its enabled the export is much slower.

    Latencies are also normal with CUDA disabled:

    Code
    1. [20:04:42] Video frame #574: Render: 38 µs, Process: 8 µs, Encoding: 2456 µs
    2. [20:04:42] Video frame #575: Render: 77 µs, Process: 19 µs, Encoding: 2560 µs
    3. [20:04:42] Video frame #576: Render: 79 µs, Process: 19 µs, Encoding: 2813 µs
    4. [20:04:42] Video frame #577: Render: 47 µs, Process: 15 µs, Encoding: 2729 µs
    5. [20:04:42] Video frame #578: Render: 84 µs, Process: 16 µs, Encoding: 2063 µs
    6. [20:04:42] Video frame #579: Render: 58 µs, Process: 13 µs, Encoding: 1721 µs


    But in CS6 this didn't work. In my case this doesn't matter because I am not using CS6. :)

    But the question is why Voukoder 1.2.0 is that much faster?

    I am debugging right now, maybe I can find something.

    What I can currently say is that the ffmpeg version doesn't matter, I tested it with both 4.0 and 4.1.

    On my side CS6 is even slower than CC 2018 (around 170 fps but lower latencies).

    Here are two screenshot from the Taskmanager (CC 2018 usage and CS6 usage) and the logfile which shows the latencies.

    CS6 uses way more RAM than CC 2018 but the CPU and GPU usages are pretty low.

    Files

    • cc usage.JPG

      (182.71 kB, downloaded 4 times, last: )
    • cs6 usage.JPG

      (179.05 kB, downloaded 3 times, last: )
    • r2 log cs6.txt

      (1.45 MB, downloaded 1 times, last: )

    Just to clarify:


    Render: 15 µs <- Voukoder has no impact on this, it is entirely premiere

    Process: 5 µs <- Voukoder has high impact on this

    Encoding: 676 µs <- Voukoder has small impact on this. Mostly libav / FFmpeg

    Can you look at my logfile above and tell me if the latencies are normal?

    I am changing and debugging some things in the source code right now. Maybe I can find something.

    As I can see your Render time is about 15 µs average.

    Is it normal that this value goes sometimes up to over 5000 µs ?

    You can see it in the logfile.

    My Gtx 1080ti is reaching with your settings (gpu=0 preset=slow qp=15 rc=constqp) about 200 fps. I don`t think that a 2080ti is more than twice as fast. (my 1080p video has no effects or filters or something else and is located on a SSD raid 0)

    Files

    • r2 log.txt

      (1.44 MB, downloaded 2 times, last: )

    How is the actual status of this feature Vouk ?

    Parallel encoding would be very nice for Vp9 or Vp8 because of its very slow speed for one encode and low cpu usage. If it could be possible to run multiple exports in parallel, vp9 or vp8 will be much faster if you have to export many video files.

    I tested I a few more things out and there is some other curious thing. If I change the preset value from nvenc to Slow or medium or fast there is a performance difference in Voukoder 1.2.0 (as it should be).

    Slow = 275 fps average

    Medium = 285 fps average

    Fast = 300 fps average

    But in Voukoder R2 all presets have pretty much the same encoding speed and fps values (it never goes over around 200 fps). There has to be something that is slowing down the encoding in voukoder r2.

    If you are exporting a video with 2pass enabled in Premiere and Media Encoder at the same time the export will crash when the second pass is starting. I think this appears because of the mb-tree and passlogfile in the temp folder. Both programs are using the same file when exporting.

    I think a solution could be that Voukoder checks if the two files already exists and creates the two files with another name like "voukoder-passlogfile-1" and "voukoder-passlogfile-1.mbtree".

    The R2 logfile looks also pretty strange. I think the log is not complete and missing entries.

    Here is are my fps values with 1.2.0 and R2 beta4. Hugh difference. And I attached the R2 log.

    I am pretty sure that I am using the same video export settings but also by changing some parameters, R2 is every time much slower.

    Files

    • r2 log.txt

      (669.26 kB, downloaded 0 times)
    • r2 fps.JPG

      (54.36 kB, downloaded 2 times, last: )
    • 1.2.0 fps.JPG

      (60.53 kB, downloaded 2 times, last: )