Skip to content

Instantly share code, notes, and snippets.

@mcxiaoke
Last active April 25, 2024 09:25
Show Gist options
  • Save mcxiaoke/106132051c76aaf23c5feb6f0721a1f3 to your computer and use it in GitHub Desktop.
Save mcxiaoke/106132051c76aaf23c5feb6f0721a1f3 to your computer and use it in GitHub Desktop.

Revisions

  1. mcxiaoke revised this gist Apr 25, 2024. 1 changed file with 32 additions and 16 deletions.
    48 changes: 32 additions & 16 deletions ffmpeg-cuda-preset-test.txt
    Original file line number Diff line number Diff line change
    @@ -1,49 +1,65 @@
    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p1 p1.mp4 35.9x 16s 283m
    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p1 p1.mp4 35.9x 16s 283m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p2 p2.mp4 27.1x 22s 253m
    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p2 p2.mp4 27.1x 22s 253m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p3 p3.mp4 25x 24s 248m
    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p3 p3.mp4 25x 24s 248m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p4 p4.mp4 17.4x 34s 220m
    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p4 p4.mp4 17.4x 34s 220m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p5 p5.mp4 12.8x 46s 219m
    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p5 p5.mp4 12.8x 46s 219m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p6 p6.mp4 7.2x 1m23s 219m
    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p6 p6.mp4 7.2x 1m23s 219m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p7 p7.mp4 6.5x 1m32s 219m
    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p7 p7.mp4 6.5x 1m32s 219m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset slow slow.mp4 5.3x 1m52s 219m
    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset slow slow.mp4 5.3x 1m52s 219m

    Temp\test\presetest
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p1 p1.mp4
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p1 p1.mp4
    frame=17873 fps=1077 q=19.0 Lsize= 283636kB time=00:09:56.32 bitrate=3896.4kbits/s dup=3 drop=0 speed=35.9x

    Temp\test\presetest took 16s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p2 p2.mp4
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p2 p2.mp4
    frame=17873 fps=813 q=20.0 Lsize= 253888kB time=00:09:56.29 bitrate=3487.9kbits/s dup=3 drop=0 speed=27.1x

    Temp\test\presetest took 22s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p3 p3.mp4
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p3 p3.mp4
    frame=17873 fps=750 q=20.0 Lsize= 248958kB time=00:09:56.26 bitrate=3420.4kbits/s dup=3 drop=0 speed= 25x

    Temp\test\presetest took 24s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p4 p4.mp4
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p4 p4.mp4
    frame=17873 fps=522 q=20.0 Lsize= 220695kB time=00:09:56.26 bitrate=3032.1kbits/s dup=3 drop=0 speed=17.4x

    Temp\test\presetest took 34s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p5 p5.mp4
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p5 p5.mp4
    frame=17873 fps=384 q=20.0 Lsize= 219793kB time=00:09:56.26 bitrate=3019.7kbits/s dup=3 drop=0 speed=12.8x

    Temp\test\presetest took 46s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p6 p6.mp4
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p6 p6.mp4
    frame=17873 fps=215 q=20.0 Lsize= 219847kB time=00:09:56.26 bitrate=3020.4kbits/s dup=3 drop=0 speed=7.18x

    Temp\test\presetest took 1m23s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p7 p7.mp4
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset p7 p7.mp4
    frame=17873 fps=194 q=20.0 Lsize= 219664kB time=00:09:56.26 bitrate=3017.9kbits/s dup=3 drop=0 speed=6.46x

    Temp\test\presetest took 1m32s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset slow slow.mp4
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc
    -cq 26 -c:a libfdk_aac -b:a 72k -preset slow slow.mp4
    frame=17873 fps=159 q=20.0 Lsize= 219843kB time=00:09:56.26 bitrate=3020.4kbits/s dup=3 drop=0 speed= 5.3x

    Temp\test\presetest took 1m52s
  2. mcxiaoke created this gist Apr 25, 2024.
    50 changes: 50 additions & 0 deletions ffmpeg-cuda-preset-test.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,50 @@
    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p1 p1.mp4 35.9x 16s 283m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p2 p2.mp4 27.1x 22s 253m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p3 p3.mp4 25x 24s 248m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p4 p4.mp4 17.4x 34s 220m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p5 p5.mp4 12.8x 46s 219m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p6 p6.mp4 7.2x 1m23s 219m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p7 p7.mp4 6.5x 1m32s 219m

    ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset slow slow.mp4 5.3x 1m52s 219m

    Temp\test\presetest
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p1 p1.mp4
    frame=17873 fps=1077 q=19.0 Lsize= 283636kB time=00:09:56.32 bitrate=3896.4kbits/s dup=3 drop=0 speed=35.9x

    Temp\test\presetest took 16s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p2 p2.mp4
    frame=17873 fps=813 q=20.0 Lsize= 253888kB time=00:09:56.29 bitrate=3487.9kbits/s dup=3 drop=0 speed=27.1x

    Temp\test\presetest took 22s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p3 p3.mp4
    frame=17873 fps=750 q=20.0 Lsize= 248958kB time=00:09:56.26 bitrate=3420.4kbits/s dup=3 drop=0 speed= 25x

    Temp\test\presetest took 24s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p4 p4.mp4
    frame=17873 fps=522 q=20.0 Lsize= 220695kB time=00:09:56.26 bitrate=3032.1kbits/s dup=3 drop=0 speed=17.4x

    Temp\test\presetest took 34s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p5 p5.mp4
    frame=17873 fps=384 q=20.0 Lsize= 219793kB time=00:09:56.26 bitrate=3019.7kbits/s dup=3 drop=0 speed=12.8x

    Temp\test\presetest took 46s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p6 p6.mp4
    frame=17873 fps=215 q=20.0 Lsize= 219847kB time=00:09:56.26 bitrate=3020.4kbits/s dup=3 drop=0 speed=7.18x

    Temp\test\presetest took 1m23s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset p7 p7.mp4
    frame=17873 fps=194 q=20.0 Lsize= 219664kB time=00:09:56.26 bitrate=3017.9kbits/s dup=3 drop=0 speed=6.46x

    Temp\test\presetest took 1m32s
    ❯ ffmpeg -hide_banner -n -v error -stats -hwaccel cuda -hwaccel_output_format cuda -i "ptest.mp4" -c:v hevc_nvenc -cq 26 -c:a libfdk_aac -b:a 72k -preset slow slow.mp4
    frame=17873 fps=159 q=20.0 Lsize= 219843kB time=00:09:56.26 bitrate=3020.4kbits/s dup=3 drop=0 speed= 5.3x

    Temp\test\presetest took 1m52s