From 7b6e411ebc7f5d53b10eb9606c1bd4908bc13d64 Mon Sep 17 00:00:00 2001 From: Danilo Reyes Date: Wed, 25 Feb 2026 14:11:02 -0600 Subject: [PATCH] nvidia encoding --- src/scripts/ffmpreg.sh | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/scripts/ffmpreg.sh b/src/scripts/ffmpreg.sh index 6771f53..5b1e8ee 100644 --- a/src/scripts/ffmpreg.sh +++ b/src/scripts/ffmpreg.sh @@ -40,6 +40,21 @@ convert_mp4() { mv -i "$file_tempdest" "$file_destination" } +convert_e265_nvenc() { + local file_newname + file_newname=$(replace_extension "$1" mp4) + local file_tempdest=/dev/shm/$file_newname + local file_destination + file_destination=$(dirname "$(realpath "$1")")/$file_newname + ffpb -i "$1" \ + -c:v hevc_nvenc \ + -preset p7 -rc vbr_hq -cq 19 -b:v 0 \ + -spatial_aq 1 -aq-strength 8 \ + "$file_tempdest" + trash "$1" + mv -i "$file_tempdest" "$file_destination" +} + convert_discord() { local file_newname file_newname=$2_$(replace_extension "$1" mp4) @@ -54,7 +69,7 @@ convert_discord() { command rm -rf "$dir_ram" } -operation=$(gum choose mp4 av1 discord nitro gif enc265) +operation=$(gum choose mp4 av1 discord nitro gif enc265 e265_nvidia) case $operation in 1 | mp4) @@ -116,6 +131,20 @@ case $operation in convert_mp4 "$file" done ;; +7 | e265_nvidia) + to_convert=() + extensions=(flv m4v mpg avi mov ts mkv mp4 webm) + for ext in "${extensions[@]}"; do + while IFS= read -r file; do + if ! (mediainfo "$file" | grep Writing\ library | grep -q x265); then + to_convert+=("$file") + fi + done < <(fd . -e "$ext" -tf -aL) + done + for file in "${to_convert[@]}"; do + convert_e265_nvenc "$file" + done + ;; *) echo -n "Please select a valid input" ;;