62 lines
1.4 KiB
Bash
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
|