nvidia encoding

This commit is contained in:
Danilo Reyes
2026-02-25 14:11:02 -06:00
parent 155967f8e9
commit 7b6e411ebc

View File

@@ -40,6 +40,21 @@ convert_mp4() {
mv -i "$file_tempdest" "$file_destination" 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() { convert_discord() {
local file_newname local file_newname
file_newname=$2_$(replace_extension "$1" mp4) file_newname=$2_$(replace_extension "$1" mp4)
@@ -54,7 +69,7 @@ convert_discord() {
command rm -rf "$dir_ram" 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 case $operation in
1 | mp4) 1 | mp4)
@@ -116,6 +131,20 @@ case $operation in
convert_mp4 "$file" convert_mp4 "$file"
done 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" echo -n "Please select a valid input"
;; ;;