fishxinyu's picture
download
raw
1.71 kB
#!/usr/bin/env bash
# Stack the five side-by-side arms into one labelled comparison video.
# Each row is [pose reference | generated output], captioned with the RoPE shift applied, the dx
# it predicts, and the dx actually measured by score_spatial.py.
set -euo pipefail
HERE=/home/xinyuy/flexvideo/LTX-2/test_spatial_offset
SRC=$HERE/out_viz/with_condition
FONT=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
LABELS=(
"A_base|A reference | output RoPE x +0 predicted dx 0 measured 0"
"B_rope_x64|B reference | output RoPE x +64 predicted dx +64 measured +64"
"C_rope_x128|C reference | output RoPE x +128 predicted dx +128 measured +128"
"D_content_x128|D reference | output PIXELS +128 (control) predicted dx +128 measured +128"
"E_rope_xm64|E reference | output RoPE x -64 predicted dx -64 measured -64 (reference partly off-frame)"
)
inputs=() ; filters=() ; labels=""
i=0
for entry in "${LABELS[@]}"; do
IFS='|' read -r arm text <<<"$entry"
inputs+=(-i "$SRC/$arm.mp4")
# Escape the caption for drawtext, then reserve a 40px black bar above each row for it.
esc=${text//:/\\:}
filters+=("[$i:v]scale=960:320,pad=960:360:0:40:black,drawtext=fontfile=$FONT:text='$esc':fontcolor=white:fontsize=17:x=8:y=12[v$i]")
labels+="[v$i]"
i=$((i+1))
done
ffmpeg -y -loglevel error "${inputs[@]}" \
-filter_complex "$(IFS=';'; echo "${filters[*]}");${labels}vstack=inputs=$i[out]" \
-map "[out]" -r 24 -c:v libx264 -crf 18 -pix_fmt yuv420p "$HERE/comparison_grid.mp4"
echo "wrote $HERE/comparison_grid.mp4"
ffprobe -v error -select_streams v:0 -show_entries stream=width,height,nb_frames -of csv=p=0 "$HERE/comparison_grid.mp4"

Xet Storage Details

Size:
1.71 kB
·
Xet hash:
3b4fd2c1a4f8c7a7a64c989755084e887584eca76c1adecb4f58d3416a687c54

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.