chore: auto-commit from dashboard

This commit is contained in:
2026-04-25 08:19:40 +00:00
parent f9a091133a
commit e513c7fbf6
2 changed files with 55 additions and 10 deletions

45
scripts/transcribe_video.sh Executable file
View File

@@ -0,0 +1,45 @@
#!/usr/bin/env bash
# Descarcă un video (Facebook, YouTube etc.), extrage audio, transcrie cu Whisper.
# Usage: ./transcribe_video.sh <URL> [language]
# Exemple:
# ./transcribe_video.sh "https://www.facebook.com/share/v/1EdPt3q2sq/"
# ./transcribe_video.sh "https://youtu.be/xyz" ro
set -euo pipefail
URL="${1:-}"
LANG="${2:-en}"
WORKDIR="/tmp/transcribe_$$"
if [[ -z "$URL" ]]; then
echo "Usage: $0 <URL> [language (default: en)]"
exit 1
fi
export PATH="/home/moltbot/bin:$PATH"
mkdir -p "$WORKDIR"
trap 'rm -rf "$WORKDIR"' EXIT
echo "→ Descarc video..."
yt-dlp "$URL" -o "$WORKDIR/video.%(ext)s" --no-playlist -q
VIDEO_FILE=$(ls "$WORKDIR"/video.* 2>/dev/null | head -1)
if [[ -z "$VIDEO_FILE" ]]; then
echo "Eroare: descărcarea a eșuat."
exit 1
fi
echo "→ Extrag audio..."
ffmpeg -i "$VIDEO_FILE" -vn -acodec pcm_s16le -ar 16000 -ac 1 "$WORKDIR/audio.wav" -y -loglevel error
echo "→ Transcriu cu Whisper (model: small, limbă: $LANG)..."
python3 -c "
import whisper
model = whisper.load_model('small')
result = model.transcribe('$WORKDIR/audio.wav', language='$LANG')
print(result['text'])
" 2>/dev/null
echo ""
echo "✓ Gata."