Update README with video support and first-run documentation

This commit is contained in:
Кирилл Блинов 2026-05-29 10:53:44 +03:00
parent ddee721bea
commit bd7eadb49f

View File

@ -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 | Точные таймкоды слов |
| **Итого** | **~45 GB** | **Скачиваются один раз** |
Время скачивания зависит от скорости интернета (обычно 1030 минут).
Все последующие запуски используют локальные файлы и работают **без интернета**.
### Где хранятся модели
Модели сохраняются в системный кэш:
- **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)
```
## Профили оборудования