cardstream
Soalan lazim

Soalan lazim

Soalan yang paling kerap ditanya: memasang dan membuangnya, berapa kosnya, apa yang keluar dari mesin anda, dan apa yang boleh dicamnya. Semua yang lebih panjang ada di hab dokumentasi.

Pasang & buang

Memasang, mengemas kini, menyahpasang

Skrip pemasangan hanya menyentuh dua tempat pada mesin anda, dan kedua-duanya boleh anda padam.

Apa yang saya perlukan untuk menjalankannya?

Mesin dengan Python 3.11 atau lebih baharu, dan itu hampir semuanya. macOS arm64, Linux amd64 dan Windows amd64 semuanya disokong oleh keluaran Python tulen yang sama, tanpa memerlukan GPU. Binari ffmpeg sistem hanya diperlukan untuk sumber tarik dan dengar (RTSP, RTMP, SRT); kamera web, fail atau UI pelayar tidak memerlukannya.

Di mana skrip pemasangan meletakkan fail?

Di dua tempat. ~/.cardstream ialah direktori akar pemasangan: virtualenv dalam venv/ dan pemberat model dalam models/. Dua arahan, cardstream-web dan cardstream-client, ialah shim kecil yang ditulis ke dalam ~/.local/bin; shim ini menjalankan binari venv dengan laluan model yang sudah diisi, jadi apa-apa bendera yang anda berikan akan diutamakan. Kedua-dua lokasi boleh dialihkan dengan CARDSTREAM_HOME dan INSTALL_DIR. Tiada apa-apa lagi pada mesin yang disentuh. Khususnya, skrip ini tidak pernah menyunting profil shell anda: jika ~/.local/bin tiada dalam PATH anda, ia mencetak nota dan menyerahkan perubahan itu kepada anda.

Bagaimanakah cara mengemas kini kepada versi baharu?

Jalankan semula arahan satu baris yang sama. Ia memasang keluaran semasa ke dalam virtualenv sedia ada dan menulis semula shim. Pemberat yang sudah ada dalam ~/.cardstream/models tidak diusik (ia hanya dimuat turun jika tiada), jadi kemas kini hanyalah muat turun kecil, bukan satu lagi suku gigabait. Untuk memasang keluaran tertentu dan bukan yang terkini, tetapkan CARDSTREAM_VERSION.

# arahan satu baris yang sama; /install.sh mengubah hala ke skrip pada 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

Bagaimanakah cara menyahpasangnya?

Dua arahan. Yang pertama membuang virtualenv dan pemberat model, yang kedua membuang dua shim itu. Tiada apa-apa lagi yang perlu dibersihkan: tiada daemon, tiada item log masuk, tiada pakej sistem.

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

Jika anda memasang dengan CARDSTREAM_HOME atau INSTALL_DIR ditetapkan, buang laluan tersebut sebaliknya, dan gunakan sudo jika anda meletakkan shim dalam direktori sistem. Apa-apa yang anda tambah sendiri masih perlu anda buang sendiri: baris PATH dalam profil shell anda, eksport XIMILAR_API_KEY, dan mana-mana folder yang anda berikan kepada --store-images. Aplikasi ini tidak menulis apa-apa lagi di bawah direktori rumah anda. Pastikan ia sudah hilang dengan command -v cardstream-web dalam shell baharu; shell lama menyimpan carian itu dalam cache sehingga anda menjalankan hash -r.

Kunci & kos

Berapa kosnya dan apa yang diperlukan

Tiada platform di tengah: perkakasan anda, kunci anda, dan sebuah enjin yang tugasnya membuat panggilan sejarang yang mungkin.

Adakah saya memerlukan kunci API Ximilar?

Untuk pengecaman lalai, ya, dan itulah satu-satunya kelayakan yang diperlukan oleh seluruh sistem. Dapatkannya di ximilar.com dan eksportnya sebagai XIMILAR_API_KEY sebelum anda bermula. Jika anda menyambungkan pengecam anda sendiri, anda hanya memerlukan apa yang diperlukan oleh endpoint itu dan tiada apa-apa daripada Ximilar.

$ export XIMILAR_API_KEY=your-key

Berapakah kos cardstream itu sendiri?

Percuma. Tiada langganan, tiada lesen bagi setiap pengguna dan tiada yuran platform: satu pakej Python berlesen longgar yang anda jalankan pada perkakasan anda sendiri, dengan pemberat pengesanan yang diterbitkan di bawah Apache-2.0 bersama setiap keluaran. Apa yang anda bayar ialah panggilan pengecaman kepada mana-mana endpoint yang anda sambungkan, dan mengurangkan jumlah itu ialah tujuan utama enjin setempat: kira-kira satu panggilan bagi setiap kad berbeza yang anda tunjukkan, sekitar seratus dalam sejam, sedangkan saluran pemprosesan naif yang memproses setiap bingkai pada 15 fps akan membuat 54,000. Menyimpan sesi live ke akaun Ximilar anda menambah satu permulaan sesi yang dicaj bagi setiap sesi live; menyambungnya semula selepas mula semula adalah percuma.

Bolehkah saya menggunakan model saya sendiri, atau sistem pengecaman saya sendiri?

Kedua-duanya. Pencari kad dan penapis identiti dihalakan mengikut backend: eksport RF-DETR .onnx yang disertakan, eksport RT-DETRv2, atau direktori transformers atau ID hub semasa anda masih menambah baik model yang ditala halus. Langkah pengecaman di belakangnya hanyalah satu endpoint, jadi menghalakannya ke pengecam anda sendiri tidak mengubah setiap penapis, pendikit dan tempoh bertenang di hadapannya. Lihat backend model dan zoo model.

Menjalankannya

Perkakasan, strim dan kekal selamat

Ia berjalan di sebelah sesi live anda, pada mesin yang sudah anda gunakan untuk strim.

Adakah saya memerlukan GPU?

Tidak. Pemberat yang disertakan ialah eksport ONNX yang bersaiz untuk CPU, dan semua yang dilakukan oleh enjin setempat (penapis gerakan, pendikit pengesanan, embedding yang menjawab “kad yang sama atau kad baharu?”) berjalan pada pemproses yang sudah anda miliki. GPU ialah pilihan untuk pemberat anda sendiri yang lebih tepat, bukan keperluan bagi tetapan lalai.

Adakah ia berfungsi dengan Whatnot atau Fanatics Live?

Ya, tetapi bukan dengan menyambung ke platform jualan itu. Ia mengambil video yang sudah anda hasilkan: kamera maya OBS, output RTMP atau SRT kedua di sebelah output yang menyuap platform, tarikan RTSP daripada pengekod, atau hanya kameranya sendiri yang dihalakan ke tikar yang sama. Panduan jualan secara live menerangkan keempat-empat cara itu dari awal hingga akhir.

Apa sebenarnya yang keluar dari mesin saya?

Dalam mod sisi klien, satu keratan JPEG bagi setiap kad yang berbeza. Bukan strim, bukan bingkai di sekelilingnya, bukan bahagian lain tikar. Setiap keputusan tentang sama ada hendak menghantar apa-apa dibuat secara setempat terlebih dahulu, jadi video sejam yang menunjukkan seratus kad bermaksud seratus permintaan kecil. Satu-satunya pengecualian perlu anda hidupkan sendiri: dengan --ximilar-stream, sejarah sesi live (satu baris teks bagi setiap kad serta keratan yang digunakan untuk mengecamnya) turut disimpan ke satu sesi dalam akaun Ximilar anda sendiri. Dimatikan secara lalai, dan --no-ximilar-stream-images mengehadkannya kepada teks.

Bolehkah saya menyemak sesi live selepas itu?

Ya, jika anda menyimpannya. Mulakan dengan --ximilar-stream NEW dan setiap kad yang disenaraikan dalam sejarah (bersama harganya, tempoh dalam strim dan keratan yang digunakan untuk mengecamnya) dihantar ke satu sesi dalam akaun Ximilar anda sepanjang sesi live berjalan. Selepas itu, buka bahagian Cards Cloud dalam aplikasi Ximilar: nilai sesi live, produk paling bernilai dan set teratas, setiap kad bersama gambarnya; tandakan yang terjual dan betulkan padanan yang salah. Terpaksa mula semula di tengah sesi live? Berikan ID sesi menggantikan NEW dan ia diteruskan, walaupun sesi itu sudah ditutup. Untuk menyimpan ke dalam ruang kerja pasukan, gunakan --ximilar-workspace. Butiran lanjut.

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

Bolehkah saya menjalankannya pada LAN supaya mesin lain boleh membuka UI?

Jangan. UI web tidak memerlukan pengesahan dan menyimpan kunci API anda, jadi tempatnya ialah 127.0.0.1 dan tidak di tempat lain. Bekas ini mengikat 0.0.0.0 secara dalaman, dan sebab itulah docker run yang didokumenkan menerbitkan port itu kepada 127.0.0.1 sahaja. Jika anda benar-benar memerlukannya dari mesin lain, letakkan terowong anda sendiri yang memerlukan pengesahan di hadapannya dan bukannya membuka port itu.

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

Apa yang dicamnya, dan sejauh mana ia pasti

Setiap padanan tiba bersama jaraknya, peringkatnya dan kad lain yang mungkin menjadi jawapannya.

Kad apa yang boleh dicamnya?

Empat kategori, satu suis. Permainan kad dagangan: Pokémon, Magic: The Gathering, Yu-Gi-Oh!, One Piece, Lorcana dan kira-kira dua puluh lagi, single moden dan vintaj yang dibaca terus daripada strim. Kad sukan daripada setiap sukan utama, sehingga ke parallel dan tahunnya. Slab bergred, dibaca daripada label tanpa membuka bekasnya. Dan komik, mengikut judul, nombor keluaran dan tahun. Satu bendera memilih kategori, atau dialog tetapan menukarnya di tengah strim. Lihat senarai penuh.

Apa yang berlaku apabila ia mengecam kad yang salah?

Anda boleh menjangkanya. Setiap padanan membawa jarak mentah dan peringkat High / Medium / Low (titik potong pada 0.30 dan 0.40), serta sehingga empat kad alternatif yang mungkin menjadi jawapannya, dan kad yang betul biasanya ada dalam senarai pendek itu. Tetapkan ambang hasil dan apa-apa di bawahnya tidak akan sampai ke overlay sama sekali. Jika seluruh sesi live hanya untuk satu permainan atau satu set, praisi menyempitkan carian sebelum ia bermula: beritahu permainan, kod set atau sistem tulisan dan endpoint berhenti menekanya.

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.