nvidia encoding
This commit is contained in:
@@ -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"
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user