Movie Finder
Tool zur Identifizierung von Filmen/Serien aus TikTok-Videos durch Frame-Analyse und Zwei-KI-Diskussion. Alle Arbeitsdateien (Video, Frames, Transkripte, Ergebnisse) werden via rclone in Google Drive gespeichert – lokal nur temporär genutzt und anschließend bereinigt.
Vom Benutzer einstellbare Parameter (erfragen/aus Anfrage ableiten)
| Parameter | Standard | Beschreibung |
|---|---|---|
| Anzahl Frames | 10 | 2. Argument von grab_frames.sh |
| Diskussionsmodus | per-gambar | 3 Diskussionsrunden pro Frame (aufwändig, ~30 Diskussionen für 10 Frames). Modus batch = alle Frames gleichzeitig in 3 Runden (sparsam, für die meisten Fälle ausreichend) |
| Runden | 3 | Anzahl Antwortpaare KI1↔KI2 |
| rclone-Remote | gdrive:Linux-Server/movie-finder | Überschreibbar via Umgebungsvariable MF_REMOTE |
| Lokal behalten | 0 | 3. Argument, 1 = Video auch lokal speichern |
Ablauf
1. Herunterladen + Frame-Splitting
bash scripts/grab_frames.sh "<url_tiktok>" [num_frames] [keep_local]
- Ausgabe-JSON enthält:
gdrive(Zielordner),frames_local(Pfad der JPG-Frames),duration_sec,video_size,scratch_dir. - Skript automatisch: Herunterladen → Frames extrahieren (überspringt erste/letzte 10%) → Upload zu gdrive → Löschen des lokalen Videos. Frames bleiben während der Sitzung lokal (damit du sie sehen kannst).
- Fehler beim Download (Region-/Altersbeschränkung): Benutzer informieren, alternativen Link vorschlagen.
2. Alle Frames ansehen
Jede JPG-Datei aus frames_local mit dem „read“-Tool (Bild) öffnen. Notiere selbst Hinweise: Kostüme, Orte, Schauspieler, Epoche/Filmkorn, Bildschirmtexte, Wasserzeichen, Kameraführung, Credits-Titel.
3. Diskussion zweier KIs (via Tool subagent, agent: general)
Führe zwei Rollen abwechselnd aus, wie WhatsApp-Chat:
- 🕵️ KI 1 DETEKTIV — Prompt: analysiere visuelle Frame-Hinweise (nenne konkrete, sichtbare Details), gib 1–3 Kandidaten
Titel + Jahr + Begründungmit Confidence-Angabe. KI 1 muss die Frame-Dateien direkt lesen (Pfad angeben). - 🔍 KI 2 SKEPTIKER — Prompt: nutze das Websearch-Tool, um jeden Kandidaten zu verifizieren (suche
"<Titel> <Jahr> Film"+ einzigartige Szenendetails), widerlege/bestätige mit Link-Belegen, darf neue Kandidaten vorschlagen.
Regeln:
- 1 Runde = KI 1 analysiert → KI 2 verifiziert. Standard: 3 Runden.
- Notiere & zeige das verwendete Modell jeder KI im Transkript und in der Antwort (Beispiel-Header:
🕵️ KI 1 — Detektiv [Modell: custom/auto]). Modellname aus Subagent-Metadaten/Konfiguration abrufen; falls beide Rollen dasselbe Modell nutzen, schreibe es wie es ist. Auch indiskusi.mdund in der finalen Antwort angeben. - Modus
per-gambar: für jeden Frame wiederholen, immer Transkript der vorherigen Runde + bereits vorhandenen Kandidatenkontext einbeziehen, damit die Diskussion zusammenhängend bleibt. Deduplizierung: taucht derselbe Kandidat wiederholt in verschiedenen Frames auf, reicht 1 Bestätigungsrunde, keine vollen 3 Runden. - Modus
batch: alle Frames (als Pfadliste) in einer einzigen 3-Runden-Diskussion bearbeiten. - Setze
model-Parameter des Subagents nicht (Standard verwenden). - Empfehlung: Jeden Subagenten einschränken – KI 1 nur Analyse (keine Tools nötig), KI 2 konzentriert sich auf Websearch.
4. Fazit
Erstelle: Titel + Jahr + Confidence (hoch/mittel/niedrig) + Referenzlinks von KI 2 + Hinweis, falls kein Konsens.
Speziell für SERIEN/TV-Serien muss KI 2 (in der finalen Runde) zwingend versuchen, Folgendes zu ergänzen:
- Staffel & Episode: welche Episode am wahrscheinlichsten Quelle des Clips ist (Hinweise: identifizierte Szenen/Figuren/Kostüme + Websearch „Episodenguide“, Zusammenfassung pro Episode, TMDB-Credits pro Episode).
- Episodentitel (falls vorhanden).
- Episodenlaufzeit präzise in Minuten:Sekunden (Format
47:23), von IMDb (technische Daten / Episodenseite) oder TMDB – keine grobe Rundung. - Falls die genaue Episode nicht bestimmt werden kann, schreibe explizit „Episode nicht bestimmbar“ + nur die Episodenlaufzeit.
- Bonus (nach bestem Wissen und Gewissen, kennzeichne als „Schätzung“): schätze den Timestamp der Clip-Position innerhalb der Episode basierend auf identifizierten Szenen im Episodenguide/einer Zusammenfassung.
Speziell für FILME: nenne die Filmlaufzeit präzise im Format Stunden:Minuten:Sekunden (z. B. 1:52:47) von IMDb Technical Specs/TMDB, nicht „±120 Minuten“.
5. Ergebnisse in gdrive speichern (ohne neue lokale Dateien)
- Vollständiges Transkript →
rclone rcat "<ZIEL>/diskusi.md"(Chat-Format: Emoji 🕵️/🔍, Rollenname, Antwortinhalt). - Fazit →
rclone rcat "<ZIEL>/hasil.md".
Template hasil.md für SERIEN (Episodendetails verpflichtend):
# Identifikationsergebnis — Movie Finder
- Titel / Typ / Jahr / Plattform / Erstellt von / Confidence
## Episodendetails
- Staffel & Episode : S01E05 (wenn bestimmbar, sonst „nicht bestimmbar“)
- Episodentitel : „Beautiful Billionaires“
- Episodenlaufzeit : 47:23 (Minuten:Sekunden, von IMDb/TMDB)
- Episoden gesamt : 11 (S1)
- Geschätzte Clip-Position : ±12:40 innerhalb der Episode (best effort, Schätzung)
## Warum es passt
...Hauptbelege...
## Referenzen
...Links...
Für FILME: ersetze den Abschnitt „Episodendetails“ durch „Filmlaufzeit: 1:52:47 (Stunden:Minuten:Sekunden)“.
6. Lokale Bereinigung
rm -rf <scratch_dir>
7. Antwort an den Benutzer
Reihenfolge der Antwort: Episodendetails & Laufzeit bei Serien (Staffel, Episodennummer, Episodentitel, Laufzeit) oder Filmlaufzeit + kurze Zusammenfassung der Diskussionspunkte + Referenzlinks + gdrive-Ordnerpfad – dann finale Schätzung (🎬 Ergebnis: Titel/Jahr) GANZ UNTEN als Abschluss. Zeige niemals das vollständige Transkript an, außer der Benutzer fragt danach.
Beispiel-Transkript
🕵️ KI 1 — Detektiv [Modell: custom/auto]: Frame 3 zeigt Kostüme aus dem 19. Jahrhundert im Stil britischer Soldaten... Kandidaten: „1917“ (2019), „The Northman“ (2022)
🔍 KI 2 — Skeptiker [Modell: custom/auto]: Ich überprüfe... [Websearch] „The Northman“ ist Wikinger-Ära, passt nicht. „1917“ passt: Schützengrabenkampf, One-Take. Verifiziert: [Link]