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"