Kaartanalyse voor streamers. Snel en nauwkeurig.
cardstream is een toestandsmachine rond een endpoint voor kaartidentificatie. Alles hieronder maakt de identificatie beter, of zorgt ervoor dat ze alleen plaatsvindt als ze het betalen echt waard is.
Realtime kaartidentificatie vanuit elke stream
Vier identificatie-endpoints achter één schakelaar: verzamelkaartspellen, sportkaarten, graded slabs en comics.
De hele match, in één plat object
Naam, volledige naam, set, setcode, kaartnummer, serie, jaar en subcategorie komen als één object per geïdentificeerde kaart binnen: klaar om voor te lezen, te loggen of door te sturen naar je eigen tools.
Betrouwbaarheid waar je iets mee kunt
Elke match heeft de ruwe afstand en een niveau High / Medium / Low (grenzen bij 0.30 en 0.40). Stel een resultaatdrempel in en kaarten daaronder bereiken de overlay nooit.
Alternatieve matches
Bij elk resultaat komen tot vier andere kaarten die het ook had kunnen zijn. Is de bovenste match fout, dan staat de juiste meestal in dat korte lijstje.
Vooraf invullen verkleint de zoekruimte
Geef het spel, de setcode of het schrift op en het endpoint hoeft ze niet meer te raden. De waarden worden lokaal gecontroleerd: een typfout loopt op je eigen machine vast in plaats van stilletjes de verkeerde druk terug te geven.
Categorie per show
Eén flag, of tijdens de stream via het instellingenvenster: tcg, sport, slab of comics. Bij het wisselen vervalt elke vooraf ingevulde waarde die de nieuwe categorie niet kent, in plaats van dat die een waarde krijgt waar ze niets mee kan.
Voorkant, achterkant en rotatie
Bekende eigenschappen gaan met de uitsnede mee, zodat het endpoint classifiers overslaat die het niet nodig heeft: minder dat mis kan gaan, snellere antwoorden.
Snelle analyse van livestreams met AI
Eén toestandsmachine, gedeeld door beide deploymentvarianten. Alles hier draait op je eigen CPU, voordat er iets de machine verlaat.
Bewegingsfilter
Een gemiddeld verschil tussen frames zegt of het beeld tot rust is gekomen. Zolang de kaart nog door het beeld beweegt, gebeurt er verderop niets.
Identiteitsfilter
Een AI-model vergelijkt elke kaart in beeld via een embedding met de vorige. Het beantwoordt één vraag: dezelfde kaart, of een nieuwe?
Detectiebegrenzing in drie standen
De detectie draait vaak zolang er iets beweegt, zelden bij een stilstaande kaart en nauwelijks bij een lege mat. De standen zijn configuratie per kant, geen code.
Afkoeltijd, geen herhaalpoging, vergeten na afwezigheid
Een kaart die niet matchte, wordt niet eindeloos opnieuw geprobeerd; een kaart die in beeld blijft, wordt niet opnieuw geïdentificeerd; een kaart die lang genoeg weg is geweest, wordt bij terugkomst opnieuw geanalyseerd.
Aanroepbewaking en watchdog
Er loopt één identificatie tegelijk, met een minimuminterval en een timeout die de pipeline losmaakt als het endpoint blijft hangen. Een trage aanroep legt de stream nooit stil.
Supersnelle resultaten
De AI-modellen achter cardstream draaien op je eigen computer. Het systeem is erg snel en je hebt geen GPU nodig.
Ondersteunde videobronnen en -typen
Bronnen zijn verwisselbaar; de analyse is dezelfde, welke je ook kiest.
Camera’s en bestanden
Een webcamindex, een videobestand, een stilstaand beeld, of de webcam van de browser als je de web-UI draait. Handig om een opstelling vóór de show te testen.
Ophalen: RTSP, RTMP, SRT
Richt het op een IP-camera, een encoder of een restreamer en het haalt de stream op, met een begrensde backoff bij het opnieuw verbinden als de feed wegvalt.
Pushen: OBS rechtstreeks erin
Draai het als listener en laat OBS er RTMP of SRT naartoe pushen: één extra uitvoer naast degene die je marktplaats voedt.
WebSocket-JPEG-feeds
Voor zelfgebouwde opstellingen: elk proces dat JPEG-frames over een socket kan sturen, is een geldige bron.
Drie resolutieknoppen
Wat de camera opneemt, wat er wordt verstuurd en wat er wordt geanalyseerd, zijn aparte getallen. De analyse draait klein en goedkoop; de uitsnede die ter identificatie wordt verstuurd, wordt opnieuw uit het volledige frame gesneden.
Je frames blijven van jou
In client-side modus verlaat niets de machine behalve één JPEG-uitsnede per nieuwe kaart: niet de stream, niet de frames eromheen. De show opslaan in je Ximilar-account is een flag die je zelf aanzet.
Onze gewichten, of die van jou
Analyseer livestreams met ons kant-en-klare model voor de CPU. Hogere nauwkeurigheid of extreme snelheid nodig? Train je eigen model en deploy het op GPU’s!
RF-DETR-segmentatie
De standaardlocator: een gefinetunede .onnx-export voor instance-segmentatie via onnxruntime, zonder torch. Het masker geeft de vier hoeken van de kaart, dus de betaalde uitsnede is rechtgetrokken en strak langs de kaartrand gesneden.
RF-DETR- / RT-DETRv2-detectie
Bounding boxes als alternatief dat je zelf aanzet: ONNX voor snelheid, of een transformers-map of hub-id zolang je nog aan een finetune sleutelt.
Gewichten inbegrepen
De RF-DETR-locator en het embeddingmodel zijn door Ximilar getraind en gepubliceerd onder Apache-2.0. De installer haalt ze op, dus er zit geen trainingsstap tussen jou en een werkende pipeline.
Backends voor de embedder
Embeddingmodellen in Torch, ONNX of LiteRT/TFLite voor het identiteitsfilter: gebruik de runtime die je al op de machine hebt.
Zware imports blijven lazy
Torch is geen dependency van de kern. Installeer alleen de extras die je backends nodig hebben, en al het andere draait gewoon.
Elke identificatiedienst
De identificatie-aanroep is één verwisselbare stap. Laat hem wijzen naar Ximilar, naar een commerciële herkenner of naar een model dat je zelf host.
Eén proces, naast de camera
De detectie en de filters draaien op je machine, vanuit één installeerbaar pakket, en de ene identificatie-aanroep gaat van daaruit rechtstreeks naar de API.
Twee ingangen, één pipeline
Een headless commando voor vaste opstellingen en scripts, en een lokale browser-UI als je wilt meekijken. Beide nemen dezelfde flags en bouwen dezelfde pipeline.
Eén inloggegeven, lokaal bewaard
Je Ximilar-sleutel, uitgelezen uit de omgeving op je eigen machine. Geen account om hier aan te maken, geen tussenlaag om te vertrouwen, niets om draaiende te houden behalve het proces zelf.
Niets blokkeert de loop
JPEG-decodering, detectie, HTTP en schrijven naar schijf draaien allemaal buiten de event-loop. Een traag frame wordt overgeslagen en komt niet in een rij die een groeiende achterstand wordt.
Instellingenvenster, live
Drempels, categorie, spel, setcode en schrift zijn tijdens de stream vanuit de browser bij te stellen. Elke knop komt bovendien uit één lijst met descriptors, zodat de UI en de validatie niet uit elkaar kunnen groeien.
Een overlay gemaakt voor streams
Statusbadge, bounding box en een geschiedenis van elke kaart die je hebt laten zien (een thumbnail van elke kaart en de tijd dat hij in beeld bleef), die je met één flag in je Ximilar-account opslaat. Een debugpaneel als je de filters wilt zien nadenken.
Offline testsuite
De hele suite draait zonder netwerk en zonder modelbestand: fakes voor de ONNX-sessies en de detectoren. Fork het en je ziet nog steeds of je iets hebt stukgemaakt.
Open source. Zelf gehost. Jouw stream, jouw stack.
Geen platform ertussen, geen licentie per gebruiker: koppel de Ximilar-API of je eigen identificatiesysteem, en cardstream roept het één keer per nieuwe kaart aan in plaats van één keer per frame. Of je nu breaks doet op Whatnot, een show draait zoals op Fanatics Live of live verkoopt via je eigen opstelling: draai cardstream vanavond nog, op de hardware die je al hebt.