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