Analisi delle carte per gli streamer. Veloce e precisa.
cardstream è una macchina a stati costruita intorno a un endpoint di identificazione delle carte. Tutto quello che trovi qui sotto serve a migliorare l’identificazione, oppure a fare in modo che avvenga solo quando vale davvero la spesa.
Identificazione delle carte in tempo reale, da qualsiasi diretta
Quattro endpoint di identificazione dietro un solo selettore: giochi di carte collezionabili, carte sportive, carte gradate e fumetti.
Tutta la corrispondenza, in un solo oggetto
Nome, nome completo, set, codice di set, numero di carta, serie, anno e sottocategoria arrivano in un unico oggetto per ogni carta identificata: pronto da leggere ad alta voce, da registrare o da passare ai tuoi strumenti.
Una confidenza su cui puoi agire
Ogni corrispondenza porta con sé la distanza grezza e un livello Alta / Media / Bassa (soglie a 0.30 e 0.40). Imposta una soglia di risultato e le carte che restano sotto non arrivano mai all’overlay.
Corrispondenze alternative
Ogni risultato arriva con un massimo di altre quattro carte possibili. Se la prima corrispondenza è sbagliata, quella giusta di solito è in quel breve elenco.
Preimpostazioni che restringono la ricerca
Indicagli il gioco, il codice di set o il sistema di scrittura e l’endpoint smette di tirare a indovinare. I valori sono validati in locale: un errore di battitura fallisce sul tuo computer invece di restituire, senza avvisi, la stampa sbagliata.
Una categoria per ogni show
Un flag, oppure la finestra delle impostazioni a diretta in corso: tcg, sport, slab o comics. Al cambio, ogni preimpostazione che la nuova categoria non conosce viene scartata, invece di inviarle un valore che non saprebbe usare.
Fronte, retro e rotazione
Gli attributi già noti partono insieme al ritaglio, così l’endpoint salta i classificatori che non gli servono: meno cose da sbagliare, risposte più rapide.
Analisi rapida delle dirette con l’IA
Una sola macchina a stati, condivisa da entrambe le modalità di deployment. Tutto quello che c’è qui gira sulla tua CPU, prima che qualsiasi cosa esca dal computer.
Filtro di movimento
Una differenza media tra fotogrammi dice se la scena si è fermata. A valle non scatta nulla finché la carta si sta ancora muovendo nell’inquadratura.
Filtro di identità
Ogni carta nell’inquadratura viene confrontata con la precedente da un modello di IA, tramite embedding. Risponde a una sola domanda: stessa carta o carta nuova?
Rilevamento regolato su tre livelli
Il rilevamento gira spesso quando qualcosa si muove, di rado su una carta ferma e quasi mai su un tappetino vuoto. I livelli sono impostazioni, distinte per ciascun lato del deployment, non codice.
Cooldown, niente ritentativi, memoria a scadenza
Una carta che non ha trovato corrispondenza non viene ritentata a ciclo continuo; una carta tenuta nell’inquadratura non viene identificata di nuovo; una carta sparita da abbastanza tempo viene analizzata da capo quando torna.
Controllo delle chiamate e watchdog
Una sola identificazione in corso alla volta, con un intervallo minimo e un timeout che sblocca la pipeline se l’endpoint si pianta. Una chiamata lenta non ferma mai la diretta.
Risultati rapidissimi
I modelli di IA di cardstream girano sul tuo computer. Il sistema è molto veloce e non ti serve nessuna GPU.
Sorgenti e formati video supportati
Le sorgenti sono intercambiabili; l’analisi è identica qualunque tu scelga.
Videocamere e file
L’indice di una webcam, un file video, un’immagine fissa, oppure la webcam del browser quando usi l’interfaccia web. Comodo per provare un setup prima dello show.
Pull: RTSP, RTMP, SRT
Puntalo su una videocamera IP, un encoder o un restreamer e sarà lui a prelevare il flusso, riconnettendosi a intervalli crescenti, ma con un tetto, quando il segnale cade.
Push: OBS direttamente dentro
Avvialo in ascolto e lascia che OBS gli invii RTMP o SRT: un’uscita in più accanto a quella che alimenta il tuo marketplace.
Feed JPEG via WebSocket
Per i setup fatti in casa: qualunque processo sappia inviare fotogrammi JPEG su un socket è una sorgente valida.
Tre regolazioni di risoluzione
Ciò che la videocamera cattura, ciò che viene inviato e ciò che viene analizzato sono tre numeri distinti. L’analisi gira in piccolo e costa poco; il ritaglio che parte per l’identificazione viene ricavato di nuovo dal fotogramma intero.
I fotogrammi restano tuoi
In modalità client dal computer non esce nulla, a parte un ritaglio JPEG per carta distinta: né la diretta, né i fotogrammi intorno. Salvare lo show nel tuo account Ximilar è un flag che decidi tu di attivare.
I nostri pesi, o i tuoi
Analizza le dirette con il nostro modello pronto per CPU. Ti serve più accuratezza o una velocità estrema? Addestra il tuo e mettilo su GPU!
Segmentazione RF-DETR
Il localizzatore predefinito: un export .onnx di segmentazione di istanze con fine-tuning, eseguito con onnxruntime, senza bisogno di torch. La maschera dà i quattro angoli della carta, così il ritaglio a pagamento è raddrizzato e tagliato a filo del bordo.
Rilevamento RF-DETR / RT-DETRv2
I bounding box come alternativa da attivare: ONNX per la velocità, oppure una directory transformers o un id dell’hub mentre stai ancora iterando su un fine-tuning.
Pesi inclusi
Il localizzatore RF-DETR e il modello di embedding sono addestrati da Ximilar e pubblicati con licenza Apache-2.0. Li scarica l’installer: tra te e una pipeline funzionante non c’è nessuna fase di addestramento.
Backend per l’embedding
Modelli di embedding Torch, ONNX o LiteRT/TFLite per il filtro di stessa carta: usa il runtime che hai già sul computer.
Gli import pesanti restano lazy
Torch non è una dipendenza del core. Installa solo gli extra che servono ai tuoi backend e tutto il resto continua a funzionare.
Qualsiasi servizio di identificazione
La chiamata di identificazione è un singolo passaggio sostituibile. Puntala su Ximilar, su un riconoscitore proprietario o su un modello che ospiti tu.
Un solo processo, accanto alla videocamera
Il rilevamento e i filtri girano sul tuo computer, da un unico pacchetto installabile, e l’unica chiamata di identificazione va direttamente da lì all’API.
Due punti di ingresso, una sola pipeline
Un comando senza interfaccia per postazioni fisse e script, e un’interfaccia locale nel browser quando vuoi vederlo lavorare. Entrambi accettano gli stessi flag e costruiscono la stessa pipeline.
Una sola credenziale, custodita in locale
La tua chiave Ximilar, letta dall’ambiente sul tuo computer. Nessun account da creare qui, nessun intermediario di cui fidarti, niente da tenere acceso a parte il processo stesso.
Niente blocca il ciclo
Decodifica JPEG, rilevamento, HTTP e scritture su disco girano tutti fuori dall’event loop. Un fotogramma lento viene scartato, non messo in coda ad accumulare ritardo.
Impostazioni modificabili in diretta
Soglie, categoria, gioco, codice di set e sistema di scrittura si regolano dal browser a diretta in corso. Ogni controllo è generato da un’unica lista di descrittori, quindi interfaccia e validazione non possono divergere.
Un overlay pensato per le dirette
Badge di stato, bounding box e uno storico di ogni carta mostrata, con la miniatura di ciascuna e il tempo in cui è rimasta nell’inquadratura, che un flag salva nel tuo account Ximilar. E un pannello di debug quando vuoi vedere i filtri ragionare.
Suite di test offline
Tutta la suite gira senza rete e senza file dei modelli, con dei fake al posto delle sessioni ONNX e dei rilevatori. Fanne un fork e saprai comunque se hai rotto qualcosa.
Open source. Self-hosted. La tua live, il tuo stack.
Nessuna piattaforma nel mezzo, nessuna licenza per postazione: collega l’API di Ximilar o il tuo sistema di identificazione, e cardstream lo chiama una volta per carta distinta invece che una volta per fotogramma. Che tu faccia break su Whatnot, conduca uno show in stile Fanatics Live o trasmetta con il tuo setup di live commerce, fai girare cardstream stasera stessa sull’hardware che hai già.