File size: 1,758 Bytes
75e4be0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/deploy/env.sh"
mkdir -p "$LOG_DIR" "$RUNTIME_DIR"
RUN_NAME="${RUN_NAME:-poetry_full_10s_$(date +%Y%m%d_%H%M%S)}"
LOG_FILE="$LOG_DIR/${RUN_NAME}.log"
POEM="${POEM:-赤壁
杜牧
折戟沉沙铁未销,自将磨洗认前朝。
东风不与周郎便,铜雀春深锁二乔。}"
if ! curl -fsS \
-H "Authorization: Bearer ${QWEN35_API_KEY:-qwen3.5-27b-local}" \
"${QWEN35_API_BASE:-http://127.0.0.1:8002/v1}/models" \
>/dev/null; then
echo "Qwen3.5 service is not ready: ${QWEN35_API_BASE:-http://127.0.0.1:8002/v1}" >&2
echo "Please start it first: bash $VGEN_ROOT/scripts/deploy/start_qwen35_27b.sh" >&2
exit 1
fi
echo "Run name: $RUN_NAME"
echo "Log file: $LOG_FILE"
echo "Output dir: $VGEN_ROOT/outputs/poetry_teaching/$RUN_NAME"
nohup bash "$SCRIPT_DIR/run_poetry_teaching_pipeline.sh" \
--poem "$POEM" \
--run-name "$RUN_NAME" \
--segments "${SEGMENTS:-6}" \
--clip-seconds "${CLIP_SECONDS:-10}" \
--fps "${FPS:-15}" \
--image-device "${IMAGE_DEVICE:-cuda:0}" \
--video-usp-devices "${VIDEO_USP_DEVICES:-1,2,3,4,5}" \
--image-workers "${IMAGE_WORKERS:-1}" \
--video-workers "${VIDEO_WORKERS:-1}" \
--audio-workers "${AUDIO_WORKERS:-1}" \
--qwen35-api-base "${QWEN35_API_BASE:-http://127.0.0.1:8002/v1}" \
--qwen35-model "${QWEN35_MODEL:-qwen3.5-27b-local}" \
--qwen35-api-key "${QWEN35_API_KEY:-qwen3.5-27b-local}" \
--overwrite \
"$@" \
>"$LOG_FILE" 2>&1 &
echo $! > "$RUNTIME_DIR/${RUN_NAME}.pid"
echo "Started PID: $(cat "$RUNTIME_DIR/${RUN_NAME}.pid")"
echo "Follow log: tail -f $LOG_FILE"
echo "Final video: $VGEN_ROOT/outputs/poetry_teaching/$RUN_NAME/final_poetry_teaching.mp4"
|