Post #2111187
2026-05-06 00:59 UTC
For future reference, the following is how I did the rendering and the animation.
Rendering the frames in an unhurriedly manner while pushing a notification to phone (using Ntfy) to keep track of the rendering progress:
for frame in {1..150..7} # Increase the starting number gradually after each round
do
if [ -f "./frame_$frame.jpg" ]; then
echo "File $frame exists, skipping"
else
echo "Frame $frame will be rendered"
curl -k -X "PUT" https://$NTFY_HOST/blender -d "Started rendering frame $frame..."
sleep 1
blender -b $BLENDER_PROJ -o './frame_#.jpg' -F JPEG -f $frame -E CYCLES -t 1
LAST_RET=$?
echo "Finished rendering frame $frame with retcode $LAST_RET"
curl -k -X "PUT" https://$NTFY_HOST/blender -d "Finished rendering frame $frame with retcode $LAST_RET"
sleep 1
fi
done
curl -k -X "PUT" https://$NTFY_HOST/blender -d "Finished the entire Blender rendering"Generating a video out of the available frames:
ffmpeg -r 15 -f concat -safe 0 -i <(find -iname "*.jpg" -not -size 0 -printf "file '$PWD/%f'\n" | sort -h -t_ -k 2) -r 15 -c libx264 -pix_fmt yuv420p -crf 20 lapse.mp4
# smaller crf will lead to bigger files, adjust as needed
Replies (0)
No replies.