cardstream
Funciones

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.

Reconocimiento

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.

El motor de decisión

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.

Entradas

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ú.

Modelos

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.

Ejecutarlo

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.