First Commit, Code by Claude 4.7 Opus

This commit is contained in:
Tronax 2026-05-15 21:02:52 +02:00
commit 4f1e373c4f
7 changed files with 650 additions and 0 deletions

46
README.md Normal file
View file

@ -0,0 +1,46 @@
# Reels Controls — Video-Steuerung für Instagram Reels
Ein Chrome-Addon, das Instagram Reels eine echte Videosteuerung gibt: Play/Pause, Lautstärkeregler, Fortschrittsbalken mit Scrubbing und Tastenkürzel.
## Installation
1. Diesen Ordner (`reels-controls`) irgendwo dauerhaft ablegen — nicht löschen, Chrome lädt das Addon bei jedem Start von hier.
2. In Chrome `chrome://extensions` öffnen.
3. Oben rechts den **Entwicklermodus** einschalten.
4. Auf **Entpackte Erweiterung laden** klicken und den Ordner `reels-controls` auswählen.
5. `instagram.com` öffnen (oder neu laden) und ein Reel aufrufen.
Funktioniert genauso in Edge, Brave und anderen Chromium-Browsern über deren jeweilige Erweiterungsseite.
## Bedienung
Die Steuerleiste sitzt unten über dem Video. Sie ist leicht transparent und wird beim Drüberfahren mit der Maus voll sichtbar.
- **Play/Pause-Button** — links
- **Fortschrittsbalken** — anklicken oder ziehen, um zu spulen
- **Zeitanzeige** — aktuelle Position / Gesamtlänge
- **Lautstärke-Button** — stummschalten/aktivieren
- **Lautstärke-Slider** — stufenlos regeln
Die zuletzt eingestellte Lautstärke wird gemerkt und auf neue Reels übernommen (für die aktuelle Browser-Sitzung).
### Tastenkürzel
Gelten immer für das gerade sichtbare Reel:
| Taste | Funktion |
|-------|----------|
| Leertaste | Play / Pause |
| M | Stumm an/aus |
| ← / → | 5 Sekunden zurück / vor |
| ↑ / ↓ | Lautstärke +/ 10 % |
## Wie es funktioniert
Instagram ist eine Single-Page-App und tauscht die `<video>`-Elemente beim Scrollen ständig aus. Das Content-Script (`content.js`) nutzt deshalb einen `MutationObserver` plus einen periodischen Fallback-Scan, erkennt neu eingefügte Reel-Videos und hängt jedem eine eigene Steuerleiste an. Alle Klicks auf der Leiste werden mit `stopPropagation()` abgefangen, damit Instagrams eigene Klick-zum-Pausieren-Logik nicht dazwischenfunkt.
## Hinweise
- Das Addon braucht **keine** besonderen Berechtigungen außer Zugriff auf `instagram.com` und sendet nichts nach außen — alles läuft lokal im Browser.
- Wenn Instagram sein DOM stark umbaut, kann es sein, dass die Video-Erkennung angepasst werden muss (die Heuristik in `isReelVideo()` über Videogröße). Das ist die wahrscheinlichste Stelle für künftige Reparaturen.
- Da es eine entpackte Erweiterung ist, zeigt Chrome bei jedem Start evtl. einen Hinweis im Entwicklermodus — das ist normal.