← back to Rentv Tour
batch-components.sh
18 lines
#!/bin/bash
cd /Users/macstudio3/Projects/rentv-tour
SAY=~/.claude/skills/clone-voice/scripts/say.sh
ok=0
for id in $(node component-set.mjs ids); do
txt=$(node component-set.mjs vo $id)
bash $SAY "$txt" /tmp/c-$id.wav >/dev/null 2>&1
ffmpeg -v error -y -i /tmp/c-$id.wav -c:a aac -b:a 160k videos/components/assets/vo.m4a >/dev/null 2>&1
dur=$(ffprobe -v error -show_entries format=duration -of default=nk=1:nw=1 videos/components/assets/vo.m4a 2>/dev/null)
node component-set.mjs emit $id $dur >/dev/null 2>&1
(cd videos/components && npx hyperframes render --output renders/$id.mp4 >/dev/null 2>&1)
if [ -f videos/components/renders/$id.mp4 ]; then
has_a=$(ffprobe -v error -show_entries stream=codec_type -of csv=p=0 videos/components/renders/$id.mp4 2>/dev/null | grep -c audio)
echo "done $id ($(ls -la videos/components/renders/$id.mp4|awk '{printf "%.1fMB",$5/1048576}'), audio=$has_a)"; ok=$((ok+1))
else echo "FAIL $id"; fi
done
echo "BATCH DONE: $ok/18 rendered"