Initial commit: Twitch Stream Vision Analyzer

Async pipeline: streamlink + ffmpeg frame capture → Gemini Vision API analysis → rich console output + log file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-05 10:35:37 +01:00
commit d0e0e53087
8 changed files with 305 additions and 0 deletions

27
output.py Normal file
View File

@@ -0,0 +1,27 @@
import aiofiles
from datetime import datetime
from rich.console import Console
from rich.panel import Panel
console = Console()
def print_description(description: str, frame_number: int) -> None:
timestamp = datetime.now().strftime("%H:%M:%S")
console.print(
Panel(
description,
title=f"[bold cyan]Frame #{frame_number}[/bold cyan] [{timestamp}]",
border_style="blue",
)
)
async def log_description(
log_file: str, description: str, frame_number: int
) -> None:
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
line = f"[{timestamp}] Frame #{frame_number}: {description}\n"
async with aiofiles.open(log_file, "a", encoding="utf-8") as f:
await f.write(line)