Beiträge von Joe24

    Sounds like maybe the same issue I had, related to which base VoPro template I used in Vegas?

    See post #17 in following thread:

    Joe24
    31. Juli 2023 um 07:28

    does it work if you select the 'YUV 4:2:0 (8 bit)' template?

    Yes that was the problem. I guess I based my templates off of the VoukoderPro YUVA template in Vegas, like you said.

    Started fresh with the YUV 4:2:0 8-bit template instead, linked it to my desired Scene, and it seems to render. I'll test it more tomorrow. But it does appear to encode what I told it to do, and we do finally seem to have the speed advantage in rendering.

    That being the case, I have a suggestion for your consideration. Once a VoPro template in Vegas is renamed, there is no way to tell what pixel format is being exported from Vegas. And that can lead to confusion, as just witnessed.

    So why not have a dropdown menu in the Vegas template itself which allows you to select which pixel format to use? Perhaps accompanied with a helpful hint that if you use YUVA with certain CUDA functions, you're screwed! See below for a mockup of what I mean.

    This would serve as both control of the settings, and visual feedback of what the current settings are.


    Question: What video/picture format does Vegas pass to Voukoder? Is it raw bitmap, or some form of h.264? If h.264, maybe h264_cuvid would offer an advantage over hwupload_cuda. I found that this was necessary for processing h.264 source material in FFmpeg, seems to be able to cope with a lot of different h.264 flavors. Maybe this wouldn't be useful here. Just a thought. See my command lines in Post #4 above for how I used this.


    P.S.: I'll also add the 'hwdownload' filter, but I doubt it makes much sense to upload the frame to gpu, scale it, download it to the cpu, then upload it again to encode it ...

    In some specific cases it might make sense. Depends on if you need some oddball filter that NVENC doesn't have, or you might want to balance the workload between your GPU and CPU, or even multiple GPUs with different jobs. There are outlying cases where it makes sense.

    the codec h.265 doesnt seem to have loaded into my copy of Vegas 13.

    Voukoder doesn't 'load any codecs into Vegas'. It won't give Vegas 13 the ability to open h.265 files. What it DOES do is give you a way to encode your video in Vegas 13 as h.265 using Voukoder in the Render As menu.

    Depending on your computer's capabilities, Voukoder can perform h.265 encoding by using either software (x265) or hardware (AMD, Nvidia, Intel).

    Both encoder nodes are set to CUDA, as you can see in the following exported scene. Tried it both ways (CUDA / YUV 420).

    temp scene v0.1.zip

    When working with h.264/h.265 input in FFmpeg command line, I found I had to use h264_cuvid/hevc_cuvid instead of hwupload_cuda to avoid a similar auto_scale_0 error.

    On the other hand, when working with uncompressed AVI input, I'd have to use hwupload_cuda and be very careful to feed it a supported pixel format (YUY2 in that particular case). See my command-line options in post #4 above for working examples.

    Not sure what format the Vegas -> VoukoderPro link uses. If h.264, then h264_cuvid might work instead of hwupload_cuda?

    In any case, something seems unhappy about the YUVA pixel format.


    Hmm, can't get it to work. Rendering fails immediately with message: "Unable to start VoukoderPro: FFmpeg error."

    Excerpt from the log file:

    The 'Scale' filter that is currently available does seem to use the GPU, but it's shuffling data back and forth to the CPU, very inefficient. Running 1 dual-output render in VoPro 0.7 is currently slower than running 2 simultaneous renders with Voukoder 13.

    'ZScale' is even worse, as it doesn't seem to use the GPU at all.

    On the other hand, the speed advantage of 'scale_cuda' should be substantial when it becomes available.

    For reference, here are some FFmpeg command lines I've used for scale_cuda with AVI/h.264/h.265 file sources:

    FFmpeg.zip

    Properly fed, all 3 variants will max out the GPU encoder with minimal CPU usage.

    An even more powerful feature of FFmpeg is the ability to use multiple graphics cards. Hopefully both GPU filtering (e.g., scale_cuda) and the ability to assign a job to a particular GPU will be added in the future.

    NVENC VBR bitrate now confirmed working in v0.7.1.7, both with h.264 and h.265. Thanks.

    Clearing the error can also be achieved by deleting the broken h.264 encoder node in Scene Designer and creating a replacement node.

    Deleted scene.json. Realized this action had just wiped all my saved scenes. Downloaded and imported the file from my previous post. Will rebuild the other lost scenes from memory at a future time.

    Scene Designer behavior unchanged, even in a fresh layout with a new encoder node. Render behavior also unchanged.


    Update: This info is from the most recent VoPro log file.

    (from C:\Users\[username]\AppData\Local\VoukoderPro\logs\)

    Code
    2023-08-05 15:08:30 (info)    [EncoderNode.cpp:200] Opening video encoder plugin: h264_nvenc
    2023-08-05 15:08:30 (trace)    [FFmpeg:0] Unable to parse option value "-2013260544" as boolean
    2023-08-05 15:08:30 (trace)    [FFmpeg:0] Error setting option bluray-compat to value -2013260544.
    2023-08-05 15:08:30 (error)    [EncoderNode.cpp:207] Opening the encoder plugin failed with error code: -22
    2023-08-05 15:08:30 (error)    [Router.cpp:274] Open phase failed: -22
    2023-08-05 15:08:30 (info)    [VoukoderPro.cpp:589] Unable to start VoukoderPro: Undefined error!

    Now it won't render at all (v0.7.1.6). When trying to render, immediately throws an error window that says "Unable to start VoukoderPro: Undefined error!"

    Also, in Scene Designer, double-clicking on the top NVENC h.264 node (the VBR one, see preset below) will now cause Designer to crash. If you delete the node and create a new one, it will initially allow you to set the parameters, but if you try to access the node properties for a second time, it will crash Designer.

    temp scene.zip

    One other (unrelated) minor issue is that in the installer options, the Vegas Pro 20 plugin is deselected by default.

    • 96kbps AAC confirmed working.
    • Duplicate filename behavior confirmed working.
    • I can't reproduce the different-folder bug now, even doing what I did before (Vegas destination was default Documents folder on C: drive, VoukoderPro destination was set to D:\temp). Not sure what the difference is now. Free win, I guess?


    NVENC bitrate

    • The 2 attached files are encoded using supposedly identical settings, one using Voukouder v13.0.2, and one using VoukoderPro v0.7.1.5. Both videos are 1080p and have a target bitrate of 2.5 Mbps. Screenshots of the settings used are included.
    • Water videos.zip
    • I'm not aware of any user-defined minimum bitrate setting for NVENC VBR in either Voukoder or VoPro. There are only target (average), max, and buffer bitrates. As mentioned, the max rate is being observed, but the actual output bitrate is much lower than the commanded target rate.

    A few issues noticed while experimenting with Vegas Pro 20.0 and VoukoderPro v0.7.1.4:

    • NVENC VBR target video bitrate is not being observed, although the max bitrate seems to be working. This affects both HEVC and h.264. Didn't try AV1. Tried to set a target video bitrate of anywhere from 2500-512000 kbps etc., but actual output is 200-400 kbps. If 2-pass is enabled, things get even worse (< 200 kbps).
    • AAC encoding setting of 96 kb/s CBR gives 128 kb/s. Other bitrate settings seem correct. This could possibly be an issue with the MediaInfo app.
    • If Vegas' output file name and VoukoderPro's output file name are not in the same folder/drive, the render hangs.
    • If you are creating multiple output files without specifying a unique name for each file, VoukoderPro will write both streams to the same file, resulting in a corrupt file.