Jarian 0da74d39a0 init: media-transcriber pipeline
- whisper.cpp base.en transcription on RTX 5060 Ti (GPU 1)
- 25,439 videos indexed from /mnt/mediaserver/
- pipeline: ffmpeg extract -> whisper-server infer -> save SRT
- thermal cycle: 45min work / 15min rest
- fixes: curl quotes for spaces, --convert + WorkingDirectory=/tmp
2026-07-07 04:47:18 +00:00

62 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
PROJECT_DIR="/home/jarian/projects/media-transcriber"
WHISPER_CPP="/home/jarian/whisper.cpp"
echo "=== Media Transcriber Setup ==="
# Create venv
cd "$PROJECT_DIR"
python3 -m venv venv
source venv/bin/activate
# Install deps
pip install --upgrade pip
# Ensure ffmpeg available
if ! command -v ffmpeg &>/dev/null; then
echo "ERROR: ffmpeg not found. Install with: sudo apt install ffmpeg"
exit 1
fi
if ! command -v ffprobe &>/dev/null; then
echo "ERROR: ffprobe not found. Install with: sudo apt install ffmpeg"
exit 1
fi
# Check whisper-server binary
if [ ! -f "$WHISPER_CPP/build/bin/whisper-server" ]; then
echo "ERROR: whisper-server not built. Run:"
echo " cd $WHISPER_CPP && cmake -B build -DWHISPER_CUDA=ON && cmake --build build"
exit 1
fi
# Download small model if missing
MODEL_PATH="$WHISPER_CPP/models/ggml-small.bin"
if [ ! -f "$MODEL_PATH" ]; then
echo "Downloading whisper small model..."
bash "$WHISPER_CPP/models/download-ggml-model.sh" small
fi
# Initial scan
echo "Running initial video scan..."
cd "$PROJECT_DIR"
source venv/bin/activate
python src/worker.py scan
echo ""
echo "=== Setup complete ==="
echo ""
echo "To start whisper-server on GPU 1:"
echo " CUDA_VISIBLE_DEVICES=1 $WHISPER_CPP/build/bin/whisper-server \\"
echo " -m $MODEL_PATH -ngl 99 -ps 16384"
echo ""
echo "Or enable systemd service:"
echo " sudo cp systemd/whisper-server.service /etc/systemd/system/"
echo " sudo systemctl enable --start whisper-server"
echo ""
echo "To enable nightly transcription:"
echo " sudo cp systemd/media-transcriber.timer /etc/systemd/system/"
echo " sudo cp systemd/media-transcriber.service /etc/systemd/system/"
echo " sudo systemctl enable --now media-transcriber.timer"