mirror of
https://github.com/LukeSmithxyz/voidrice.git
synced 2026-03-20 01:37:45 +01:00
Compare commits
No commits in common. "b2de469c0ed8f5554f66b51506fc153762a2b09c" and "9b8a12fc92dfaca74043b28b9528cbe3f70c0c49" have entirely different histories.
b2de469c0e
...
9b8a12fc92
@ -85,40 +85,53 @@ cmd delete ${{
|
||||
[ $ans = "y" ] && rm -rf -- $fx
|
||||
}}
|
||||
|
||||
|
||||
cmd compressvideo ${{
|
||||
clear;
|
||||
set -f;
|
||||
|
||||
is_mp4_already=0;
|
||||
converted_filenames=""; #notify-send variable
|
||||
converted_files_count=0; #notify-send variable
|
||||
compressionRatio="31"; #30 is impossible to notice difference
|
||||
|
||||
echo "Compression Rate? (default: 31, maximum: 50)";
|
||||
read -N 2 compressionRate;
|
||||
echo "Compression Ratio? (default: 31, maximum: 50)";
|
||||
read compressionRatio;
|
||||
|
||||
#If not a number (e.g. empty), give default 31 value
|
||||
if ! [[ $compressionRate =~ ^[0-5][0-9]$ ]]; then
|
||||
compressionRate="31";
|
||||
if ! [[ $compressionRatio =~ '^[0-9]+$' ]]; then
|
||||
compressionRatio="31"
|
||||
fi
|
||||
|
||||
for pickedFilepath in $fx; do
|
||||
is_valid_filetype=0;
|
||||
|
||||
#could instead use ffprobe but would get more complicated as the filetype suffix becomes unknown
|
||||
case $pickedFilepath in
|
||||
*.mp4)
|
||||
tempFilepath=$(echo "$pickedFilepath" | sed 's|.mp4|(CONVERTING).mp4|');
|
||||
mv -f "$pickedFilepath" "$tempFilepath";
|
||||
|
||||
ffmpeg -i "$tempFilepath" -vcodec libx265 -crf "$compressionRate" "$pickedFilepath";
|
||||
rm -f -- "$tempFilepath";
|
||||
;;
|
||||
*.webm | *.mkv)
|
||||
newFilepath=$(echo "$pickedFilepath" | sed 's/\(.webm\|.mkv\)/.mp4/');
|
||||
ffmpeg -i "$pickedFilepath" -vcodec libx265 -crf "$compressionRate" "$newFilepath";
|
||||
rm -f -- "$pickedFilepath";
|
||||
;;
|
||||
*)
|
||||
continue 1;;
|
||||
is_valid_filetype=1 && is_mp4_already=1;;
|
||||
*.webm)
|
||||
is_valid_filetype=1 && is_mp4_already=0;;
|
||||
*.mkv)
|
||||
is_valid_filetype=1 && is_mp4_already=0;;
|
||||
esac
|
||||
|
||||
if [[ $is_valid_filetype -eq 0 ]]; then
|
||||
continue 1 ;
|
||||
fi;
|
||||
|
||||
if [[ $is_mp4_already -eq 1 ]]; then
|
||||
tempFilepath=$(echo "$pickedFilepath" | sed 's|.mp4|(CONVERTING).mp4|');
|
||||
mv -f "$pickedFilepath" "$tempFilepath";
|
||||
|
||||
ffmpeg -i "$tempFilepath" -vcodec libx265 -crf "$compressionRatio" "$pickedFilepath";
|
||||
rm -f -- "$tempFilepath";
|
||||
else
|
||||
newFilepath=$(echo "$pickedFilepath" | sed 's/\(.webm\|.mkv\)/.mp4/');
|
||||
ffmpeg -i "$pickedFilepath" -vcodec libx265 -crf "$compressionRatio" "$newFilepath";
|
||||
rm -f -- "$pickedFilepath";
|
||||
fi
|
||||
|
||||
((converted_files_count=converted_files_count+1));
|
||||
converted_filenames="$converted_filenames"$'\n'"$pickedFilepath";
|
||||
|
||||
@ -127,7 +140,7 @@ cmd compressvideo ${{
|
||||
#Notify the user of the results
|
||||
if [[ $converted_files_count -gt 0 ]]; then
|
||||
converted_filenames=$(echo "$converted_filenames" | sed 's|.*\/||');
|
||||
notify-send "Compressed Videos($converted_files_count):" "$converted_filenames";
|
||||
notify-send "Compressed Videos($converted_files_count): $converted_filenames";
|
||||
fi;
|
||||
}}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user