hacks/2022-11-08-lunar-eclipse-ti.../gen.sh

62 lines
1.4 KiB
Bash

#!/bin/bash
#-c:v libx264 \
#-c:v libx265 \
#-vf "scale=(iw*sar)*max($W/(iw*sar)\,$H/ih):ih*max($W/(iw*sar)\,$H/ih), crop=$W:$H" \
#-s:v ${W}x${H} \
W="3840"
H="2160"
DIR1="10621108"
DIR2="10721108"
#-vcodec libx264 \
#-crf 17 \
#-preset slow \
function main {
convertRaws
makeBigVersion
makeSmallVersion
}
function makeBigVersion {
#-c:v hevc_videotoolbox -q:v 100 \
#-vf scale=-2:${H} \
ffmpeg -framerate 24 \
-pattern_type glob \
-i 'output/frames/*.png' \
-c:v prores -profile:v 3 \
-pix_fmt yuv422p10 \
output/big.mov
}
function makeSmallVersion {
ffmpeg -i output/big.mov \
-vf scale=-2:1080 \
-c:v h264_videotoolbox \
-b:v 12000K \
output/preview.1080p.mp4
}
function convertRaws {
if [[ -e output/frames/done ]]; then
return
fi
mkdir -p output/frames
rm -rf tmp.sh
for i in $DIR1/*.ARW; do
BN="$(basename ${i%.*})"
echo sips -s format png $i --out "output/frames/1${BN}.png"
echo sips -s format png $i --out "output/frames/1${BN}.png" >> tmp.sh
done
for i in $DIR2/*.ARW; do
BN="$(basename ${i%.*})"
echo sips -s format png $i --out "output/frames/2${BN}.png"
echo sips -s format png $i --out "output/frames/2${BN}.png" >> tmp.sh
done
parallel --eta -j $(nproc) bash -c < tmp.sh && touch output/frames/done
}
main