cardstream
SSS

Sıkça sorulan sorular

En çok sorulanlar: kurmak ve kaldırmak, maliyeti, makinenden ne çıktığı ve neleri tanıyabildiği. Daha uzun her şey dokümantasyon merkezinde.

Kurulum ve kaldırma

Kurma, güncelleme, kaldırma

Kurulum betiği makinende tam olarak iki yere dokunur; ikisini de dilediğin zaman silebilirsin.

Çalıştırmak için neye ihtiyacım var?

Python 3.11 ya da daha yenisinin kurulu olduğu bir makineye; hemen hemen bu kadar. macOS arm64, Linux amd64 ve Windows amd64, hepsi aynı saf Python sürümüyle karşılanır; GPU gerekmez. Sistemdeki ffmpeg ikili dosyası yalnızca çekme ve dinleme kaynakları (RTSP, RTMP, SRT) için gerekir; web kamerası, dosya ya da tarayıcı arayüzü ona ihtiyaç duymaz.

Kurulum betiği dosyaları nereye koyar?

İki yere. ~/.cardstream kurulum köküdür: venv/ içinde bir sanal ortam, models/ içinde model ağırlıkları. İki komut, yani cardstream-web ve cardstream-client, ~/.local/bin içine yazılan küçük sarmalayıcılardır; venv’deki ikili dosyaları model yolları önceden doldurulmuş olarak çalıştırırlar, dolayısıyla senin verdiğin her bayrak önceliklidir. İki konum da CARDSTREAM_HOME ve INSTALL_DIR ile taşınır. Makinede başka hiçbir şeye dokunulmaz; özellikle betik, kabuk profilini asla düzenlemez: ~/.local/bin senin PATH değişkeninde yoksa bir not yazdırır ve değişikliği sana bırakır.

Yeni bir sürüme nasıl güncellerim?

Aynı tek satırı yeniden çalıştır. Güncel sürümü mevcut sanal ortama kurar ve sarmalayıcıları yeniden yazar. ~/.cardstream/models içinde zaten duran ağırlıklara dokunulmaz (yalnızca eksik olduklarında indirilirler); yani güncelleme çeyrek gigabaytlık yeni bir indirme değil, küçük bir indirmedir. En son sürüm yerine belirli bir sürüme geçmek için CARDSTREAM_VERSION değişkenini ayarla.

# aynı tek satır; /install.sh, main dalındaki betiğe yönlendirir
$ curl -fsSL https://cardstream.ai/install.sh | sh
$ curl -fsSL https://cardstream.ai/install.sh | CARDSTREAM_VERSION=v0.5.0 sh
$ cardstream-web --version

Nasıl kaldırırım?

İki komutla. İlki sanal ortamı ve model ağırlıklarını, ikincisi iki sarmalayıcıyı siler. Temizlenecek başka bir şey yok: arka plan servisi yok, oturum açılış öğesi yok, sistem paketi yok.

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

Kurulumu CARDSTREAM_HOME ya da INSTALL_DIR ayarlıyken yaptıysan onların yerine o yolları sil; sarmalayıcıları bir sistem dizinine yönlendirdiysen sudo kullan. Elle eklediklerini geri almak yine sana kalır: kabuk profilindeki bir PATH satırı, XIMILAR_API_KEY için yazdığın export satırı ve --store-images bayrağına verdiğin klasörler. Uygulama, ev dizininin altına başka hiçbir şey yazmaz. Kaldırıldığını yeni bir kabukta command -v cardstream-web ile denetle; eski kabuk, sen hash -r çalıştırana kadar aramanın sonucunu önbellekte tutar.

Anahtarlar ve maliyet

Maliyeti ne, neye ihtiyaç duyar

Arada platform yok: donanım senin, anahtar senin; motorun işi de olabildiğince seyrek çağrı yapmak.

Ximilar API anahtarına ihtiyacım var mı?

Varsayılan tanıma yolu için evet; üstelik bütün sistemin ihtiyaç duyduğu tek kimlik bilgisi odur. ximilar.com adresinden bir anahtar al ve başlamadan önce XIMILAR_API_KEY ortam değişkeni olarak tanımla. Onun yerine kendi tanıma servisini bağlarsan, o uç nokta ne istiyorsa ona ihtiyacın olur; Ximilar’dan hiçbir şeye değil.

$ export XIMILAR_API_KEY=your-key

cardstream’in kendisi ne kadar tutar?

Hiçbir şey. Abonelik yok, kullanıcı başı lisans yok, platform ücreti yok: kendi donanımında çalıştırdığın, serbest lisanslı tek bir Python paketi; algılama ağırlıkları da sürümlerle birlikte Apache-2.0 lisansıyla yayımlanır. Para ödediğin şey, bağladığın uç noktaya yapılan tanıma çağrılarıdır; yerel motorun bütün amacı da bu sayıyı düşük tutmaktır: gösterdiğin her farklı kart için aşağı yukarı bir çağrı, yani kareleri tek tek gönderen basit bir işlem hattının 15 fps’de 54.000 çağrı yapacağı bir saatte yüz kadar. Bir yayını Ximilar hesabına kaydetmek, yayın başına ücretli bir oturum başlatma ekler; yeniden başlattıktan sonra devam etmek ücretsizdir.

Kendi modellerimi ya da kendi tanıma sistemimi kullanabilir miyim?

İkisini de. Kart konumlayıcısı ve kimlik filtresi arka uca göre yönlendirilir: paketle gelen RF-DETR .onnx dışa aktarımı, bir RT-DETRv2 dışa aktarımı ya da ince ayar üzerinde hâlâ çalışırken bir transformers dizini veya hub kimliği. Arkasındaki tanıma adımı yalnızca bir uç noktadır; onu kendi tanıma servisine yönlendirdiğinde önündeki bütün filtreler, seyreltmeler ve bekleme süreleri değişmeden kalır. Model arka uçlarına ve model kataloğuna bak.

Çalıştırma

Donanım, yayınlar ve güvende kalmak

Yayınının yanında, zaten yayın yaptığın makinede çalışır.

GPU’ya ihtiyacım var mı?

Hayır. Paketle gelen ağırlıklar işlemciye göre boyutlandırılmış ONNX dışa aktarımlarıdır; yerel motorun yaptığı her şey (hareket filtresi, algılama seyreltmesi, “aynı kart mı, yeni kart mı?” sorusunu yanıtlayan embedding) zaten sahip olduğun işlemcide çalışır. GPU, daha yüksek doğruluklu kendi ağırlıkların için bir seçenektir; varsayılanlar için asla bir şart değildir.

Whatnot ya da Fanatics Live ile çalışır mı?

Evet, ama pazar yerine bağlanarak değil: zaten ürettiğin videoyu kaynağından alır. Bir OBS sanal kamerası, platformu besleyen çıkışın yanında ikinci bir RTMP ya da SRT çıkışı, bir encoder’dan RTSP ile çekme ya da düpedüz aynı masaya çevrilmiş kendi kamerası. Canlı satış rehberi dört yolu da baştan sona anlatır.

Makinemden gerçekte ne çıkar?

İstemci tarafı modda, her farklı kart için bir JPEG kırpması: yayın değil, çevresindeki kareler değil, masanın geri kalanı değil. Bir şey gönderilip gönderilmeyeceğine dair her karar önce yerel olarak verilir; yani yüz kart gösterdiğin bir saatlik video, yüz küçük istek demektir. Tek istisnayı açmak senin elinde: --ximilar-stream ile yayının geçmişi (kart başına bir metin satırı ve kartın tanındığı kırpma) kendi Ximilar hesabındaki bir oturuma da kaydedilir. Varsayılan olarak kapalıdır; --no-ximilar-stream-images ise kaydı metinle sınırlar.

Bir yayını sonradan inceleyebilir miyim?

Evet, kaydedersen. --ximilar-stream NEW ile başlat; geçmişte listelenen her kart, fiyatı, yayında kalma süresi ve tanındığı kırpmayla birlikte, yayın sürerken Ximilar hesabındaki bir oturuma gider. Sonrasında Ximilar uygulamasının Cardstream bölümünü aç: yayının değeri, en değerli ürünleri ve öne çıkan setleri, görseliyle birlikte her kart; satılanı işaretle, yanlış bir eşleşmeyi düzelt. Yayının ortasında yeniden mi başlattın? NEW yerine oturum kimliğini ver; oturum kapatılmış olsa bile devam eder. Bir ekip çalışma alanına kaydetmek için --ximilar-workspace kullanılır. Ayrıntılar.

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

Başka bir makine arayüzü açabilsin diye yerel ağımda çalıştırabilir miyim?

Yapma. Web arayüzünde kimlik doğrulama yoktur ve API anahtarını barındırır; bu yüzden yeri 127.0.0.1’dir, başka hiçbir yer değil. Konteyner içeride 0.0.0.0’a bağlanır; belgelerdeki docker run komutunun portu yalnızca 127.0.0.1’e yayımlaması bundandır. Ona gerçekten başka bir makineden ulaşman gerekiyorsa portu açmak yerine önüne kimlik doğrulamalı kendi tünelini koy.

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

Neleri tanır ve ne kadar emin

Her eşleşme uzaklığı, kademesi ve onun yerine olabilecek kartlarla birlikte gelir.

Hangi kartları tanıyabilir?

Dört kategori, tek bir anahtar. Koleksiyon kart oyunları: Pokémon, Magic: The Gathering, Yu-Gi-Oh!, One Piece, Lorcana ve yirmi kadarı daha; yeni ve vintage single kartlar doğrudan yayından okunur. Bütün büyük spor dallarında spor kartları, parallel’ine ve yılına kadar. Derecelendirilmiş slab’ler, kutusu kırılmadan etiketinden okunur. Ve çizgi romanlar; başlığa, sayıya ve yıla göre. Kategoriyi tek bir bayrak seçer ya da ayarlar penceresi yayın sırasında değiştirir. Tam listeye bak.

Yanlış kartı söylerse ne olur?

Bunu önceden görürsün. Her eşleşme ham uzaklığı ve Yüksek / Orta / Düşük kademesini (sınırlar 0.30 ve 0.40’tadır), ayrıca onun yerine olabilecek en fazla dört alternatif kartı taşır; doğrusu çoğu zaman o kısa listededir. Bir sonuç eşiği belirlersen onun altındaki hiçbir şey overlay’e ulaşmaz. Bütün yayın tek bir oyun ya da tek bir setse, ön bilgiler aramayı daha başlamadan daraltır: oyunu, set kodunu ya da yazı sistemini söyle, uç nokta onları tahmin etmeyi bıraksın.

Açık kaynak. Kendi makinende. Yayın da senin, altyapı da.

Arada platform yok, kullanıcı başı lisans yok: Ximilar API’yi ya da kendi tanıma sistemini bağla; cardstream onu her kare için değil, her farklı kart için bir kez çağırsın. İster Whatnot’ta kutu aç, ister Fanatics Live tarzı bir yayın yap, ister kendi canlı ticaret düzeninden yayınla; cardstream’i bu akşam, elindeki donanımda çalıştır.