
inpfi="source"
inpex=".mp4"
frate=24

# ffmpeg -i $inpfi$inpex -c copy -map 0 -segment_time 00:05:00 -f segment -reset_timestamps 1 seg-$inpfi-%02d.mp4
# echo segments created...
# sleep 2
# for f in $(ls seg-$inpfi-*.mp4); do
# if [[ ! -e "out-$f" ]]; then
# echo processing... $f
# rm -rf $inpfi-frs $inpfi-out
# mkdir -p $inpfi-frs $inpfi-out
# ffmpeg -i $f -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 -vf scale=640:-2 $inpfi-frs/frame%08d.png
# echo frames generated...
# ./realesrgan-ncnn-vulkan -i $inpfi-frs -o $inpfi-out -s 3 -f jpg 1>/dev/null 2>/dev/null
# echo upscaling done...
# ffmpeg -r $frate -thread_queue_size 2048 -i $inpfi-out/frame%08d.jpg -i $f -map 0:v:0 -map 1:a:0 -c:a copy -c:v h264_videotoolbox -r $frate -pix_fmt yuv420p out-$f
# echo processed... $f
# fi
# sleep 2
# done

# rm -rf seg-$inpfi-*.mp4 merge.txt
# ls out-seg-$inpfi-*.mp4 | while read each; do echo "file '$each'" >> merge.txt; done
# ffmpeg -f concat -safe 0 -i merge.txt -c:v h264_videotoolbox -an final-$inpfi.mp4

# rm -rf out-seg-$inpfi-*.mp4 merge.txt

# ffmpeg -ss 00:04:00 -i "file" -t 00:01:00 -c copy -map 0 sample.mp4
# ffmpeg -ss 00:03:38 -i "file" -frames:v 1 screenshot-1.jpg
# ffmpeg -ss 00:04:44 -i "file" -frames:v 1 screenshot-2.jpg
# ffmpeg -ss 00:10:52 -i "file" -frames:v 1 screenshot-3.jpg
# ffmpeg -ss 00:45:37 -i "file" -frames:v 1 screenshot-4.jpg
# ffmpeg -ss 01:11:51 -i "file" -frames:v 1 screenshot-5.jpg
# ffmpeg -ss 01:48:16 -i "file" -frames:v 1 screenshot-6.jpg
# ffmpeg -ss 02:01:59 -i "file" -frames:v 1 screenshot-7.jpg
# ffmpeg -ss 02:05:36 -i "file" -frames:v 1 screenshot-8.jpg
