cardstream
Fitur

Analisis kartu untuk streamer. Cepat dan akurat.

cardstream adalah state machine yang membungkus sebuah endpoint identifikasi kartu. Semua yang ada di bawah ini entah membuat identifikasinya lebih baik, atau memastikan identifikasi hanya terjadi ketika memang layak dibayar.

Pengenalan

Identifikasi kartu real-time dari siaran apa pun

Empat endpoint identifikasi di balik satu sakelar: game kartu koleksi, kartu olahraga, slab hasil grading, dan komik.

Seluruh hasil cocok, dalam satu objek datar

Nama, nama lengkap, set, kode set, nomor kartu, seri, tahun, dan subkategori datang sebagai satu objek untuk tiap kartu yang diidentifikasi: siap dibacakan, dicatat, atau dikirim ke perkakasmu sendiri.

Tingkat keyakinan yang bisa ditindaklanjuti

Setiap hasil cocok membawa jarak mentah dan tingkat High / Medium / Low (batas di 0.30 dan 0.40). Setel ambang batas hasil, dan kartu di bawahnya tidak akan pernah sampai ke overlay.

Hasil cocok alternatif

Setiap hasil datang dengan hingga empat kartu lain yang mungkin dimaksud. Kalau hasil teratasnya keliru, kartu yang benar biasanya ada di daftar pendek itu.

Isian awal yang mempersempit pencarian

Beri tahu game-nya, kode set-nya, atau sistem tulisannya, dan endpoint berhenti menebak. Nilainya divalidasi secara lokal: salah ketik gagal di komputermu, bukan diam-diam mengembalikan cetakan yang salah.

Kategori per live

Satu flag, atau dialog pengaturan di tengah siaran: tcg, sport, slab, atau comics. Saat berganti, isian awal yang tidak dikenal kategori baru dibuang, bukan dikirim sebagai nilai yang tidak bisa dipakainya.

Depan, belakang, dan rotasi

Atribut yang sudah diketahui ikut dikirim bersama potongan gambar, sehingga endpoint melewati pengklasifikasi yang tidak diperlukannya: lebih sedikit yang bisa keliru, jawaban lebih cepat.

Mesin keputusan

Analisis live streaming yang cepat dengan AI

Satu state machine, dipakai bersama oleh kedua bentuk deployment. Semua yang ada di sini berjalan di CPU-mu sendiri, sebelum apa pun keluar dari komputer.

Gerbang gerakan

Selisih rata-rata antar-frame menunjukkan apakah adegannya sudah diam. Tidak ada langkah berikutnya yang berjalan selama kartu masih bergerak di dalam frame.

Gerbang identitas

Setiap kartu di frame dibandingkan dengan kartu sebelumnya oleh model AI lewat embedding. Ia menjawab satu pertanyaan: kartu yang sama, atau kartu baru?

Pembatas deteksi tiga tingkat

Deteksi berjalan sering selagi ada yang bergerak, jarang pada kartu yang diam, dan nyaris tidak sama sekali pada alas yang kosong. Tingkat-tingkat itu adalah konfigurasi di tiap sisi, bukan kode.

Cooldown, no-retry, forget-after

Kartu yang gagal dicocokkan tidak dicoba lagi terus-menerus; kartu yang ditahan di frame tidak diidentifikasi ulang; kartu yang sudah cukup lama pergi dianalisis dari awal ketika kembali.

Penjaga panggilan dan watchdog

Satu identifikasi berjalan dalam satu waktu, dengan interval minimum dan timeout yang melepaskan pipeline kalau endpoint menggantung. Panggilan yang lambat tidak pernah menghentikan siaran.

Hasil supercepat

Model AI di balik cardstream berjalan di komputer pribadimu. Sistemnya sangat cepat dan kamu tidak butuh GPU sama sekali.

Input

Sumber dan jenis video yang didukung

Sumbernya bisa ditukar; analisisnya sama persis, mana pun yang kamu pilih.

Kamera dan file

Indeks webcam, file video, gambar diam, atau webcam browser ketika kamu menjalankan antarmuka web. Cocok untuk menguji persiapan sebelum live.

Tarik: RTSP, RTMP, SRT

Arahkan ke kamera IP, encoder, atau restreamer, dan ia menariknya, dengan sambungan ulang ber-backoff terbatas ketika feed-nya putus.

Kirim: OBS langsung masuk

Jalankan sebagai listener dan biarkan OBS mengirim RTMP atau SRT ke sana: satu output tambahan di samping output yang menuju marketplace-mu.

Feed JPEG lewat WebSocket

Untuk perangkat rakitan sendiri: proses apa pun yang bisa mengirim frame JPEG lewat socket adalah sumber yang sah.

Tiga pengatur resolusi

Apa yang ditangkap kamera, apa yang dikirim, dan apa yang dianalisis adalah tiga angka terpisah. Analisis berjalan kecil dan murah; potongan gambar yang dikirim untuk identifikasi dipotong ulang dari frame penuh.

Frame tetap milikmu

Dalam mode sisi klien, tidak ada yang keluar dari komputer selain satu potongan gambar JPEG per kartu berbeda. Bukan siarannya, bukan frame di sekitarnya. Menyimpan live ke akun Ximilar-mu adalah flag yang kamu aktifkan sendiri.

Model

Bobot kami, atau bobotmu

Analisis live streaming dengan model kami yang sudah disiapkan untuk CPU. Butuh akurasi lebih tinggi atau kecepatan ekstrem? Latih modelmu sendiri dan jalankan di GPU!

Segmentasi RF-DETR

Pencari kartu bawaan: ekspor .onnx segmentasi instans hasil finetune yang dijalankan lewat onnxruntime, tanpa perlu torch. Mask-nya memberikan keempat sudut kartu, sehingga potongan gambar berbayar diluruskan dan dipotong rapat di tepi kartu.

Deteksi RF-DETR / RT-DETRv2

Kotak pembatas sebagai alternatif opsional: ONNX untuk kecepatan, atau direktori transformers / id hub selagi kamu masih mengutak-atik hasil finetune.

Bobot sudah termasuk

Pencari kartu RF-DETR dan model embedding dilatih oleh Ximilar dan diterbitkan di bawah Apache-2.0. Installer mengunduhnya, jadi tidak ada langkah pelatihan di antara kamu dan pipeline yang berfungsi.

Backend embedder

Model embedding Torch, ONNX, atau LiteRT/TFLite untuk gerbang kartu-yang-sama: jalankan runtime mana pun yang sudah ada di komputermu.

Impor berat tetap lazy

Torch bukan dependensi inti. Instal hanya extras yang dibutuhkan backend-mu, dan sisanya tetap berjalan.

Layanan identifikasi apa pun

Panggilan identifikasi adalah satu langkah yang bisa ditukar. Arahkan ke Ximilar, ke layanan pengenal komersial, atau ke model yang kamu host sendiri.

Menjalankannya

Satu proses, di sebelah kamera

Deteksi dan gerbang-gerbangnya berjalan di komputermu, dari satu paket yang bisa diinstal, dan satu-satunya panggilan identifikasi keluar langsung dari sana ke API.

Dua titik masuk, satu pipeline

Perintah headless untuk perangkat rakitan dan skrip, serta antarmuka browser lokal ketika kamu ingin melihatnya bekerja. Keduanya menerima flag yang sama dan membangun pipeline yang sama.

Satu kredensial, disimpan lokal

Kunci Ximilar-mu, dibaca dari environment di komputermu sendiri. Tidak ada akun yang perlu dibuat di sini, tidak ada lapisan perantara yang harus dipercaya, tidak ada yang perlu terus dijalankan selain prosesnya sendiri.

Tidak ada yang memblokir loop

Decode JPEG, deteksi, HTTP, dan penulisan ke disk semuanya berjalan di luar event loop. Frame yang lambat dibuang, bukan diantrekan menjadi lag yang terus menumpuk.

Dialog pengaturan live

Ambang batas, kategori, game, kode set, dan sistem tulisan bisa disetel ulang dari browser di tengah siaran. Setiap kontrolnya dihasilkan dari satu daftar deskriptor, sehingga UI dan validasinya tidak mungkin saling menyimpang.

Overlay yang dibuat untuk siaran

Lencana status, kotak pembatas, dan riwayat setiap kartu yang kamu tunjukkan, dengan thumbnail masing-masing dan lamanya berada di frame, yang bisa disimpan ke akun Ximilar-mu dengan satu flag. Ada panel debug kalau kamu ingin melihat gerbang-gerbangnya berpikir.

Rangkaian pengujian offline

Seluruh rangkaian pengujian berjalan tanpa jaringan maupun file model, dengan objek tiruan untuk sesi ONNX dan detektornya. Fork saja, dan kamu tetap bisa tahu apakah ada yang kamu rusak.

Open source. Di-host sendiri. Siaranmu, perangkatmu.

Tanpa platform di tengah, tanpa lisensi per pengguna: hubungkan API Ximilar atau sistem identifikasimu sendiri, dan cardstream memanggilnya satu kali per kartu berbeda, bukan satu kali per frame. Entah kamu melakukan break di Whatnot, mengadakan live ala Fanatics Live, atau menyiarkan jualan live dengan caramu sendiri, jalankan cardstream malam ini di perangkat yang sudah kamu punya.