cardstream zum Laufen bringen
Ein Befehl unter macOS und Linux; ein Release-Wheel, ein Dockerfile und ein Build aus dem Quellcode, wenn du mehr Kontrolle willst. Dasselbe reine Python-Release deckt macOS arm64, Linux amd64 und Windows amd64 ab.
Mit einem Befehl installieren
Legt ein virtualenv in ~/.cardstream an, prüft das Release-Wheel gegen seine Prüfsummen, lädt die Modellgewichte und legt cardstream-web und cardstream-client in deinen PATH. Nutzt uv, wenn du es hast.
$ curl -fsSL https://raw.githubusercontent.com/Ximilar-com/cardstream/main/scripts/install.sh | sh $ export XIMILAR_API_KEY=your-key $ cardstream-web # → http://127.0.0.1:8001, halte eine Karte hoch
Stellschrauben, falls du sie brauchst
-
CARDSTREAM_VERSION— ein bestimmtes Release-Tag statt des neuesten, zum Beispiel v0.5.0 -
CARDSTREAM_HOME— Installationsverzeichnis mit venv und Modellen (Standard: ~/.cardstream) -
INSTALL_DIR— wohin die Shims cardstream-web / cardstream-client kommen (Standard: ~/.local/bin) -
CARDSTREAM_MODELS_BASE_URL— alternativer Host für die Gewichts-Tarballs der einzelnen Modelle -
CARDSTREAM_MODEL_ARCHIVES— welche Tarballs von dort geladen werden (durch Leerzeichen getrennt) -
CARDSTREAM_EXTRAS— pip-Extras, die installiert werden (Standard: client,onnx) -
CARDSTREAM_TRACKER_URL— die optionale .onnx-Datei des vitTracker (Standard: der OpenCV-Zoo)
Die Installation prüfen
Das Skript prüft das Wheel gegen die SHA256SUMS des Releases, bevor es irgendetwas installiert. Danach zeigt dir ein Flag, was auf deinem Rechner liegt:
$ cardstream-web --version
cardstream 0.5.0 Die Artefakte selbst heruntergeladen? Prüfe sie so, wie es das Skript tut: shasum -a 256 -c SHA256SUMS.
Direkt aus dem Release
Das Paket liegt auf PyPI, und jedes GitHub-Release enthält dasselbe Wheel und sdist neben einer Datei SHA256SUMS. Ein reines Python-Wheel deckt alle Plattformen ab:
$ pip install 'cardstream[client,onnx]' Windows
Das Installationsskript läuft nur unter POSIX. Unter Windows installierst du von PyPI, entpackst die Gewichts-Tarballs der einzelnen Modelle aus dem Modell-Release und gibst sie über die Flags an:
> py -3.11 -m venv cardstream-env > cardstream-env\Scripts\activate > pip install 'cardstream[client,onnx]' > set XIMILAR_API_KEY=your-key > cardstream-web --segmentor-model models\segmentation_model\onnx\model.onnx ^ --embed-model models\similarity_model\onnx\model.onnx
Wähle deinen Weg
| Weg | Am besten, wenn | Erste Prüfung |
|---|---|---|
| Installationsskript | Du willst das schnellste Setup auf localhost: venv, Modellgewichte und PATH-Shims werden für dich erledigt. | cardstream-web --version |
| Docker | Du hast einen sauberen Host, oder ein OBS-Push soll auf einem Rechner nahe am Encoder ankommen. | curl -s http://127.0.0.1:8001/mode |
| Aus dem Quellcode bauen | Du änderst den Code. | pytest -q tests/core/test_engine.py |
Im Container betreiben
Das Image lädt die Modellgewichte beim ersten Start in ein Volume und startet den Web-Client. Baue es aus dem Dockerfile des Repositorys:
$ git clone https://github.com/Ximilar-com/cardstream && cd cardstream $ docker build -t cardstream . $ docker run --rm -e XIMILAR_API_KEY -p 127.0.0.1:8001:8001 \ -v cardstream-models:/models cardstream
Der Container bindet intern an 0.0.0.0. Veröffentliche den Port wie oben nur auf 127.0.0.1. Die App hat keine Authentifizierung und hält deinen Ximilar-API-Schlüssel; mach sie nie in einem LAN oder im Internet erreichbar.
Aus dem Quellcode bauen
Ein Checkout, ein Skript und die Offline-Testsuite als erste Prüfung. --models lädt auch die Gewichte.
$ git clone https://github.com/Ximilar-com/cardstream && cd cardstream $ ./scripts/build-from-source.sh --models $ source .venv/bin/activate $ cardstream-web --version
Nächste Schritte
Installieren und starten →
Dein Schlüssel, dein erster Start und was du prüfen solltest.
Gib ihm deine Show →
Webcams, RTSP-Pulls und OBS, das direkt hineinsendet.
Sicher betreiben →
Schwellenwerte, der empfohlene Start und warum es auf localhost bleibt.
Aktualisieren oder deinstallieren →
Wohin das Skript die Dinge legt, und die zwei Befehle, die es rückgängig machen.