cardstream
Vanlige spørsmål

Ofte stilte spørsmål

Spørsmålene som dukker opp oftest: å installere og fjerne den, hva den koster, hva som forlater maskinen din, og hva den kan kjenne igjen. Alt som er lengre, finner du i dokumentasjonen.

Installer og fjern

Installere, oppdatere, avinstallere

Installasjonsskriptet rører nøyaktig to steder på maskinen din, og begge kan du slette selv.

Hva trenger jeg for å kjøre den?

En maskin med Python 3.11 eller nyere, og det er omtrent alt. macOS arm64, Linux amd64 og Windows amd64 dekkes alle av den samme utgivelsen i ren Python, uten krav om GPU. Systemets ffmpeg-program trengs bare for kildene som henter eller lytter (RTSP, RTMP, SRT); et webkamera, en fil eller brukergrensesnittet i nettleseren trenger det ikke.

Hvor legger installasjonsskriptet filene?

To steder. ~/.cardstream er installasjonsmappen, med et virtuelt miljø i venv/ og modellvektene i models/. De to kommandoene, cardstream-web og cardstream-client, er små startskript (shims) som skrives til ~/.local/bin. De starter programmene i det virtuelle miljøet med modellstiene allerede fylt ut, så ethvert flagg du oppgir, går foran. Begge plasseringene kan flyttes med CARDSTREAM_HOME og INSTALL_DIR. Ingenting annet på maskinen blir rørt; skriptet endrer for eksempel aldri skallprofilen din: hvis ~/.local/bin ikke er på PATH, skriver det ut en merknad og overlater endringen til deg.

Hvordan oppdaterer jeg til en ny versjon?

Kjør den samme kommandoen på nytt. Den installerer den gjeldende utgivelsen i det eksisterende virtuelle miljøet og skriver startskriptene på nytt. Modellvekter som allerede ligger i ~/.cardstream/models, får være i fred; de lastes bare ned når de mangler. En oppdatering er derfor en liten nedlasting, ikke enda en kvart gigabyte. Vil du ha en bestemt utgivelse i stedet for den nyeste, setter du CARDSTREAM_VERSION.

# den samme kommandoen; /install.sh videresender til skriptet på main
$ curl -fsSL https://cardstream.ai/install.sh | sh
$ curl -fsSL https://cardstream.ai/install.sh | CARDSTREAM_VERSION=v0.5.2 sh
$ cardstream-web --version

Hvordan avinstallerer jeg den?

To kommandoer. Den første fjerner det virtuelle miljøet og modellvektene, den andre fjerner de to startskriptene. Det er ikke noe annet å rydde opp: ingen bakgrunnstjeneste, ingen oppstartsobjekter, ingen systempakke.

$ rm -rf ~/.cardstream # venv/ + models/
$ rm -f ~/.local/bin/cardstream-web ~/.local/bin/cardstream-client

Hvis du installerte med CARDSTREAM_HOME eller INSTALL_DIR satt, fjerner du de stiene i stedet, og bruker sudo hvis du la startskriptene i en systemmappe. Det du har lagt til for hånd, må du selv fjerne: en PATH-linje i skallprofilen, eksporten av XIMILAR_API_KEY og eventuelle mapper du har oppgitt til --store-images. Appen skriver ikke noe annet i hjemmemappen din. Sjekk at den er borte med command -v cardstream-web i et nytt skall; det gamle husker oppslaget til du kjører hash -r.

Nøkler og kostnad

Hva den koster, og hva den trenger

Ingen plattform i midten: din maskinvare, din nøkkel og en motor som har som jobb å sende kall så sjelden som mulig.

Trenger jeg en API-nøkkel fra Ximilar?

For standardidentifiseringen, ja, og det er den eneste påloggingsinformasjonen hele systemet trenger. Skaff en på ximilar.com, og eksporter den som XIMILAR_API_KEY før du starter. Kobler du heller til din egen gjenkjenner, trenger du det det endepunktet krever, og ingenting fra Ximilar.

$ export XIMILAR_API_KEY=your-key

Hva koster selve cardstream?

Ingenting. Det er ikke noe abonnement, ingen lisens per bruker og ingen plattformavgift: én Python-pakke med en tillatende lisens som du kjører på din egen maskinvare, med modellvekter for deteksjon publisert under Apache-2.0 sammen med utgivelsene. Det du betaler for, er identifiseringskall til det endepunktet du kobler til, og å holde det tallet nede er hele poenget med den lokale motoren: omtrent ett kall per unikt kort du viser, rundt hundre i en time der en naiv pipeline som tar bilde for bilde i 15 fps, ville sendt 54 000. Å lagre et show på Ximilar-kontoen din legger til én fakturert oppstart av en økt per show; å fortsette økten etter en omstart er gratis.

Kan jeg bruke mine egne modeller, eller mitt eget identifiseringssystem?

Begge deler. Kortlokaliseringen og identitetsfilteret rutes etter kjøremiljø: RF-DETR-eksporten i .onnx som følger med, en eksport av RT-DETRv2, eller en transformers-mappe eller hub-ID mens du fortsatt finjusterer. Identifiseringstrinnet bak er bare et endepunkt, så om du peker det mot din egen gjenkjenner, forblir hvert filter, hver struping og hver ventetid foran det uendret. Se kjøremiljøene for modeller og modellsamlingen.

Drift

Maskinvare, strømmer og sikkerhet

Den kjører ved siden av showet, på maskinen du allerede strømmer fra.

Trenger jeg en GPU?

Nei. Modellvektene som følger med, er ONNX-eksporter tilpasset CPU, og alt den lokale motoren gjør (bevegelsesfilteret, strupingen av deteksjonen, embedding-modellen som svarer på «samme kort eller nytt kort?») kjører på prosessoren du allerede har. En GPU er et alternativ for dine egne, mer presise modellvekter, aldri et krav for standardoppsettet.

Fungerer den med Whatnot eller Fanatics Live?

Ja, men ikke ved å koble seg til markedsplassen: den tapper videoen du allerede lager. Det virtuelle kameraet i OBS, en ekstra RTMP- eller SRT-utgang ved siden av den som sender til plattformen, henting med RTSP fra en koder eller bare et eget kamera rettet mot den samme matten. Guiden for livesalg går gjennom alle fire løsningene fra start til slutt.

Hva forlater egentlig maskinen min?

I klientmodus ett JPEG-utsnitt per unikt kort: ikke strømmen, ikke bildene rundt det, ikke resten av matten. Hver beslutning om hvorvidt noe skal sendes, tas lokalt først, så en time med video der du viser hundre kort, blir hundre små forespørsler. Det eneste unntaket slår du på selv: med --ximilar-stream blir også historikken fra showet (en tekstrad per kort pluss utsnittet det ble identifisert fra) lagret i en økt på din egen Ximilar-konto. Det er av som standard, og med --no-ximilar-stream-images lagres bare tekst.

Kan jeg gå gjennom et show etterpå?

Ja, hvis du lagrer det. Start med --ximilar-stream NEW, så går hvert kort i historikken, med pris, tid på strømmen og utsnittet det ble identifisert fra, til en økt på Ximilar-kontoen din mens showet pågår. Åpne Cards Cloud-delen av Ximilar-appen etterpå: verdien av showet, de mest verdifulle produktene og de vanligste settene, hvert kort med bilde; merk det som ble solgt, og rett et feil treff. Startet du på nytt midt i showet? Oppgi økt-ID-en i stedet for NEW, så fortsetter det, selv om økten var lukket. For å lagre i et felles arbeidsområde for teamet bruker du --ximilar-workspace. Detaljene.

$ cardstream-web --price-stats --ximilar-stream NEW

Kan jeg kjøre den på lokalnettet så en annen maskin kan åpne grensesnittet?

Ikke gjør det. Nettgrensesnittet har ingen autentisering og holder på API-nøkkelen din, så det hører hjemme på 127.0.0.1 og ingen andre steder. Containeren binder seg til 0.0.0.0 internt, og derfor publiserer den dokumenterte docker run porten bare på 127.0.0.1. Hvis du virkelig trenger tilgang fra en annen maskin, setter du din egen autentiserte tunnel foran i stedet for å åpne porten.

$ docker run --rm -e XIMILAR_API_KEY -p 127.0.0.1:8001:8001 \
    -v cardstream-models:/models cardstream
Identifisering

Hva den kjenner igjen, og hvor sikker den er

Hvert treff kommer med avstanden, nivået og kortene det kunne ha vært i stedet.

Hvilke kort kan den identifisere?

Fire kategorier, én bryter. Samlekortspill: Pokémon, Magic: The Gathering, Yu-Gi-Oh!, One Piece, Lorcana og rundt tjue til, moderne og vintage singles lest rett fra strømmen. Sportskort fra alle de store idrettene, helt ned til parallel og år. Graderte slabs, lest fra etiketten uten at slaben åpnes. Og tegneserier, etter tittel, nummer og år. Ett flagg velger kategorien, eller så bytter du den i innstillingsdialogen midt i strømmen. Se hele listen.

Hva skjer når den gir feil kort?

Du ser det komme. Hvert treff har den rå avstanden og et nivå (High, Medium eller Low, med grensene på 0.30 og 0.40) pluss opptil fire alternative kort det kunne ha vært, og det riktige står som regel i den korte listen. Sett en terskel for resultatene, så når ingenting under den frem til overlegget i det hele tatt. Hvis et helt show er ett spill eller ett sett, snevrer forhåndsutfyllingen inn søket før det begynner: oppgi spillet, settkoden eller skriftsystemet, så slutter endepunktet å gjette dem.

Åpen kildekode. På din egen maskin. Din strøm, ditt oppsett.

Ingen plattform i midten, ingen lisens per bruker: koble til Ximilars API eller ditt eget identifiseringssystem, så kaller cardstream det én gang per unikt kort i stedet for én gang per bilde. Enten du kjører breaks på Whatnot, holder et show i Fanatics Live-stil eller strømmer fra ditt eget oppsett for livesalg, kan du kjøre cardstream allerede i kveld på maskinvaren du har.