VideoHelp Forum
+ Reply to Thread
Results 1 to 7 of 7
Thread
  1. Member
    Join Date
    Apr 2021
    Location
    Southampton, UK
    Search Comp PM
    Please can someone help me to get an ffmpeg batch file working (an amateur radio application)? I am trying to take the video/audio output of OBS Virtual Cam plug-in and compress it to H.265 using the computer's on-board Nvidia GTX1650 Super GPU card. For test purposes only I am trying to send the output to VLC as a UDP stream (ultimately it will be sent to an Adalm Pluto SDR).
    By all accounts others have succeeded with this batch file but it certainly does not work for me. I am attaching the batch file and a screen print of the output. Very grateful for any help! Russ.
    Image Attached Thumbnails Click image for larger version

Name:	BatchOutput.png
Views:	187
Size:	107.0 KB
ID:	58222  

    Image Attached Files
    Quote Quote  
  2. Member
    Join Date
    Apr 2021
    Location
    Southampton, UK
    Search Comp PM
    More information: I have since found that there was a change around ffmpeg v4.3.0 whereby the commands for hevc_nvenc were changed. Therefore, I installed ffmpeg v4.2.3 (29/5/20) and my batch file worked just fine!
    I am not happy with using old versions of programs and it would be nice to update the batch file to work with the latest ffmpeg.
    Is there someone out there with the skill to update my batch file. please? (as attached to my first post)
    Quote Quote  
  3. I don't have a nvidia card to test with. But it looks like it doesn't like the combination of the preset and rc mode. Try changing or removing one. Beyond that I suggest you start by using as simple a command line as possible, then add options one by one until you find what's causing the problem.

    ffmpeg -? encoder=hevc_nvenc

    Code:
    Encoder hevc_nvenc [NVIDIA NVENC hevc encoder]:
        General capabilities: delay hardware 
        Threading capabilities: none
        Supported hardware devices: cuda cuda d3d11va d3d11va 
        Supported pixel formats: yuv420p nv12 p010le yuv444p p016le yuv444p16le bgr0 rgb0 cuda d3d11
    hevc_nvenc AVOptions:
      -preset            <int>        E..V...... Set the encoding preset (from 0 to 11) (default medium)
         default         0            E..V...... 
         slow            1            E..V...... hq 2 passes
         medium          2            E..V...... hq 1 pass
         fast            3            E..V...... hp 1 pass
         hp              4            E..V...... 
         hq              5            E..V...... 
         bd              6            E..V...... 
         ll              7            E..V...... low latency
         llhq            8            E..V...... low latency hq
         llhp            9            E..V...... low latency hp
         lossless        10           E..V...... lossless
         losslesshp      11           E..V...... lossless hp
      -profile           <int>        E..V...... Set the encoding profile (from 0 to 4) (default main)
         main            0            E..V...... 
         main10          1            E..V...... 
         rext            2            E..V...... 
      -level             <int>        E..V...... Set the encoding level restriction (from 0 to 186) (default auto)
         auto            0            E..V...... 
         1               30           E..V...... 
         1.0             30           E..V...... 
         2               60           E..V...... 
         2.0             60           E..V...... 
         2.1             63           E..V...... 
         3               90           E..V...... 
         3.0             90           E..V...... 
         3.1             93           E..V...... 
         4               120          E..V...... 
         4.0             120          E..V...... 
         4.1             123          E..V...... 
         5               150          E..V...... 
         5.0             150          E..V...... 
         5.1             153          E..V...... 
         5.2             156          E..V...... 
         6               180          E..V...... 
         6.0             180          E..V...... 
         6.1             183          E..V...... 
         6.2             186          E..V...... 
      -tier              <int>        E..V...... Set the encoding tier (from 0 to 1) (default main)
         main            0            E..V...... 
         high            1            E..V...... 
      -rc                <int>        E..V...... Override the preset rate-control (from -1 to INT_MAX) (default -1)
         constqp         0            E..V...... Constant QP mode
         vbr             1            E..V...... Variable bitrate mode
         cbr             2            E..V...... Constant bitrate mode
         vbr_minqp       8388612      E..V...... Variable bitrate mode with MinQP (deprecated)
         ll_2pass_quality 8388616      E..V...... Multi-pass optimized for image quality (deprecated)
         ll_2pass_size   8388624      E..V...... Multi-pass optimized for constant frame size (deprecated)
         vbr_2pass       8388640      E..V...... Multi-pass variable bitrate mode (deprecated)
         cbr_ld_hq       8            E..V...... Constant bitrate low delay high quality mode
         cbr_hq          16           E..V...... Constant bitrate high quality mode
         vbr_hq          32           E..V...... Variable bitrate high quality mode
      -rc-lookahead      <int>        E..V...... Number of frames to look ahead for rate-control (from 0 to INT_MAX) (default 0)
      -surfaces          <int>        E..V...... Number of concurrent surfaces (from 0 to 64) (default 0)
      -cbr               <boolean>    E..V...... Use cbr encoding mode (default false)
      -2pass             <boolean>    E..V...... Use 2pass encoding mode (default auto)
      -gpu               <int>        E..V...... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any)
         any             -1           E..V...... Pick the first device available
         list            -2           E..V...... List the available devices
      -delay             <int>        E..V...... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)
      -no-scenecut       <boolean>    E..V...... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)
      -forced-idr        <boolean>    E..V...... If forcing keyframes, force them as IDR frames. (default false)
      -spatial_aq        <boolean>    E..V...... set to 1 to enable Spatial AQ (default false)
      -spatial-aq        <boolean>    E..V...... set to 1 to enable Spatial AQ (default false)
      -temporal_aq       <boolean>    E..V...... set to 1 to enable Temporal AQ (default false)
      -temporal-aq       <boolean>    E..V...... set to 1 to enable Temporal AQ (default false)
      -zerolatency       <boolean>    E..V...... Set 1 to indicate zero latency operation (no reordering delay) (default false)
      -nonref_p          <boolean>    E..V...... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)
      -strict_gop        <boolean>    E..V...... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)
      -aq-strength       <int>        E..V...... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8)
      -cq                <float>      E..V...... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)
      -aud               <boolean>    E..V...... Use access unit delimiters (default false)
      -bluray-compat     <boolean>    E..V...... Bluray compatibility workarounds (default false)
      -init_qpP          <int>        E..V...... Initial QP value for P frame (from -1 to 51) (default -1)
      -init_qpB          <int>        E..V...... Initial QP value for B frame (from -1 to 51) (default -1)
      -init_qpI          <int>        E..V...... Initial QP value for I frame (from -1 to 51) (default -1)
      -qp                <int>        E..V...... Constant quantization parameter rate control method (from -1 to 51) (default -1)
      -weighted_pred     <int>        E..V...... Set 1 to enable weighted prediction (from 0 to 1) (default 0)
      -b_ref_mode        <int>        E..V...... Use B frames as references (from 0 to 2) (default disabled)
         disabled        0            E..V...... B frames will not be used for reference
         each            1            E..V...... Each B frame will be used for reference
         middle          2            E..V...... Only (number of B frames)/2 will be used for reference
      -dpb_size          <int>        E..V...... Specifies the DPB size used for encoding (0 means automatic) (from 0 to INT_MAX) (default 0)
    Last edited by jagabo; 4th Apr 2021 at 07:17.
    Quote Quote  
  4. Member
    Join Date
    Apr 2021
    Location
    Southampton, UK
    Search Comp PM
    Thank you, Jagabo. That comprehensive list will be invaluable.
    Quote Quote  
  5. The help doc says -preset slow is for 2-pass encoding. Try -preset medium instead. or llhq.
    Quote Quote  
  6. Member
    Join Date
    Apr 2021
    Location
    Southampton, UK
    Search Comp PM
    Thanks again. Sadly unable to test for a few days.
    Quote Quote  
  7. Be sure to write back when you find out what works. It will help the next person with the problem.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!