Ofte stillede spørgsmål
De spørgsmål, der kommer oftest: installation og fjernelse, hvad det koster, hvad der forlader din computer, og hvad det kan genkende. Alt, der er længere, står i dokumentationen.
Installation, opdatering, afinstallation
Installationsscriptet rører præcis to steder på din computer, og begge kan du bare slette.
Hvad skal jeg bruge for at køre det?
En computer med Python 3.11 eller nyere, og det er stort set det. macOS arm64, Linux amd64 og Windows amd64 dækkes alle af den samme release i ren Python, og der kræves ingen GPU. Systemets ffmpeg-program er kun nødvendigt til pull- og listen-kilderne (RTSP, RTMP, SRT). Et webcam, en fil eller brugerfladen i browseren har ikke brug for det.
Hvor lægger installationsscriptet tingene?
To steder. ~/.cardstream er installationsroden: et virtualenv i venv/ og modelvægtene i models/. De to kommandoer, cardstream-web og cardstream-client, er små shims, der skrives i ~/.local/bin. De starter programmerne i venv’et med modelstierne udfyldt på forhånd, så ethvert flag, du selv angiver, vinder. Begge placeringer kan flyttes med CARDSTREAM_HOME og INSTALL_DIR. Intet andet på computeren bliver rørt. Scriptet redigerer især aldrig din shellprofil: Hvis ~/.local/bin ikke er på din PATH, skriver det en besked og overlader ændringen til dig.
Hvordan opdaterer jeg til en ny version?
Kør den samme kommando igen. Den installerer den aktuelle release i det eksisterende virtualenv og skriver de to shims på ny. Vægte, der allerede ligger i ~/.cardstream/models, bliver ikke rørt (de hentes kun, når de mangler), så en opdatering er et lille download og ikke endnu en kvart gigabyte. Vil du lande på en bestemt release i stedet for den nyeste, sætter du CARDSTREAM_VERSION.
# den samme kommando; /install.sh viderestiller til scriptet på main $ curl -fsSL https://cardstream.ai/install.sh | sh $ curl -fsSL https://cardstream.ai/install.sh | CARDSTREAM_VERSION=v0.5.0 sh $ cardstream-web --version
Hvordan afinstallerer jeg det?
To kommandoer. Den første fjerner virtualenvet og modelvægtene, den anden fjerner de to shims. Der er ikke andet at rydde op: ingen daemon, intet, der starter ved login, ingen systempakke.
$ rm -rf ~/.cardstream # venv/ + models/ $ rm -f ~/.local/bin/cardstream-web ~/.local/bin/cardstream-client
Hvis du installerede med CARDSTREAM_HOME eller INSTALL_DIR sat, fjerner du de stier i stedet og bruger sudo, hvis du lagde de to shims i en systemmappe. Alt, hvad du selv har tilføjet i hånden, skal du også selv fjerne: en PATH-linje i din shellprofil, eksporten af XIMILAR_API_KEY og enhver mappe, du har givet til --store-images. Appen skriver ikke andet i din hjemmemappe. Tjek, at det er væk, med command -v cardstream-web i en ny shell. Den gamle husker opslaget, indtil du kører hash -r.
Hvad det koster, og hvad det kræver
Ingen platform i midten: din hardware, din nøgle og en motor, hvis opgave er at kalde så sjældent som muligt.
Skal jeg have en API-nøgle fra Ximilar?
Ja, hvis du bruger standardidentifikationen, og nøglen er den eneste adgangsoplysning, hele systemet har brug for. Få en på ximilar.com, og eksporter den som XIMILAR_API_KEY, før du starter. Tilslutter du i stedet dit eget genkendelsessystem, skal du bruge det, dét endpoint kræver, og intet fra Ximilar.
$ export XIMILAR_API_KEY=your-key
Hvad koster cardstream i sig selv?
Ingenting. Der er intet abonnement, ingen licens pr. bruger og intet platformsgebyr: én Python-pakke under en permissiv licens, som du kører på din egen hardware, med detektionsvægte udgivet under Apache-2.0 sammen med releaserne. Det, du betaler for, er identifikationskald til det endpoint, du tilslutter, og at holde det tal nede er hele pointen med den lokale motor: cirka ét kald pr. nyt kort, du viser, omkring hundrede på en time, hvor en naiv pipeline, der spørger for hvert billede ved 15 fps, ville affyre 54.000. At gemme et show på din Ximilar-konto lægger én faktureret sessionsstart til pr. show. Det er gratis at fortsætte sessionen efter en genstart.
Kan jeg bruge mine egne modeller eller mit eget identifikationssystem?
Begge dele. Lokaliseringsmodellen og identitetsfilteret vælger backend selv: den medfølgende RF-DETR-eksport i .onnx, en RT-DETRv2-eksport eller en transformers-mappe eller et hub-id, mens du stadig arbejder på en finjustering. Identifikationstrinnet bagved er bare et endpoint, så peger du det mod dit eget genkendelsessystem, er hvert filter, hver drosling og hver cooldown foran det uændret. Se modelbackends og modelkataloget.
Hardware, streams og sikkerhed
Det kører ved siden af dit show på den computer, du allerede streamer fra.
Skal jeg have en GPU?
Nej. De medfølgende vægte er ONNX-eksporter dimensioneret til CPU, og alt, hvad den lokale motor laver (bevægelsesfilteret, droslingen af detektionen, den embedding, der svarer på “samme kort eller nyt kort?”), kører på den processor, du allerede har. En GPU er en mulighed for dine egne vægte med højere nøjagtighed, aldrig et krav til standardopsætningen.
Virker det med Whatnot eller Fanatics Live?
Ja, men ikke ved at koble sig på markedspladsen: Det kobler sig på den video, du allerede producerer. Det virtuelle kamera i OBS, et ekstra RTMP- eller SRT-output ved siden af det, der sender til platformen, et RTSP-pull fra en encoder, eller simpelthen sit eget kamera rettet mod den samme måtte. Guiden til livesalg gennemgår alle fire metoder fra start til slut.
Hvad forlader egentlig min computer?
I klienttilstand ét JPEG-udsnit pr. nyt kort: ikke streamen, ikke billederne omkring det, ikke resten af måtten. Enhver beslutning om, hvorvidt der skal sendes noget, træffes lokalt først, så en times video, hvor du viser hundrede kort, er hundrede små forespørgsler. Den eneste undtagelse tænder du selv for: Med --ximilar-stream gemmes showets historik (en tekstrække pr. kort plus det udsnit, kortet blev identificeret ud fra) også i en session på din egen Ximilar-konto. Slået fra som standard, og med --no-ximilar-stream-images gemmes der kun tekst.
Kan jeg gennemgå et show bagefter?
Ja, hvis du gemmer det. Start med --ximilar-stream NEW, og hvert kort i historikken (med sin pris, sin tid på streamen og det udsnit, det blev identificeret ud fra) sendes til en session på din Ximilar-konto, mens showet kører. Åbn bagefter Cardstream-sektionen i Ximilar-appen: showets værdi, de mest værdifulde produkter og de hyppigste sæt, hvert kort med sit billede. Marker, hvad der blev solgt, og ret et forkert match. Genstartet midt i showet? Angiv sessionens id i stedet for NEW, og den fortsætter, også selvom den var lukket. Vil du gemme i et team-workspace, bruger du --ximilar-workspace. Detaljerne.
$ cardstream-web --price-stats --ximilar-stream NEW Kan jeg køre det på mit lokalnetværk, så en anden computer kan åbne brugerfladen?
Lad være. Webbrugerfladen har ingen adgangskontrol og ligger inde med din API-nøgle, så den hører til på 127.0.0.1 og ingen andre steder. Containeren binder internt til 0.0.0.0, og derfor udgiver den dokumenterede docker run kun porten på 127.0.0.1. Har du virkelig brug for adgang fra en anden maskine, så sæt din egen tunnel med adgangskontrol foran i stedet for at åbne porten.
$ docker run --rm -e XIMILAR_API_KEY -p 127.0.0.1:8001:8001 \ -v cardstream-models:/models cardstream
Hvad det kan genkende, og hvor sikkert det er
Hvert match kommer med sin afstand, sit niveau og de kort, det ellers kunne have været.
Hvilke kort kan det identificere?
Fire kategorier, én omskifter. Samlekortspil: Pokémon, Magic: The Gathering, Yu-Gi-Oh!, One Piece, Lorcana og omkring tyve andre, moderne og vintage enkeltkort læst direkte fra streamen. Sportskort fra alle de store sportsgrene, helt ned til parallel og år. Graderede slabs, læst på labelen uden at cracke dem. Og tegneserier efter titel, nummer og år. Ét flag vælger kategorien, eller indstillingsdialogen skifter den midt i streamen. Se hele listen.
Hvad sker der, når det udpeger det forkerte kort?
Du ser det komme. Hvert match har den rå afstand og et niveau, High / Medium / Low (grænserne ligger ved 0.30 og 0.40), plus op til fire alternative kort, det kunne have været, og det rigtige er som regel på den korte liste. Sæt en resultattærskel, og alt under den når aldrig frem til overlayet. Hvis et helt show er ét spil eller ét sæt, indsnævrer forhåndsvalgene søgningen, før den begynder: Angiv spillet, sætkoden eller skriftsystemet, og endpointet holder op med at gætte dem.
Open source. Selvhostet. Din stream, din stack.
Ingen platform i midten og ingen licens pr. bruger: Tilslut Ximilars API eller dit eget identifikationssystem, så kalder cardstream det én gang pr. nyt kort i stedet for én gang pr. billede. Uanset om du kører breaks på Whatnot, holder et show i stil med Fanatics Live eller streamer fra dit eget liveshopping-setup, kan du køre cardstream i aften på den hardware, du allerede har.