Pengecaman kad terbaik untuk strim langsung. Dibina untuk break, buka pek dan sesi live.
cardstream memerhati break, sesi buka pek atau sesi live anda dan mengecam setiap kad dagangan sebaik sahaja ia masuk ke dalam bingkai: nama, set dan tahap keyakinan, secara langsung. Analisis strim jualan live anda dengan sistem penjejakan kad. Untuk streamer yang mahu tahu lebih banyak.
Daripada Pokémon hingga Magic: The Gathering
Tukar kategori bagi setiap sesi live dan seluruh enjin akan mengikutinya: pengesanan, penapis dan panggilan pengecaman semuanya menghala ke endpoint yang betul. Setiap padanan dikembalikan dengan nama, set, kod set, nombor kad, siri dan tahun.
Permainan kad dagangan
collectibles/v2/tcg_id Single TCG moden dan vintaj, terus daripada strim. Endpoint ini membaca ilustrasi, bingkai dan teks pada kad, jadi kad dicam daripada gambar yang sama yang sedang ditonton oleh penonton anda. Tidak perlu mencari simbol set atau mengecilkan mata untuk membaca nombor kad.
- Pokémon
- Magic: The Gathering
- Yu-Gi-Oh!
- One Piece
- Lorcana
- Digimon
- Dragon Ball Super
- Flesh and Blood
- Star Wars Unlimited
- Star Wars Destiny
- MetaZoo
- Riftbound
- Weiss Schwarz
- Union Arena
- Force of Will
- Grand Archive
- Vanguard
- Marvel Champions
- Sorcery
- Final Fantasy
- Gundam
- Duel Masters
- Naruto Mythos
- Hololive
- Garbage Pail Kids
Kad sukan sport_id
Kad rookie, parallel, insert dan autograf daripada setiap sukan utama, termasuk besbol, bola keranjang, bola sepak Amerika, bola sepak, hoki dan banyak lagi. Kad yang tepat, set yang tepat, tahun yang tepat.
Slab bergred slab_id
Membaca label pada bekas kad bergred dan mengecam kad di dalam slab PSA, BGS atau CGC tanpa perlu membukanya.
Komik comics_id
Kulit komik dicam dengan cara yang sama seperti kad: judul, nombor keluaran dan tahun, daripada satu bingkai yang sudah pegun.
Sambungkan pengecam proprietari, atau pengecam anda sendiri
Semua yang menentukan sama ada panggilan perlu dibuat berlaku sebelum pengecaman itu sendiri: pengesanan, penapis gerakan dan penapis kad yang sama semuanya berjalan secara setempat dan tidak bergantung pada mana-mana pembekal. Panggilan itu sendiri hanyalah satu langkah yang boleh ditukar ganti: Ximilar secara lalai, perkhidmatan pengecaman kad proprietari, atau model yang anda latih sendiri dan hoskan pada perkakasan anda sendiri.
Ia hanyalah satu antara muka kecil: keratan kad masuk, padanan keluar. Laksanakan IdentifyTarget dan setiap penapis, pendikit dan ambang di hadapannya terus berfungsi sama seperti sebelumnya. Tetap satu keratan bagi setiap kad yang berbeza, tidak kira siapa yang menjawabnya.
# pengecam anda sendiri, enjin yang sama class HouseIdentifier(IdentifyTarget): def identify(self, crop_bgr): return my_service.match(crop_bgr) # satu keratan bagi setiap kad yang berbeza, dengan apa cara sekalipun $ cardstream-web --detector rfdetr
Satu panggilan bagi setiap kad, bukan bagi setiap bingkai
Tujuannya adalah untuk mengehadkan analisis strim kepada panggilan yang benar-benar memberitahu anda sesuatu yang baharu. Alternatif sumber terbuka kepada SaaS pengecaman kad tertutup: tiada platform di tengah, tiada lesen bagi setiap pengguna. Perkakasan anda, kunci API anda, dan sebuah mesin keadaan yang hanya membuat panggilan apabila kad dalam bingkai itu benar-benar baharu.
Saluran pemprosesan naif yang memproses setiap bingkai pada 15 fps membuat 54,000 pengecaman sejam. cardstream membuat satu bagi setiap kad berbeza yang anda tunjukkan, iaitu kira-kira seratus dalam tempoh sejam yang sama.
Sejam yang sama, video yang sama, kad yang sama: 54,000 panggilan berbanding kira-kira 100. Penapis gerakan dan identiti berjalan secara setempat pada perkakasan anda sendiri. Panggilan hanya dibuat apabila kad yang benar-benar baharu sudah pegun dalam bingkai.
Tiada langganan SaaS, tiada harga bagi setiap pengguna, tiada keterikatan. Hoskan sendiri keseluruhan sistem bersama pengecamannya, atau sambungkan ke API Ximilar.
Semua yang diperlukan oleh sesi live kad
Rakan hos yang tidak pernah terlepas satu kad pun, untuk penjual live di platform seperti Whatnot dan Fanatics Live, break kotak, strim kedai kad dan pengkatalogan koleksi. Di mana sahaja ada kamera dan kad.
Dicam sebaik sahaja masuk ke bingkai
Tiada butang imbas. Tiada menunggu. Tunjukkan sahaja kad itu: nama, set dan tahap keyakinan muncul dalam kira-kira setengah saat, secara langsung dalam strim.
Satu panggilan bagi setiap kad
Penapis gerakan dan penapis identiti berasaskan embedding berjalan secara setempat pada CPU anda sendiri. Pegang kad tanpa bergerak: sifar panggilan berulang. Tukar kad: tepat satu panggilan baharu.
Apa-apa sumber strim
Kamera web, fail video, RTSP, RTMP dan SRT, sama ada ditarik atau ditolak terus dari OBS dengan --listen. Suapan JPEG melalui WebSocket untuk set-up buatan sendiri.
Apa-apa sistem pengecaman
Ximilar collectibles/v2 secara lalai, atau halakan enjin yang sama ke pengecam kad proprietari, atau pengecam yang anda latih dan hoskan sendiri.
Gunakan model anda sendiri
Pemberat pencari kad ialah milik kami: model segmentasi RF-DETR yang ditala halus, berlesen Apache-2.0 dan dimuat turun oleh pemasang. Pengesan kotak sempadan (RF-DETR, RT-DETRv2) juga disokong jika anda lebih suka menggunakan eksport anda sendiri.
Sumber terbuka, dihoskan sendiri
Satu pakej Python dengan lesen yang longgar. Baca, fork dan jalankan pada perkakasan anda sendiri. Kunci anda, data anda, infrastruktur anda.
Cukup bijak untuk tahu bila tidak perlu memanggil API
Sebuah mesin keadaan berdiri di antara strim anda dan API. Setiap bingkai melalui DecisionCore, satu mesin keadaan yang berjalan secara setempat, dan tiga penapis setempat menentukan bila satu-satunya langkah API itu benar-benar wajar.
Pengesanan
setempat · tiada APIMencari empat sisi kad dan meluruskan keratan yang bersih. Didikit dalam tiga peringkat oleh penapis gerakan setempat: bergerak, pegun dengan kad, kosong.
Penapis gerakan
setempat · tiada APIPurata beza antara bingkai, yang murah untuk dikira. Hanya apabila adegan sudah pegun selama N bingkai, kad itu berbaloi diteliti. Masih bergerak? Tunggu.
Penapis identiti
setempat · tiada APIPerbandingan embedding menjawab satu soalan: adakah ini kad yang sama seperti tadi? Kad yang sama → hasil dalam cache dihantar semula.
Pengecaman
ximilar · 1 panggilanHanya kad yang benar-benar baharu dan sudah pegun mencetuskan pengecaman Ximilar: secara tak segerak, tanpa cetusan berulang, di luar gelung bingkai. Hasilnya dihantar semula secara langsung.
Anda streamer yang bergerak solo?
Seorang diri, satu kamera, satu malam panjang penuh dengan break. Anda tidak sepatutnya memerlukan satu pasukan jurutera untuk tahu kad apa yang ada di skrin. Sambungkan strim yang sudah anda jalankan dan biarkan cardstream menganalisisnya secara langsung, sama ada anda menjual di platform jualan atau terus melalui saluran anda sendiri.
- Whatnot
- Fanatics Live
- eBay Live
- TikTok Shop
- Twitch
- YouTube Live
- laman anda sendiri
Tiada akses kepada akaun, tiada kunci API platform jualan, tiada bot dalam ruang sembang anda, dan tiada sebarang gabungan dengan mana-mana platform ini. cardstream membaca video anda, itu sahaja.
Anda sudah pun strim dari OBS
Tambah satu lagi output di sebelah output yang menyuap sesi live anda. Pembeli anda melihat betul-betul apa yang mereka lihat sebelum ini; salinan suapan yang sama sampai ke cardstream, dan setiap kad yang diletakkan di atas meja dicam semasa ia lalu. Pendengar di bawah memerlukan binari ffmpeg sistem. Atau langkau output kedua sepenuhnya dan biarkan cardstream membaca kamera maya OBS sebagai kamera web biasa.
$ cardstream-web --listen \ --source rtmp://0.0.0.0:1935/live # halakan sasaran kedua OBS ke sini
Atau kamera yang sudah ada di atas meja
Kamera yang merakam dari atas, kad tangkapan, telefon sebagai kamera web: apa sahaja yang anda gunakan untuk buka pek dan mendedahkan kad. Analisis berjalan pada mesin di sebelah kamera, jadi secara lalai tiada apa yang keluar dari bilik itu kecuali satu keratan bagi setiap kad.
$ cardstream-web --source 0 # kamera web · UI pelayar di localhost
Atau apa sahaja yang mempunyai URL
Pengekod, pensuis, perkhidmatan strim semula, studio kedua di hujung bandar. Tarikan RTSP, RTMP dan SRT, serta suapan JPEG melalui WebSocket apabila set-up anda buatan sendiri.
$ cardstream-web \
--source rtsp://studio/stream1 Overlay langsung
Nama, set dan tahap keyakinan muncul sebaik sahaja kad pegun, sedia untuk dibacakan atau digabungkan semula ke dalam adegan anda.
Setiap kad, direkodkan
Sejarah berterusan bagi semua yang anda tunjukkan: gambar kecil setiap kad dan berapa lama ia berada dalam strim. Simpan ke akaun Ximilar anda dan semak sesi live itu keesokan paginya: apa yang terjual dan berapa nilainya.
Sesuai untuk seorang
Tiada yuran platform, tiada lesen bagi setiap pengguna. Sesi live tiga jam hanyalah segelintir panggilan pengecaman, bukan satu bagi setiap bingkai.
Langkah demi langkah: sambungkan sesi live Whatnot atau Fanatics Live →
Sesi live anda, disimpan dan sedia untuk disemak
cardstream berjalan pada mesin anda dan secara lalai tidak menyimpan apa-apa. Tambah satu bendera dan setiap kad yang anda tunjukkan turut disimpan ke satu sesi dalam akaun Ximilar anda, bersama harganya, tempoh ia di skrin dan keratan yang digunakan untuk mengecamnya. Buka aplikasi Ximilar selepas sesi live dan lihat berapa nilainya.
$ cardstream-web --price-stats \ --ximilar-stream NEW # mencetak ID sesi, menyimpan sepanjang sesi live berjalan
Sesi live dalam angka
Produk yang ditunjukkan, panggilan API berbayar, nilai pasaran dan purata tempoh di skrin bagi setiap sesi, dengan produk paling bernilai dan set yang paling kerap muncul di sebelahnya.
Setiap kad, bersama gambarnya
Setiap baris menyimpan kad, set, nombor, harga dan keratan yang digunakan untuk mengecamnya. Cari dalam senarai mengikut produk atau set, dan tapis sesi anda mengikut status, platform dan tarikh.
Jadikan ia rekod anda
Tandakan yang terjual, tambah nota, betulkan padanan atau harga yang salah, padam padanan palsu. Namakan sesi itu dan lampirkan metadata anda sendiri, seperti nombor lot, kos atau pembeli.
Sambung dari tempat anda berhenti
Terpaksa mula semula di tengah sesi live? Berikan ID sesi menggantikan NEW dan sesi live diteruskan dalam sesi yang sama, walaupun sesi itu sudah ditutup. --ximilar-workspace menyimpannya ke dalam ruang kerja pasukan.
Dimatikan secara lalai: tanpa --ximilar-stream, panggilan pengecaman ialah satu-satunya perkara yang keluar dari mesin anda. Penyimpanan memerlukan perkhidmatan Cards Cloud pada akaun Ximilar anda; hanya permulaan sesi yang dicaj, dan --no-ximilar-stream-images mengehadkannya kepada teks sahaja.
Daripada sifar kepada pengecaman langsung dalam 3 langkah
Pasang
Satu virtualenv, wheel keluaran (dengan checksum yang disahkan), pemberat model dan kedua-dua arahan dalam PATH anda. Gunakan skrip, pasang wheel yang sama dari PyPI dengan pip (pemberat dimuat turun secara berasingan), atau klon repositori dan bina sendiri. Docker dan Windows ada di halaman muat turun.
$ curl -fsSL https://raw.githubusercontent.com/Ximilar-com/cardstream/main/scripts/install.sh | sh # cara pemasangan lain → cardstream.ai/download
$ pip install 'cardstream[client,onnx]' # atau: uv tool install 'cardstream[client,onnx]' # wheel tidak mengandungi pemberat; nyahmampat dua tarball dari cardstream.ai/models # dan halakan bendera kepadanya: $ cardstream-web --segmentor-model segmentation_model/onnx/model.onnx \ --embed-model similarity_model/onnx/model.onnx
$ git clone https://github.com/Ximilar-com/cardstream && cd cardstream $ ./scripts/build-from-source.sh --models $ source .venv/bin/activate
Sambungkan sistem pengecaman
Ximilar collectibles/v2 secara lalai: kunci dari ximilar.com ialah satu-satunya kelayakan yang diperlukan oleh seluruh sistem. Atau halakan langkah yang sama ke pengecam anda sendiri.
$ export XIMILAR_API_KEY=your-key
Halakan kamera ke kad
Buka UI pelayar pada kamera web anda, atau suapkan sesi live anda kepadanya: tarik RTSP, atau biarkan OBS menolak RTMP terus ke dalamnya. Break satu set sepanjang malam? Praisikan set itu dan endpoint berhenti meneka: Pokémon bahasa Inggeris daripada CRI bermaksud tiga perkara yang tidak boleh tersilap lagi. Tetapkan --alphabet setiap kali anda menetapkan --game, kerana praisi permainan mematikan pengesanan sistem tulisan oleh endpoint itu sendiri. Tambah --price-stats dan setiap padanan turut membawa harga pasaran dalam USD: median, julat dan jualan terkini, pada kad dan dalam sejarah. Tambah --ximilar-stream NEW untuk menyimpan sesi live ke akaun Ximilar anda dan menyemaknya kemudian.
$ cardstream-web # → http://127.0.0.1:8001 — tunjukkan sekeping kad # Kad Pokémon bahasa Inggeris, satu set (CRI - Chaos Rising), dengan harga pasaran USD: $ cardstream-web --game Pokemon --set-code CRI --alphabet latin --price-stats
Sumber terbuka. Dihoskan sendiri. Strim anda, sistem anda.
Tiada platform di tengah, tiada lesen bagi setiap pengguna: sambungkan API Ximilar atau sistem pengecaman anda sendiri, dan cardstream memanggilnya sekali bagi setiap kad yang berbeza, bukan sekali bagi setiap bingkai. Sama ada anda buat break di Whatnot, menjalankan sesi live gaya Fanatics Live atau strim jualan live dengan sistem anda sendiri, jalankan cardstream malam ini pada perkakasan yang sudah anda miliki.