Dokümantasyon
Her şey senin makinende çalışır: kur, kamerayı çevir ve ne zaman çağrı yapabileceğini ayarla. Yapmaya çalıştığın işe göre gruplandı.
Sıfırdan ekrandaki karta
Tek komut istemciyi, model ağırlıklarını ve sarmalayıcı komutları kurar. Bütün sistemdeki tek kimlik bilgisi Ximilar anahtarındır.
Kurulum betiği
~/.cardstream içinde bir venv oluşturur, sürüm wheel’ini sağlama toplamlarıyla doğrular, model ağırlıklarını indirir ve iki komutu PATH’ine ekler. Diğer yollar (wheel, Docker, kaynak kod) indirme sayfasında.
$ curl -fsSL https://raw.githubusercontent.com/Ximilar-com/cardstream/main/scripts/install.sh | sh Bütün kurulum yolları → Elle kurulum
Deponun bir kopyası ve pip de iş görür. Ek paketler birbirinden bağımsızdır: [client] arayüz ve kaynaklardır, [onnx] ya da [torch] dedektör ve embedding arka uçlarını sağlar.
$ git clone https://github.com/Ximilar-com/cardstream && cd cardstream $ pip install -e '.[client,onnx]'
Ximilar anahtarın
Tanıma, Ximilar collectibles/v2 üzerinden çalışır. Okunan tek ortam değişkeni XIMILAR_API_KEY’dir; geri kalan her şey bir bayraktır.
$ export XIMILAR_API_KEY=your-key
İlk çalıştırma
Tarayıcı arayüzünü web kameranla açar. Bir kart göster; overlay, durum makinesinin düşünüşünü ve geldiği anda eşleşmeyi gösterir.
$ cardstream-web # → http://127.0.0.1:8001
Elindekini doğrula
İki komut da sürümünü yazdırıp çıkar; model dosyası gerekmez, yani kurulum biter bitmez çalışır.
$ cardstream-web --version
cardstream 0.5.0 Arayüzsüz, düzenekler için
Aynı işlem hattı, tarayıcı olmadan: sonuçlar terminale yazılır. cardstream-web ile aynı bayraklar, kameranın yanında tek bir süreç.
$ cardstream-client --source 0 Yayınını ver
Kaynaklar değiştirilebilir, hangisini seçersen seç analiz aynıdır. Her şey bir bayraktır; önemlilerini ayarlar penceresi canlıyken yeniden ayarlar.
Web kameraları ve dosyalar
cardstream-web için varsayılan, tarayıcının web kamerasıdır; bir kamera indeksi, bir video dosyası ya da tek bir görsel her yerde çalışır. Yayından önce denemek için uygundur.
$ cardstream-web # tarayıcının web kamerası $ cardstream-client --source clip.mp4
Bir yayını çek
Bir IP kameraya, bir encoder’a ya da bir yeniden yayın servisine yönlendir: rtsp://, rtmp://, srt:// ve ws:// JPEG akışları; bağlantı koparsa üst sınırı olan, giderek uzayan aralıklarla yeniden bağlanır.
$ cardstream-web --source rtsp://cam/stream1 OBS göndersin
Dinleyici olarak çalıştır ve OBS’e fazladan bir RTMP ya da SRT çıkışı ekle. Sistemdeki ffmpeg ikili dosyası gerekir (brew install ffmpeg).
$ cardstream-web --source rtmp://0.0.0.0:1935/live --listen Ön bilgiler aramayı daraltır
Oyun, set kodu ve yazı sistemi gönderilmeden önce yerel olarak doğrulanır. --game verdiğinde her zaman --alphabet de ver; oyunu ön bilgi olarak girmek, uç noktanın alfabeyi kendisinin algılamasını durdurur.
$ cardstream-web --game "Pokémon" --alphabet japanese --set-code M4
Ayarlar penceresi
Kategori, oyun, set kodu, alfabe ve eşikler yayın sırasında tarayıcıdan yeniden ayarlanabilir: yeniden başlatmak gerekmez, denetimler de süreçle aynı doğrulamayı taşır.
Üç çözünürlük ayarı
Kameranın yakaladığı, gönderilen ve analiz edilen çözünürlükler ayrı sayılardır. Analiz küçük görüntüde çalışır; tanıma kırpması ise tam kareden yeniden kesilir.
$ cardstream-web --camera-width 3840 --width 1280 Yayını kaydet, sonra incele
Varsayılan olarak kapalıdır. Tek bir bayrak, sayfanın oluşturduğu geçmişi (gösterdiğin her kartı, kırpmasıyla birlikte) kendi Ximilar hesabındaki bir oturuma kaydeder; yayın ertesi sabah hâlâ oradadır.
Küçük resimli geçmiş
Tarayıcı arayüzü gösterdiğin her kartı, en yenisi üstte olacak şekilde listeler: tanınan kırpmanın küçük resmi, --price-stats ile fiyatı ve yayında ne kadar kaldığı. Bu liste senin makinende durur.
Bir yayını kaydet
--ximilar-stream NEW bir oturum başlatır ve kimliğini yazdırır. O andan sonra geçmişin her satırı yayın sürerken kaydedilir; yüklemeler arka planda toplu yapılır, ağ hatalarında yeniden denenir ve yayını asla bekletmez. Temiz bir çıkış kalanları yükler ve oturumu kapatır.
$ cardstream-web --game "Pokémon" --alphabet latin \ --price-stats --ximilar-stream NEWYayın kaydetme, bütün ayrıntılarıyla →
Neler yüklenir
Metin olarak satırlar (kart, set, fiyat, yayında kalma süresi, arkasındaki ücretli çağrılar) ve her satırın tanındığı, en fazla 1024 px’lik kırpma: tanıma çağrısının zaten aldığı görsel. --no-ximilar-stream-images kaydı metinle sınırlar. Ximilar hesabında Cardstream hizmeti gerekir.
$ cardstream-web --ximilar-stream NEW --no-ximilar-stream-images Ximilar uygulamasında incele
Her oturum, Ximilar uygulamasının Cardstream bölümüne düşer: neyi ne zaman gösterdiğin, yayının değeri, en değerli ürünleri ve öne çıkan setleri, kırpmasıyla birlikte her kart. Satılanı işaretle, yanlış bir eşleşmeyi düzelt, not ekle.
Ximilar uygulamasını aç →Yeniden başlattıktan sonra devam et
NEW yerine oturum kimliğini ver; yayın aynı oturumda sürer. Temiz bir çıkış oturumu kapatmış olsa bile oturum yeniden açılır. Yalnızca oturum başlatmak ücretlendirilir, yani devam etmek bedavadır.
$ cardstream-web --ximilar-stream <session-id>
Ekip çalışma alanları
Oturum, API anahtarının varsayılan çalışma alanına kaydedilir. Başka birini --ximilar-workspace ile belirt; orada kaydedilmiş bir oturuma devam ederken de aynı kimliği ver.
$ cardstream-web --ximilar-stream NEW \ --ximilar-workspace <workspace-id>
Her farklı kart için tek tanıma çağrısı
Bir tanıma çağrısının gerçekten gerekip gerekmediğine yerel sinyaller karar verir: hareket, algılama, kimlik filtresi. Onu dürüst tutan ayarlar bunlar.
Eşikler
Sonuç eşiği zayıf eşleşmeleri overlay’den uzak tutar; benzerlik eşiği aynı kart mı yeni kart mı, ona karar verir; forget-after ise kart yeterince uzun süre ortada yoksa belleği temizler.
$ cardstream-web --result-threshold 0.35 Önerilen çalıştırma
ONNX embedding filtresiyle RF-DETR segmentasyonu: paketle gelen varsayılanlar. Ağırlıklar yerindeyse yalın bir cardstream-web tam olarak bunu çalıştırır; açıkça yazmak aynı işlem hattını verir.
$ cardstream-web \ --segmentor-model model/segmentation/onnx/model.onnx \ --embed-model model/similarity/onnx/model.onnx
localhost’ta tut
Yerel uygulamada kimlik doğrulama yoktur ve API anahtarını barındırır. --host varsayılan olarak 127.0.0.1’dir; orada bırak ve portu asla yerel ağa açma.
Başlangıçta “Model not found”
Model ağırlıkları ayrı indirilir, deponun parçası değildir. Kurulum betiği ve Docker imajı onları indirir; deponun yalın bir kopyasında model/segmentation/ ve model/similarity/ içine bırakılmaları gerekir. scripts/build-from-source.sh --models bunu senin yerine yapar.
Gösterdiğin oyunu belirt
Tek oyunluk bir yayında uç noktanın her çağrıda oyunu tahmin etmesine gerek yok. Adını ver, arama o oyuna daralsın: daha hızlı yanıtlar, daha az yanlış baskı. Yanında --alphabet de ver, çünkü oyunu ön bilgi olarak girmek uç noktanın yazı sistemini kendisinin algılamasını durdurur.
$ cardstream-web --game "Pokémon" --alphabet japanese
Gerektiğinde ffmpeg
--listen ve --ffmpeg, sistemdeki ffmpeg ikili dosyasını çağırır. Yalın çekmeler pip’ten ibaret bir kurulumla da çalışır; OBS’ten gönderme düzeni ise çalışmaz.
Varsayılanların ötesi
Modelleri değiştir ya da kodu oku: bütün işlem hattı kurulabilir tek bir pakettir.
Kendi ağırlıklarını getir
Algılama ve kimlik filtresi arka uca göre yönlendirilir: model ailesi sınıfı, dosya uzantısı çalışma zamanını seçer. RF-DETR ya da RT-DETRv2, .onnx ya da bir transformers dizini.
Model arka uçları →Model kataloğu
cardstream’in yükleyebildiği, Ximilar’ın eğittiği ve sürümlerle birlikte Apache-2.0 lisansıyla yayımlanan bütün ağırlıklar: her biri ne yapar, hangi hızda çalışır ve lisansı nedir.
Model kataloğu →Kısa yanıtlar
Maliyeti ne, makineden ne çıkar, hangi kartları tanır ve onu yeniden kaldıran iki komut.
SSS’yi oku →README ve sorun kayıtları
README bütün bayrakları kapsar; hatalar ve sorular için doğru yer sorun kayıtlarıdır.
README’yi oku →Sürümler ve dosyalar
Wheel’ler, sağlama toplamları ve kurulum betiği, her sürüm için bir takım; ayrıca Docker ve kaynak koddan derleme.
İndirme sayfası →