#! /bin/bash echo "Super sizing video..." echo "WARNING: video must be in mp4 format encoded with libx264" AI_PATH="/home/$USER/Downloads/AI_super_res" echo "AI PATH" echo $AI_PATH echo "enter vid name:" read FILE_NAME if ! [[ $FILE_NAME =~ .*".mp4" ]]; then echo "WRONG FORMAT FOUND!, encoding to mp4" echo "Enter name for video (include .mp4):" read VID_NAME ffmpeg -i $FILE_NAME -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" $VID_NAME FILE_NAME=$VID_NAME fi VID_NAME=$FILE_NAME echo "VID FILE:" echo $VID_NAME echo "Enter FPS:" read FPS echo "making temp storage..." mkdir tmp_frames mkdir out_frames echo "unpacking frames from video..." ffmpeg -i ./$VID_NAME -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 tmp_frames/frame%08d.png echo "Running through Real-ESRGAN..." echo "This will take awhile..." $AI_PATH/realesrgan-ncnn-vulkan -i ./tmp_frames -o ./out_frames -n realesrgan-x4plus -f jpg echo "hit enter to continue:" read echo "Repack the frames into video..." ffmpeg -i ./out_frames/frame%08d.jpg -i ./$VID_NAME -map 0:v:0 -map 1:a:0? -c:a copy -c:v libx264 -r $FPS -pix_fmt yuv420p AI_SR_$VID_NAME echo "Cleaning up tmp files..." echo "hit enter to continue:" read rm -r ./tmp_frames rm -r ./out_frames echo "DONE!"