cardstream
Funkcje

Analiza kart dla streamerów. Szybka i dokładna.

cardstream to maszyna stanów zbudowana wokół endpointu identyfikacji kart. Wszystko poniżej albo poprawia identyfikację, albo pilnuje, żeby dochodziło do niej tylko wtedy, gdy naprawdę warto za nią zapłacić.

Rozpoznawanie

Identyfikacja kart w czasie rzeczywistym z dowolnego streamu

Cztery endpointy identyfikacji za jednym przełącznikiem: kolekcjonerskie gry karciane, karty sportowe, ocenione karty w slabach i komiksy.

Całe dopasowanie w jednym obiekcie

Nazwa, pełna nazwa, set, kod setu, numer karty, seria, rok i podkategoria przychodzą jako jeden płaski obiekt na każdą zidentyfikowaną kartę: gotowy do odczytania na głos, zapisania albo przekazania do własnych narzędzi.

Pewność, na której można polegać

Każde dopasowanie niesie surową odległość i poziom High / Medium / Low (granice przy 0.30 i 0.40). Ustaw próg wyniku, a karty poniżej niego nigdy nie trafią na nakładkę.

Alternatywne dopasowania

Do każdego wyniku dołączone są maksymalnie cztery inne karty, które też wchodziły w grę. Jeśli pierwsze dopasowanie jest błędne, właściwe zwykle jest na tej krótkiej liście.

Wartości z góry, które zawężają wyszukiwanie

Podaj grę, kod setu albo system pisma, a endpoint przestanie je zgadywać. Wartości są sprawdzane lokalnie, więc literówka kończy się błędem na Twoim komputerze, a nie po cichu zwróconą złą wersją karty.

Kategoria dla każdej transmisji

Jedna flaga albo okno ustawień w trakcie streamu: tcg, sport, slab lub comics. Przełączenie odrzuca wartości podane z góry, których nowa kategoria nie zna, zamiast wysyłać jej coś, czego nie potrafi użyć.

Przód, tył i obrót

Znane atrybuty wychodzą razem z wycinkiem, więc endpoint pomija klasyfikatory, których nie potrzebuje: mniej okazji do pomyłki, szybsze odpowiedzi.

Silnik decyzyjny

Szybka analiza streamów na żywo z AI

Jedna maszyna stanów, wspólna dla obu wariantów wdrożenia. Wszystko tutaj działa na Twoim procesorze, zanim cokolwiek opuści komputer.

Bramka ruchu

Średnia różnica między klatkami mówi, czy obraz się uspokoił. Żaden dalszy krok się nie uruchamia, dopóki karta wciąż przesuwa się przez kadr.

Bramka tożsamości

Każdą kartę w kadrze model AI porównuje z poprzednią za pomocą embeddingu. Odpowiada na jedno pytanie: ta sama karta czy nowa?

Trzy poziomy częstotliwości detekcji

Detekcja działa często, gdy coś się rusza, rzadko przy nieruchomej karcie i prawie wcale nad pustą matą. Poziomy ustawia się w konfiguracji każdej ze stron wdrożenia, a nie w kodzie.

Przerwa ochronna, brak ponowień, zapominanie

Dla karty, której nie udało się dopasować, zapytanie nie jest ponawiane w kółko. Karta trzymana w kadrze nie jest identyfikowana ponownie. Karta, której nie było wystarczająco długo, po powrocie jest analizowana od nowa.

Strażnik zapytań i watchdog

W danej chwili trwa tylko jedna identyfikacja, z minimalnym odstępem i limitem czasu, który odblokowuje przetwarzanie, gdy endpoint się zawiesi. Wolne zapytanie nigdy nie zatrzymuje streamu.

Błyskawiczne wyniki

Modele AI, z których korzysta cardstream, działają na Twoim własnym komputerze. System jest bardzo szybki i nie wymaga żadnego GPU.

Wejścia

Obsługiwane źródła i rodzaje wideo

Źródła są wymienne, a analiza wygląda tak samo bez względu na to, które wybierzesz.

Kamery i pliki

Indeks kamery internetowej, plik wideo, pojedynczy obraz albo kamera w przeglądarce, gdy uruchamiasz interfejs webowy. Dobre do sprawdzenia setupu przed transmisją.

Pobieranie: RTSP, RTMP, SRT

Skieruj go na kamerę IP, enkoder albo restreamer, a będzie pobierać stream i łączyć się ponownie w rosnących, ale ograniczonych odstępach, gdy sygnał zniknie.

Wysyłanie: prosto z OBS

Uruchom go w trybie nasłuchu i niech OBS wysyła do niego RTMP lub SRT: jedno dodatkowe wyjście obok tego, które zasila Twoją platformę sprzedażową.

Klatki JPEG przez WebSocket

Dla setupów własnej roboty: każdy proces, który potrafi wysyłać klatki JPEG przez gniazdo, jest poprawnym źródłem.

Trzy ustawienia rozdzielczości

To, co rejestruje kamera, to, co jest wysyłane, i to, co jest analizowane, to osobne liczby. Analiza działa na małym obrazie i jest tania, a wycinek wysyłany do identyfikacji jest wycinany na nowo z pełnej klatki.

Klatki zostają u Ciebie

W trybie klienckim komputer opuszcza wyłącznie jeden wycinek JPEG na każdą nową kartę: nie stream, nie sąsiednie klatki. Zapisywanie transmisji na koncie Ximilar to flaga, którą włączasz świadomie.

Modele

Nasze wagi albo Twoje

Analizuj streamy na żywo naszym modelem przygotowanym pod CPU. Potrzebujesz większej dokładności albo ekstremalnej szybkości? Wytrenuj własny i uruchom go na GPU!

Segmentacja RF-DETR

Domyślny lokalizator: dostrojony model segmentacji instancji wyeksportowany do .onnx, uruchamiany przez onnxruntime, bez biblioteki torch. Maska daje cztery rogi karty, więc wycinek, za którego wysłanie płacisz, jest wyprostowany i przycięty równo z krawędzią karty.

Detekcja RF-DETR / RT-DETRv2

Prostokąty ograniczające jako opcjonalna alternatywa: ONNX dla szybkości albo katalog transformers lub identyfikator z huba, dopóki jeszcze pracujesz nad dostrajaniem.

Wagi w zestawie

Lokalizator RF-DETR i model embeddingów są wytrenowane przez Ximilar i publikowane na licencji Apache-2.0. Instalator je pobiera, więc między Tobą a działającym systemem nie ma żadnego etapu trenowania.

Backendy modelu embeddingów

Modele embeddingów w Torch, ONNX albo LiteRT/TFLite dla bramki tożsamości: użyj tego środowiska uruchomieniowego, które już masz na komputerze.

Ciężkie importy są leniwe

Torch nie jest zależnością rdzenia. Zainstaluj tylko te dodatki (extras), których potrzebują Twoje backendy, a cała reszta i tak działa.

Dowolna usługa identyfikacji

Zapytanie o identyfikację to jeden wymienny krok. Skieruj je do Ximilar, do komercyjnego systemu rozpoznawania albo do modelu, który hostujesz samodzielnie.

Uruchamianie

Jeden proces, obok kamery

Detekcja i bramki działają na Twoim komputerze, z jednego instalowalnego pakietu, a to jedno zapytanie o identyfikację idzie z niego prosto do API.

Dwa punkty wejścia, jeden potok przetwarzania

Polecenie bez interfejsu dla setupów i skryptów oraz lokalny interfejs w przeglądarce, gdy chcesz popatrzeć, jak to działa. Oba przyjmują te same flagi i budują ten sam potok.

Jeden klucz, trzymany lokalnie

Twój klucz Ximilar, odczytywany ze środowiska na Twoim komputerze. Żadnego konta do założenia tutaj, żadnej warstwy pośredniej, której trzeba zaufać, i nic do utrzymywania przy życiu poza samym procesem.

Nic nie blokuje pętli

Dekodowanie JPEG, detekcja, HTTP i zapisy na dysk działają poza pętlą zdarzeń. Wolna klatka jest pomijana, a nie odkładana do kolejki z narastającym opóźnieniem.

Okno ustawień na żywo

Progi, kategorię, grę, kod setu i system pisma można zmieniać z przeglądarki w trakcie streamu, a każda kontrolka powstaje z jednej listy deskryptorów, więc interfejs i walidacja nie mogą się rozjechać.

Nakładka stworzona dla streamów

Znacznik stanu, prostokąt wokół karty i historia wszystkich pokazanych kart (miniatura każdej i czas, jaki spędziła w kadrze), którą jedna flaga zapisuje na Twoim koncie Ximilar. Do tego panel debugowania, gdy chcesz zobaczyć, jak bramki podejmują decyzje.

Zestaw testów offline

Cały zestaw działa bez sieci i bez plików modeli: sesje ONNX i detektory zastępują atrapy. Sforkuj repozytorium, a i tak sprawdzisz, czy coś się zepsuło.

Open source. Na własnym sprzęcie. Twój stream, Twoje zasady.

Żadnej platformy pośrodku, żadnych licencji na stanowisko: podłącz API Ximilar albo własny system identyfikacji, a cardstream zapyta raz na każdą nową kartę zamiast raz na klatkę. Robisz breaki na Whatnot, prowadzisz transmisję w stylu Fanatics Live albo streamujesz z własnego setupu do live commerce? Uruchom cardstream jeszcze dziś wieczorem, na sprzęcie, który już masz.