Add README with setup and usage instructions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-05 10:37:56 +01:00
parent d0e0e53087
commit 1560ecadd6

62
README.md Normal file
View File

@@ -0,0 +1,62 @@
# Twitch Stream Vision Analyzer
Программа в реальном времени анализирует Twitch-стрим: периодически захватывает кадры и отправляет их в Gemini Vision API, получая текстовое описание происходящего.
```
Twitch HLS → streamlink → ffmpeg (кадр каждые N сек) → Gemini Vision API → консоль + лог
```
## Требования
- Python 3.10+
- ffmpeg (установлен в системе)
- API ключ [Google AI Studio](https://aistudio.google.com/apikey)
## Установка
```bash
git clone https://git.animeenigma.ru/NANDI/twitchStreamVision.git
cd twitchStreamVision
pip install -r requirements.txt
```
## Настройка
Скопируй `.env.example` в `.env` и укажи API ключ:
```bash
cp .env.example .env
```
```env
GEMINI_API_KEY=your-api-key-here
# Опционально: Cloudflare AI Gateway
# GEMINI_BASE_URL=https://gateway.ai.cloudflare.com/v1/account/gateway/google-ai-studio
```
## Запуск
```bash
python3 main.py --channel xqc --interval 15 --quality 480p
```
### Аргументы
| Аргумент | По умолчанию | Описание |
|---|---|---|
| `--channel` | (обязательный) | Имя Twitch-канала |
| `--interval` | `15` | Интервал захвата кадров (секунды) |
| `--quality` | `480p` | Качество стрима (`480p`, `720p`, `1080p`, `best`) |
| `--lang` | `ru` | Язык описаний (`ru` / `en`) |
| `--log-file` | `stream_log.txt` | Путь к лог-файлу |
## Как это работает
1. **streamlink** подключается к Twitch-каналу и получает HLS-поток
2. **ffmpeg** извлекает JPEG-кадры с заданным интервалом (без записи на диск)
3. **Gemini Vision API** анализирует каждый кадр и возвращает краткое описание
4. Результат выводится в консоль (через rich) и записывается в лог-файл
Для связности описаний контекст предыдущего ответа передаётся в следующий запрос.
Остановка — `Ctrl+C`.