Kartenanalyse für Streamer. Schnell und genau.
cardstream ist ein Zustandsautomat rund um einen Endpunkt zur Kartenidentifikation. Alles hier unten macht entweder die Identifikation besser oder sorgt dafür, dass sie nur dann passiert, wenn sie ihr Geld wirklich wert ist.
Kartenerkennung in Echtzeit aus jedem Stream
Vier Identifikations-Endpunkte hinter einem Schalter: Sammelkartenspiele, Sportkarten, gegradete Karten im Slab und Comics.
Der ganze Treffer in einem Objekt
Name, vollständiger Name, Set, Set-Code, Kartennummer, Serie, Jahr und Unterkategorie kommen als ein Objekt pro erkannter Karte an: zum Vorlesen, Protokollieren oder Weiterreichen an deine eigenen Tools.
Konfidenz, mit der du arbeiten kannst
Jeder Treffer trägt die rohe Distanz und eine Stufe High / Medium / Low (Grenzen bei 0.30 und 0.40). Setz einen Ergebnis-Schwellenwert, und Karten darunter erreichen das Overlay nie.
Alternative Treffer
Jedes Ergebnis bringt bis zu vier weitere Karten mit, die es hätten sein können. Ist der beste Treffer falsch, steht der richtige meist in dieser kurzen Liste.
Vorgaben, die die Suche eingrenzen
Nenne Spiel, Set-Code oder Schriftsystem, und der Endpunkt muss sie nicht mehr raten. Die Werte werden lokal geprüft: Ein Tippfehler scheitert auf deinem Rechner, statt stillschweigend die falsche Version zu liefern.
Kategorie pro Show
Ein Flag, oder mitten im Stream der Einstellungsdialog: tcg, sport, slab oder comics. Beim Wechsel fällt jede Vorgabe weg, die die neue Kategorie nicht kennt, statt ihr einen Wert zu schicken, mit dem sie nichts anfangen kann.
Vorderseite, Rückseite und Drehung
Bekannte Attribute gehen mit dem Ausschnitt hinaus, sodass der Endpunkt Klassifikatoren überspringt, die er nicht braucht: weniger, was schiefgehen kann, und schnellere Antworten.
Schnelle Livestream-Analyse mit KI
Ein Zustandsautomat, den sich beide Betriebsarten teilen. Alles hier läuft auf deiner eigenen CPU, bevor irgendetwas den Rechner verlässt.
Bewegungsfilter
Eine mittlere Frame-Differenz sagt, ob die Szene zur Ruhe gekommen ist. Solange sich die Karte noch durchs Bild bewegt, wird dahinter nichts ausgelöst.
Identitätsfilter
Jede Karte im Bild wird von einem KI-Modell per Embedding mit der vorigen verglichen. Es beantwortet eine einzige Frage: dieselbe Karte oder eine neue?
Dreistufige Drosselung der Detektion
Die Detektion läuft oft, solange sich etwas bewegt, selten bei einer ruhigen Karte und kaum noch auf einer leeren Matte. Die Stufen sind Konfiguration je Betriebsart, kein Code.
Cooldown, keine Wiederholung, Vergessen
Eine Karte ohne Treffer wird nicht in Dauerschleife neu versucht; eine Karte, die im Bild bleibt, wird nicht noch einmal identifiziert; eine Karte, die lange genug weg war, wird neu analysiert, wenn sie zurückkommt.
Aufrufsperre und Watchdog
Immer nur eine Identifikation gleichzeitig unterwegs, mit einem Mindestabstand und einem Timeout, das die Pipeline wieder löst, wenn der Endpunkt hängt. Ein langsamer Aufruf bremst den Stream nie aus.
Superschnelle Ergebnisse
Die KI-Modelle hinter cardstream laufen auf deinem eigenen Computer. Das System ist sehr schnell, und eine GPU brauchst du nicht.
Unterstützte Videoquellen und Formate
Die Quellen sind austauschbar; die Analyse ist dieselbe, egal welche du nimmst.
Kameras und Dateien
Ein Webcam-Index, eine Videodatei, ein Standbild oder die Webcam im Browser, wenn du die Browser-Oberfläche nutzt. Gut, um ein Setup vor der Show zu testen.
Pull: RTSP, RTMP, SRT
Richte es auf eine IP-Kamera, einen Encoder oder einen Restreamer, und es holt sich den Stream. Fällt das Signal aus, verbindet es sich mit gedeckeltem Backoff neu.
Push: OBS direkt hinein
Starte es als Listener und lass OBS per RTMP oder SRT dorthin senden: eine zusätzliche Ausgabe neben der, die deinen Marktplatz speist.
WebSocket-JPEG-Feeds
Für Eigenbau-Setups: Jeder Prozess, der JPEG-Frames über einen Socket schicken kann, ist eine gültige Quelle.
Drei Stellschrauben für die Auflösung
Was die Kamera aufnimmt, was gesendet wird und was analysiert wird, sind drei getrennte Zahlen. Analysiert wird in kleiner Auflösung, das kostet wenig; der Ausschnitt, der zur Identifikation hinausgeht, wird aus dem vollen Frame neu geschnitten.
Die Frames bleiben bei dir
Im clientseitigen Modus verlässt nichts den Rechner außer einem JPEG-Ausschnitt pro neuer Karte, nicht der Stream, nicht die Frames drumherum. Die Show in deinem Ximilar-Konto zu speichern ist ein Flag, das du selbst setzt.
Unsere Gewichte oder deine
Werte Livestreams mit unserem vorbereiteten CPU-Modell aus. Du brauchst mehr Genauigkeit oder extremes Tempo? Trainiere dein eigenes und lass es auf GPUs laufen!
RF-DETR-Segmentierung
Der Standard-Locator: ein feinabgestimmter .onnx-Export zur Instanzsegmentierung über onnxruntime, ganz ohne torch. Die Maske liefert die vier Ecken der Karte, also wird der Ausschnitt, für den du bezahlst, entzerrt und knapp an der Kartenkante geschnitten.
Detektion mit RF-DETR / RT-DETRv2
Bounding Boxes als optionale Alternative: ONNX fürs Tempo, oder ein transformers-Verzeichnis beziehungsweise eine Hub-ID, solange du noch an einem Finetuning arbeitest.
Gewichte inklusive
Der RF-DETR-Locator und das Embedding-Modell sind von Ximilar trainiert und unter Apache-2.0 veröffentlicht. Der Installer lädt sie, zwischen dir und einer laufenden Pipeline steht also kein Trainingsschritt.
Embedder-Backends
Embedding-Modelle in Torch, ONNX oder LiteRT/TFLite für den Identitätsfilter: Nimm die Laufzeit, die du schon auf dem Rechner hast.
Schwere Importe erst bei Bedarf
Torch ist keine Abhängigkeit des Kerns. Installiere nur die Extras, die deine Backends brauchen, und alles andere läuft trotzdem.
Jeder Identifikationsdienst
Der Identifikationsaufruf ist ein austauschbarer Schritt. Richte ihn auf Ximilar, auf ein proprietäres Erkennungssystem oder auf ein Modell, das du selbst hostest.
Ein Prozess, direkt neben der Kamera
Detektion und Filter laufen auf deinem Rechner, aus einem einzigen installierbaren Paket, und der eine Identifikationsaufruf geht von dort direkt an die API.
Zwei Einstiegspunkte, eine Pipeline
Ein Headless-Befehl für feste Setups und Skripte, und eine lokale Browser-Oberfläche, wenn du ihm bei der Arbeit zusehen willst. Beide nehmen dieselben Flags und bauen dieselbe Pipeline.
Ein Schlüssel, lokal gehalten
Dein Ximilar-Schlüssel, auf deinem eigenen Rechner aus der Umgebung gelesen. Kein Konto, das du hier anlegen müsstest, keine Zwischenschicht, der du vertrauen müsstest, nichts, was laufen muss, außer dem Prozess selbst.
Nichts blockiert die Schleife
JPEG-Dekodierung, Detektion, HTTP und Schreibzugriffe auf die Festplatte laufen alle außerhalb des Event-Loops. Ein langsamer Frame wird verworfen, statt sich in einer immer längeren Warteschlange anzustellen.
Einstellungsdialog im laufenden Betrieb
Schwellenwerte, Kategorie, Spiel, Set-Code und Schriftsystem lassen sich mitten im Stream im Browser nachstellen. Jedes Feld wird aus einer einzigen Deskriptorliste erzeugt, Oberfläche und Prüfung können also nicht auseinanderlaufen.
Ein Overlay, gemacht für Streams
Status-Badge, Bounding Box und ein Verlauf aller Karten, die du gezeigt hast (ein Vorschaubild von jeder und die Zeit, die sie im Bild war), den ein Flag in deinem Ximilar-Konto speichert. Dazu ein Debug-Panel, wenn du den Filtern beim Überlegen zusehen willst.
Offline-Testsuite
Die gesamte Suite läuft ohne Netzwerk und ohne Modelldatei, mit Attrappen für die ONNX-Sessions und die Detektoren. Forke es, und du merkst trotzdem, ob du etwas kaputt gemacht hast.
Open Source. Selbst gehostet. Dein Stream, dein Stack.
Keine Plattform dazwischen, keine Lizenz pro Nutzer: Verbinde die Ximilar-API oder dein eigenes Identifikationssystem, und cardstream ruft es einmal pro neuer Karte auf statt einmal pro Frame. Ob du auf Whatnot Breaks machst, eine Show im Stil von Fanatics Live fährst oder dein eigenes Live-Commerce-Setup streamst: Starte cardstream heute Abend auf der Hardware, die du schon hast.