# 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`.