From bd7eadb49f1c91fba3304c57852212c39a59730f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B8=D1=80=D0=B8=D0=BB=D0=BB=20=D0=91=D0=BB=D0=B8?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Fri, 29 May 2026 10:53:44 +0300 Subject: [PATCH] Update README with video support and first-run documentation --- README.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 68 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e0d0a55..3c310ce 100644 --- a/README.md +++ b/README.md @@ -10,13 +10,32 @@ ## Установка +### 1. Python зависимости + ```bash pip install -r requirements.txt ``` -Дополнительно потребуется: -- [ffmpeg](https://ffmpeg.org/download.html) (для обработки аудио) -- HuggingFace токен для pyannote (см. ниже) +### 2. ffmpeg (обязателен для видео) + +Программа нуждается в ffmpeg для извлечения аудио из видео файлов. + +**macOS:** +```bash +brew install ffmpeg +``` + +**Ubuntu/Debian:** +```bash +sudo apt-get update && sudo apt-get install ffmpeg +``` + +**Windows:** +Скачайте с [ffmpeg.org/download.html](https://ffmpeg.org/download.html) и добавьте в PATH. + +### 3. HuggingFace токен + +Нужен для диаризации (см. раздел ниже). ## HuggingFace Token (обязателен для диаризации) @@ -81,6 +100,28 @@ HF_TOKEN=hf_xxxxxxxxxxxxxxxxxxxxxxxx python -c "import os; print('Token установлен:', bool(os.environ.get('HF_TOKEN')))" ``` +## Первый запуск + +**Важно:** при первом запуске программа скачает модели искусственного интеллекта. Это **нормально** и происходит только один time. + +### Что скачивается + +| Компонент | Размер | Назначение | +|-----------|--------|------------| +| Whisper `large-v3` | ~3.0 GB | Распознавание речи | +| Pyannote диаризация | ~0.4 GB | Разделение спикеров | +| Wav2Vec2 (русский) | ~1.0 GB | Точные таймкоды слов | +| **Итого** | **~4–5 GB** | **Скачиваются один раз** | + +Время скачивания зависит от скорости интернета (обычно 10–30 минут). +Все последующие запуски используют локальные файлы и работают **без интернета**. + +### Где хранятся модели + +Модели сохраняются в системный кэш: +- **Linux/Mac:** `~/.cache/` +- **Windows:** `%USERPROFILE%\.cache\` + ## Работа офлайн — всё локально! **Да, все модели работают полностью локально.** @@ -124,21 +165,40 @@ python run.py -i meeting.wav -o meeting.docx ### Примеры +**Аудио файлы:** ```bash # Базовый запуск python run.py -i meeting.wav -# Сменить профиль -python run.py -i meeting.wav -p gpu_8gb - # Быстрый тест на маленькой модели python run.py -i meeting.wav -m base +# Markdown выход +python run.py -i meeting.wav -f md -o meeting.md +``` + +**Видео файлы (автоматически извлекается аудио):** +```bash +# Из видео совещания +python run.py -i recording.mp4 + +# Из Zoom записи +python run.py -i zoom_meeting.mp4 -o protocol.docx + +# Из Teams записи (MKV формат) +python run.py -i teams_recording.mkv +``` + +**Продвинутые опции:** +```bash +# Сменить профиль +python run.py -i meeting.wav -p gpu_8gb + # Только CPU python run.py -i meeting.wav -d cpu -m small -# Markdown выход -python run.py -i meeting.wav -f md -o meeting.md +# Отключить диаризацию (быстрее, но без разделения спикеров) +# (нужно изменить diarize: false в config.yaml) ``` ## Профили оборудования