cardstream
FAQ

คำถามที่พบบ่อย

คำถามที่ถูกถามบ่อยที่สุด: การติดตั้งและลบ ค่าใช้จ่าย อะไรออกจากเครื่องของคุณ และมันระบุอะไรได้ ทุกอย่างที่ยาวกว่านี้อยู่ในศูนย์เอกสาร

ติดตั้งและลบ

ติดตั้ง อัปเดต ถอนการติดตั้ง

สคริปต์ติดตั้งแตะแค่สองตำแหน่งบนเครื่องของคุณ และทั้งสองที่คุณลบได้ตามใจ

ต้องมีอะไรบ้างถึงจะรันได้?

เครื่องที่มี Python 3.11 ขึ้นไป แค่นั้นเกือบจะพอแล้ว macOS arm64, Linux amd64 และ Windows amd64 ครอบคลุมด้วยรีลีส Python ล้วนตัวเดียวกัน ไม่ต้องมี GPU ไบนารี ffmpeg ของระบบจำเป็นเฉพาะกับแหล่งสัญญาณแบบดึงและแบบรอรับ (RTSP, RTMP, SRT) เท่านั้น เว็บแคม ไฟล์ หรือ UI ในเบราว์เซอร์ไม่ต้องใช้

สคริปต์ติดตั้งวางไฟล์ไว้ที่ไหน?

สองที่ ~/.cardstream คือรูทของการติดตั้ง มี virtualenv ใน venv/ และน้ำหนักโมเดลใน models/ ส่วนคำสั่งทั้งสอง cardstream-web และ cardstream-client เป็นสคริปต์เรียกใช้เล็กๆ ที่เขียนลง ~/.local/bin มันจะ exec ไบนารีใน venv พร้อมพาธโมเดลที่ใส่ไว้ให้แล้ว ดังนั้นแฟล็กใดที่คุณส่งไปจะมีผลเหนือกว่าเสมอ ทั้งสองตำแหน่งย้ายได้ด้วย CARDSTREAM_HOME และ INSTALL_DIR ที่อื่นบนเครื่องไม่ถูกแตะเลย โดยเฉพาะสคริปต์จะไม่แก้ shell profile ของคุณเด็ดขาด: ถ้า ~/.local/bin ไม่อยู่ใน PATH มันจะพิมพ์ข้อความแจ้ง แล้วปล่อยให้คุณเปลี่ยนเอง

อัปเดตเป็นเวอร์ชันใหม่ยังไง?

รันคำสั่งบรรทัดเดียวกันอีกครั้ง มันจะติดตั้งรีลีสปัจจุบันลง virtualenv ที่มีอยู่ และเขียนสคริปต์เรียกใช้ใหม่ น้ำหนักโมเดลที่อยู่ใน ~/.cardstream/models แล้วจะไม่ถูกแตะ (ดึงมาเฉพาะตอนที่หายไปเท่านั้น) การอัปเดตจึงเป็นการดาวน์โหลดเล็กๆ ไม่ใช่อีกหนึ่งในสี่กิกะไบต์ ถ้าต้องการรีลีสเฉพาะเจาะจงแทนเวอร์ชันล่าสุด ให้ตั้ง CARDSTREAM_VERSION

# บรรทัดเดียวกัน; /install.sh รีไดเรกต์ไปที่สคริปต์บนสาขา main
$ curl -fsSL https://cardstream.ai/install.sh | sh
$ curl -fsSL https://cardstream.ai/install.sh | CARDSTREAM_VERSION=v0.5.0 sh
$ cardstream-web --version

ถอนการติดตั้งยังไง?

สองคำสั่ง คำสั่งแรกลบ virtualenv และน้ำหนักโมเดล คำสั่งที่สองลบสคริปต์เรียกใช้ทั้งสอง ไม่มีอะไรต้องเก็บกวาดอีก ไม่มี daemon ไม่มีรายการเริ่มต้นตอนล็อกอิน ไม่มีแพ็กเกจระบบ

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

ถ้าคุณติดตั้งโดยตั้ง CARDSTREAM_HOME หรือ INSTALL_DIR ไว้ ให้ลบพาธเหล่านั้นแทน และใช้ sudo หากคุณวางสคริปต์เรียกใช้ไว้ในไดเรกทอรีของระบบ สิ่งที่คุณเพิ่มเองด้วยมือยังคงต้องย้อนกลับเอง: บรรทัด PATH ใน shell profile คำสั่ง export XIMILAR_API_KEY และโฟลเดอร์ใดๆ ที่คุณส่งให้ --store-images แอปไม่เขียนอะไรอื่นไว้ใต้โฮมไดเรกทอรีของคุณ ตรวจสอบว่าหายไปแล้วด้วย command -v cardstream-web ใน shell ใหม่ เพราะ shell เก่าจะแคชผลค้นหาไว้จนกว่าคุณจะรัน hash -r

คีย์และค่าใช้จ่าย

ราคาเท่าไหร่ และต้องใช้อะไร

ไม่มีแพลตฟอร์มคั่นกลาง: ฮาร์ดแวร์ของคุณ คีย์ของคุณ และเอนจินที่มีหน้าที่เรียกออกไปให้น้อยที่สุดเท่าที่จะทำได้

ต้องมีคีย์ Ximilar API ไหม?

สำหรับเส้นทางระบุการ์ดแบบเริ่มต้น ต้องมี และมันคือข้อมูลรับรองเดียวที่ทั้งระบบต้องการ รับได้ที่ ximilar.com แล้ว export เป็น XIMILAR_API_KEY ก่อนเริ่ม ถ้าคุณเชื่อมต่อระบบรู้จำของตัวเองแทน คุณต้องการแค่สิ่งที่ endpoint นั้นต้องการ และไม่ต้องใช้อะไรจาก Ximilar เลย

$ export XIMILAR_API_KEY=your-key

ตัว cardstream เองราคาเท่าไหร่?

ฟรี ไม่มีค่าสมาชิก ไม่มีไลเซนส์ต่อที่นั่ง ไม่มีค่าธรรมเนียมแพลตฟอร์ม เป็นแพ็กเกจ Python ไลเซนส์เปิดกว้างหนึ่งตัวที่คุณรันบนฮาร์ดแวร์ของตัวเอง พร้อมน้ำหนักโมเดลตรวจจับที่เผยแพร่ภายใต้ Apache-2.0 คู่กับรีลีส สิ่งที่คุณจ่ายคือการเรียกระบุการ์ดไปยัง endpoint ที่คุณเชื่อมต่อ และการกดตัวเลขนั้นให้ต่ำคือเป้าหมายทั้งหมดของเอนจินในเครื่อง: ราวหนึ่งครั้งต่อการ์ดที่ต่างกันแต่ละใบที่คุณโชว์ ประมาณหนึ่งร้อยครั้งในหนึ่งชั่วโมง ที่ไปป์ไลน์แบบทีละเฟรมที่ 15 fps จะยิงถึง 54,000 ครั้ง การบันทึกรายการลงบัญชี Ximilar ของคุณจะเพิ่มการเริ่มเซสชันที่ถูกคิดเงินหนึ่งครั้งต่อรายการ ส่วนการทำต่อหลังรีสตาร์ตไม่มีค่าใช้จ่าย

ใช้โมเดลของฉันเอง หรือระบบระบุการ์ดของฉันเองได้ไหม?

ได้ทั้งคู่ ตัวระบุตำแหน่งการ์ดและเกตระบุตัวตนเลือกแบ็กเอนด์ตามเส้นทาง: ไฟล์ .onnx ของ RF-DETR ที่มาพร้อมแพ็กเกจ ไฟล์ของ RT-DETRv2 หรือไดเรกทอรี transformers หรือ hub id ขณะที่คุณยังไฟน์จูนอยู่ ขั้นตอนระบุการ์ดข้างหลังนั้นก็แค่ endpoint ดังนั้นการชี้ไปที่ระบบรู้จำของคุณเองจะคงทุกเกต ตัวจำกัดความถี่ และช่วงคูลดาวน์ที่อยู่ข้างหน้าไว้ไม่เปลี่ยนแปลง ดูแบ็กเอนด์โมเดลและคลังโมเดล

การรัน

ฮาร์ดแวร์ สตรีม และความปลอดภัย

มันรันข้างๆ รายการของคุณ บนเครื่องที่คุณไลฟ์อยู่แล้ว

ต้องมี GPU ไหม?

ไม่ต้อง น้ำหนักโมเดลที่มาพร้อมแพ็กเกจเป็นไฟล์ ONNX ที่ปรับขนาดมาสำหรับ CPU และทุกอย่างที่เอนจินในเครื่องทำ ทั้งเกตตรวจจับการเคลื่อนไหว ตัวจำกัดความถี่การตรวจจับ และเอ็มเบดดิงที่ตอบว่า "ใบเดิมหรือใบใหม่?" ล้วนรันบนโปรเซสเซอร์ที่คุณมีอยู่แล้ว GPU เป็นทางเลือกสำหรับน้ำหนักโมเดลความแม่นยำสูงของคุณเอง ไม่ใช่ข้อบังคับสำหรับค่าเริ่มต้น

ใช้กับ Whatnot หรือ Fanatics Live ได้ไหม?

ได้ แต่ไม่ใช่ด้วยการเชื่อมต่อกับมาร์เก็ตเพลส มันต่อเข้ากับวิดีโอที่คุณผลิตอยู่แล้ว ไม่ว่าจะเป็นกล้องเสมือนของ OBS เอาต์พุต RTMP หรือ SRT ตัวที่สองข้างตัวที่ส่งไปแพลตฟอร์ม การดึง RTSP จากเอนโค้ดเดอร์ หรือแค่กล้องของมันเองที่หันไปที่โต๊ะเดียวกัน คู่มือการขายไลฟ์สดพาเดินทั้งสี่เส้นทางตั้งแต่ต้นจนจบ

จริงๆ แล้วอะไรออกจากเครื่องของฉันบ้าง?

ในโหมดไคลเอนต์ มีแค่ภาพตัด JPEG หนึ่งภาพต่อการ์ดที่ต่างกันแต่ละใบ ไม่ใช่สตรีม ไม่ใช่เฟรมรอบๆ ไม่ใช่ส่วนที่เหลือของโต๊ะ ทุกการตัดสินใจว่าจะส่งอะไรหรือไม่เกิดขึ้นในเครื่องก่อน ดังนั้นวิดีโอหนึ่งชั่วโมงที่คุณโชว์การ์ดหนึ่งร้อยใบ ก็คือคำขอเล็กๆ หนึ่งร้อยครั้ง ข้อยกเว้นเดียวคือสิ่งที่คุณเลือกเปิดเอง: เมื่อใช้ --ximilar-stream ประวัติของรายการ (แถวข้อความหนึ่งแถวต่อการ์ดหนึ่งใบ พร้อมภาพตัดที่ใช้ระบุ) จะถูกบันทึกลงเซสชันในบัญชี Ximilar ของคุณเองด้วย ปิดไว้เป็นค่าเริ่มต้น และ --no-ximilar-stream-images จะจำกัดไว้แค่ข้อความ

ย้อนดูรายการทีหลังได้ไหม?

ได้ ถ้าคุณบันทึกไว้ เริ่มด้วย --ximilar-stream NEW แล้วการ์ดทุกใบที่อยู่ในประวัติ พร้อมราคา เวลาบนสตรีม และภาพตัดที่ใช้ระบุ จะถูกส่งไปยังเซสชันในบัญชี Ximilar ของคุณระหว่างที่รายการดำเนินอยู่ หลังจากนั้นเปิดส่วน Cardstream ของแอป Ximilar: มูลค่าของรายการ สินค้าที่มีมูลค่าสูงสุดและชุดอันดับต้นๆ การ์ดทุกใบพร้อมภาพ ทำเครื่องหมายว่าใบไหนขายแล้ว และแก้ผลที่จับคู่ผิด รีสตาร์ตกลางรายการ? ส่ง id ของเซสชันแทน NEW แล้วรายการจะดำเนินต่อ แม้เซสชันจะถูกปิดไปแล้วก็ตาม การบันทึกลงเวิร์กสเปซของทีมใช้ --ximilar-workspace ดูรายละเอียดทั้งหมด

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

รันบน LAN เพื่อให้เครื่องอื่นเปิด UI ได้ไหม?

อย่าทำ เว็บ UI ไม่มีการยืนยันตัวตนและถือคีย์ API ของคุณอยู่ มันจึงควรอยู่บน 127.0.0.1 เท่านั้น คอนเทนเนอร์ bind กับ 0.0.0.0 ภายใน นั่นคือเหตุผลที่ docker run ในเอกสารเผยแพร่พอร์ตไปที่ 127.0.0.1 เท่านั้น หากคุณจำเป็นต้องใช้จากเครื่องอื่นจริงๆ ให้วางทันเนลที่มีการยืนยันตัวตนของคุณเองไว้ข้างหน้า แทนที่จะเปิดพอร์ต

$ docker run --rm -e XIMILAR_API_KEY -p 127.0.0.1:8001:8001 \
    -v cardstream-models:/models cardstream
การระบุการ์ด

ระบุอะไรได้ และมั่นใจแค่ไหน

ทุกผลลัพธ์มาพร้อมค่าระยะ ระดับความมั่นใจ และการ์ดใบอื่นที่อาจเป็นไปได้

ระบุการ์ดใบไหนได้บ้าง?

สี่หมวดหมู่ สวิตช์เดียว เกมการ์ดสะสม ทั้งโปเกมอน Magic: The Gathering ยูกิโอ One Piece Lorcana และอีกราวยี่สิบเกม การ์ดเดี่ยวทั้งรุ่นใหม่และวินเทจอ่านตรงจากสตรีม การ์ดกีฬาทุกกีฬาหลัก ละเอียดถึงระดับพาราเลลและปี การ์ดเกรดในเคส อ่านจากฉลากโดยไม่ต้องแกะเคส และหนังสือการ์ตูน ตามชื่อเรื่อง ฉบับ และปี แฟล็กเดียวเลือกหมวดหมู่ หรือสลับกลางไลฟ์จากไดอะล็อกตั้งค่าก็ได้ ดูรายการทั้งหมด

จะเกิดอะไรขึ้นถ้าระบุการ์ดผิดใบ?

คุณจะเห็นมันล่วงหน้า ทุกผลลัพธ์มาพร้อมค่าระยะดิบและระดับ สูง / กลาง / ต่ำ (จุดตัดอยู่ที่ 0.30 และ 0.40) รวมถึงการ์ดทางเลือกสูงสุดสี่ใบที่อาจเป็นไปได้ และคำตอบที่ถูกมักอยู่ในรายการสั้นๆ นั้น ตั้งค่าเกณฑ์ผลลัพธ์ แล้วอะไรที่ต่ำกว่านั้นจะไม่ขึ้นโอเวอร์เลย์เลย ถ้าทั้งรายการเป็นเกมเดียวหรือชุดเดียว ค่าตั้งล่วงหน้าจะจำกัดการค้นหาก่อนที่มันจะเริ่ม: บอกเกม รหัสชุด หรือระบบตัวเขียนไป แล้ว endpoint จะเลิกเดา

โอเพนซอร์ส โฮสต์เอง ไลฟ์ของคุณ สแต็กของคุณ

ไม่มีแพลตฟอร์มคั่นกลาง ไม่มีค่าไลเซนส์ต่อที่นั่ง แค่เชื่อมต่อ Ximilar API หรือระบบระบุการ์ดของคุณเอง แล้ว cardstream จะเรียกใช้ครั้งเดียวต่อการ์ดที่ต่างกันแต่ละใบ ไม่ใช่ทุกเฟรม ไม่ว่าคุณจะเปิดกล่องบน Whatnot ทำรายการสไตล์ Fanatics Live หรือไลฟ์ขายของบนระบบของตัวเอง ก็รัน cardstream ได้คืนนี้เลยด้วยฮาร์ดแวร์ที่มีอยู่แล้ว