Análisis de cartas para streamers. Rápido y preciso.
cardstream es una máquina de estados envuelta alrededor de un endpoint de identificación de cartas. Todo lo que sigue, o bien mejora la identificación, o bien garantiza que solo ocurra cuando de verdad merece la pena pagar por ella.
Identificación de cartas en tiempo real desde cualquier stream
Cuatro endpoints de identificación detrás de un solo interruptor: juegos de cartas coleccionables, cartas deportivas, slabs graduados y cómics.
La coincidencia completa, en un solo objeto
Nombre, nombre completo, set, código de set, número de carta, serie, año y subcategoría llegan como un único objeto por carta identificada, listo para leerlo en voz alta, registrarlo o pasarlo a tus propias herramientas.
Confianza con la que puedes actuar
Cada coincidencia lleva la distancia bruta y un nivel Alto / Medio / Bajo (cortes en 0.30 y 0.40). Define un umbral de resultado y las cartas por debajo no llegan al overlay.
Coincidencias alternativas
Cada resultado viene con hasta cuatro cartas más que podría haber sido. Si la primera coincidencia es errónea, la correcta suele estar en esa lista corta.
Preajustes que acotan la búsqueda
Indícale el juego, el código de set o el sistema de escritura y el endpoint deja de adivinarlos. Los valores se validan en local: una errata falla en tu máquina en lugar de devolver en silencio la edición equivocada.
Categoría por show
Un flag, o el diálogo de ajustes en pleno directo: tcg, sport, slab o comics. Al cambiar, se descarta cualquier preajuste que la nueva categoría no conozca en lugar de enviarle un valor que no puede usar.
Anverso, reverso y rotación
Los atributos conocidos viajan con el recorte para que el endpoint se salte los clasificadores que no necesita: menos cosas en las que fallar y respuestas más rápidas.
Análisis rápido de directos con IA
Una máquina de estados compartida por las dos formas de despliegue. Todo lo de aquí corre en tu propia CPU, antes de que nada salga de la máquina.
Compuerta de movimiento
Una diferencia media entre fotogramas dice si la escena se ha quedado quieta. Nada de lo que viene después se dispara mientras la carta sigue moviéndose por el encuadre.
Compuerta de identidad
Cada carta del encuadre se compara con la anterior mediante el embedding de un modelo de IA. Responde a una sola pregunta: ¿misma carta o carta nueva?
Limitador de detección en tres niveles
La detección se ejecuta a menudo mientras algo se mueve, rara vez sobre una carta quieta y casi nunca sobre una mesa vacía. Los niveles son configuración de cada lado, no código.
Enfriamiento, sin reintentos, olvido programado
Una carta que no coincidió no se reintenta en bucle; una carta que sigue en el encuadre no se vuelve a identificar; una carta que lleva bastante tiempo fuera se analiza de cero cuando vuelve.
Guarda de llamadas y watchdog
Una sola identificación en curso a la vez, con un intervalo mínimo y un tiempo de espera que desatasca el pipeline si el endpoint se cuelga. Una llamada lenta nunca detiene el directo.
Resultados ultrarrápidos
Los modelos de IA que hay detrás de cardstream corren en tu propio ordenador. El sistema es muy rápido y no necesitas ninguna GPU.
Fuentes y tipos de vídeo compatibles
Las fuentes son intercambiables; el análisis es idéntico elijas la que elijas.
Cámaras y archivos
Un índice de webcam, un archivo de vídeo, una imagen fija o la webcam del navegador cuando ejecutas la interfaz web. Útil para probar un montaje antes del show.
Pull: RTSP, RTMP, SRT
Apúntalo a una cámara IP, un codificador o un restreamer y él recibe la señal, con reconexión automática y backoff limitado cuando la señal se cae.
Push: directo desde OBS
Ejecútalo en modo escucha y deja que OBS le envíe RTMP o SRT: una salida más junto a la que alimenta tu marketplace.
Feeds JPEG por WebSocket
Para montajes caseros: cualquier proceso capaz de enviar fotogramas JPEG por un socket es una fuente válida.
Tres ajustes de resolución
Lo que captura la cámara, lo que se envía y lo que se analiza son tres números distintos. El análisis corre en pequeño y barato; el recorte que sale para identificar se vuelve a cortar del fotograma completo.
Los fotogramas siguen siendo tuyos
En modo cliente nada sale de la máquina salvo un recorte JPEG por carta distinta: ni el stream, ni los fotogramas de alrededor. Guardar el show en tu cuenta de Ximilar es un flag que activas tú.
Nuestros pesos, o los tuyos
Analiza directos con nuestro modelo preparado para CPU. ¿Necesitas más precisión o una velocidad extrema? Entrena el tuyo y despliégalo en GPU.
Segmentación RF-DETR
El localizador por defecto: una exportación .onnx de segmentación de instancias con ajuste fino, ejecutada con onnxruntime y sin necesidad de torch. La máscara da las cuatro esquinas de la carta, así que el recorte que se paga queda enderezado y ajustado al borde de la carta.
Detección RF-DETR / RT-DETRv2
Cajas delimitadoras como alternativa opcional: ONNX para velocidad, o un directorio de transformers / id del hub mientras sigues iterando un ajuste fino.
Pesos incluidos
El localizador RF-DETR y el modelo de embedding los entrena Ximilar y se publican bajo Apache-2.0; el instalador los descarga, así que no hay ningún paso de entrenamiento entre tú y un pipeline que funciona.
Backends de embedding
Modelos de embedding en Torch, ONNX o LiteRT/TFLite para la compuerta de misma carta: usa el runtime que ya tengas en la máquina.
Las importaciones pesadas se cargan bajo demanda
Torch no es una dependencia del núcleo. Instala solo los extras que necesiten tus backends y todo lo demás sigue funcionando.
Cualquier servicio de identificación
La llamada de identificación es un paso intercambiable. Apúntala a Ximilar, a un reconocedor propietario o a un modelo que alojes tú mismo.
Un proceso, junto a la cámara
La detección y las compuertas corren en tu máquina, desde un único paquete instalable, y la única llamada de identificación va directa de ahí a la API.
Dos puntos de entrada, un pipeline
Un comando sin interfaz para montajes y scripts, y una interfaz local en el navegador para cuando quieras verlo trabajar. Ambos aceptan los mismos flags y construyen el mismo pipeline.
Una credencial, guardada en local
Tu clave de Ximilar, leída del entorno de tu propia máquina. Sin cuentas que crear aquí, sin capa intermedia en la que confiar, sin nada que mantener en marcha salvo el propio proceso.
Nada bloquea el bucle
La decodificación JPEG, la detección, HTTP y las escrituras en disco corren fuera del bucle de eventos. Un fotograma lento se descarta, no se encola en un retraso que crece.
Diálogo de ajustes en directo
Umbrales, categoría, juego, código de set y sistema de escritura se pueden retocar desde el navegador en pleno directo, y cada control se genera a partir de una única lista de descriptores, así que la interfaz y la validación no pueden desincronizarse.
Un overlay pensado para directos
Indicador de estado, caja delimitadora y un historial de cada carta que mostraste (una miniatura de cada una y el tiempo que estuvo en el encuadre) que un solo flag guarda en tu cuenta de Ximilar. Y un panel de depuración para cuando quieras ver pensar a las compuertas.
Suite de pruebas sin conexión
Toda la suite corre sin red ni archivos de modelo, con dobles para las sesiones ONNX y los detectores. Haz un fork y aun así sabrás si has roto algo.
Código abierto. Autoalojado. Tu directo, tu stack.
Sin plataforma intermediaria ni licencias por puesto: conecta la API de Ximilar o tu propio sistema de identificación y cardstream lo llama una vez por cada carta distinta, no una vez por fotograma. Da igual si haces breaks en Whatnot, llevas un show al estilo de Fanatics Live o transmites tu propio live commerce: pon cardstream en marcha esta misma noche con el hardware que ya tienes.