كل طرق ربط الكاميرا

دليل الكاميرات · الواجهة السحابية

اربط أي كاميرا IP بواجهة ANPR السحابية

أربع طرق لإيصال الصورة من كاميرتك إلى /v1/detect واستلام اللوحة بتنسيق JSON — من كاميرا ترسلها بنفسها إلى سكربت قصير أو مجلد أو نظام VMS. للمطورين الذين يبنون تكاملهم بأنفسهم؛ أما ANPR Edge فيفعل كل ذلك دون برمجة.

كيف يعمل اتصال API المخصص

ANPR.software حالياً هو REST API سحابي. ترسل لنا صورة، نعيد لك بيانات اللوحة بتنسيق JSON. السؤال الرئيسي هو: كيف تحصل على الصور من كاميرتك إلى API الخاص بنا؟

هناك عدة طرق حسب إعداد كاميرتك ومتطلباتك التقنية.

كاميرا IP

RTSP/HTTP

Image(عبر الطريقة أدناه)

api.anpr.software

/v1/detect

JSON(استجابة أو webhook)

نظامك

(PMS، تطبيق، لوحة تحكم)

1

الطريقة 1: حدث HTTP من الكاميرا

موصى به - بدون خادم

الأفضل لـ: Axis، Milesight، Hikvision، Dahua، وكاميرات ذكية أخرى مع إجراءات أحداث HTTP.

تستطيع العديد من كاميرات IP الحديثة إرسال POST HTTP مع لقطة عند اكتشاف حركة أو مركبة. يمكنك توجيه هذا مباشرة إلى API الخاص بنا.

كيفية الإعداد:

1

افتح واجهة الويب لكاميرتك.

2

اذهب إلى الأحداث ← كشف الحركة أو كشف المركبات (يختلف حسب الشركة المصنعة).

3

اضبط الإجراء على إشعار HTTP أو الرفع إلى خادم HTTP.

4

اضبط POST HTTP على:

URL: https://api.anpr.software/v1/detect

Method: POST

Header: Authorization: Bearer YOUR_API_KEY

Body: Attach snapshot as multipart form-data, field name image

5

احفظ واختبر.

ملاحظات خاصة بالكاميرات:

Axis cameras: استخدم ACAP Events ← Recipients ← أضف مستقبل HTTP مع الرابط وترويسة المصادقة. ثم أنشئ قاعدة ترسل لقطة عند الحركة.

Hikvision / Dahua: استخدم Event ← Smart Event ← Line Crossing أو Intrusion Detection ← اضبط طريقة الرفع إلى HTTP مع نقطة النهاية أعلاه.

Milesight: استخدم Event ← HTTP Notification ← اضبط رابط POST والتوكن.

المميزات: لا حاجة لخادم أو وسيط. الكاميرا تتحدث مباشرة مع السحابة.

العيوب: يتطلب كاميرا تدعم أحداث POST HTTP. يحتاج وصول إنترنت من الكاميرا.

2

الطريقة 2: كتابة سكريبت بسيط على خادمك

الأفضل لـ: أي كاميرا ببث RTSP. تحكم كامل في تكرار الالتقاط والمنطق.

إذا كانت كاميرتك توفر بث فيديو RTSP (معظم كاميرات IP تفعل ذلك)، يمكنك تشغيل سكريبت خفيف على خادم محلي يلتقط الإطارات ويرسلها إلى API.

مثال: سكريبت Python باستخدام OpenCV

Python
import cv2
import requests
import time
import io

API_URL = "https://api.anpr.software/v1/detect"
API_KEY = "YOUR_API_KEY"
CAMERA_RTSP = "rtsp://admin:[email protected]:554/stream"

cap = cv2.VideoCapture(CAMERA_RTSP)

while True:
    ret, frame = cap.read()
    if not ret:
        continue

    # Encode frame as JPEG
    _, buffer = cv2.imencode('.jpg', frame)
    image_bytes = io.BytesIO(buffer.tobytes())

    # Send to ANPR API
    response = requests.post(
        API_URL,
        headers={"Authorization": f"Bearer {API_KEY}"},
        files={"image": ("frame.jpg", image_bytes, "image/jpeg")}
    )

    result = response.json()
    if result.get("success") and result["data"].get("plate_text"):
        print(f"Plate detected: {result['data']['plate_text']} "
              f"({result['data']['confidence']*100:.1f}% confidence)")

    time.sleep(1)  # Adjust interval as needed (1 frame per second)

cap.release()

نصائح:

  • لا ترسل كل إطار - 1-2 إطار في الثانية كافٍ عادةً لسيناريوهات المواقف.
  • أضف كشف الحركة (OpenCV BackgroundSubtractorMOG2) لإرسال الإطارات فقط عند وجود مركبة. هذا يوفر استدعاءات API.
  • شغّله على Raspberry Pi أو أي خادم Linux أو جهاز Windows على نفس الشبكة مع الكاميرات.

المميزات: يعمل مع أي كاميرا لديها RTSP. تحكم كامل في المنطق.

العيوب: يتطلب خادماً يعمل 24/7. أنت تكتب وتصون السكريبت.

3

الطريقة 3: مجلد لقطات FTP

الأفضل لـ: الكاميرات التي تحفظ لقطات على FTP عند مشغلات الحركة/الأحداث.

يمكن إعداد العديد من الكاميرات لحفظ لقطات JPEG على خادم FTP عند اكتشاف حركة. يمكنك كتابة مراقب مجلد يلتقط الصور الجديدة ويرسلها إلى API.

كيفية الإعداد:

1

اضبط كاميرتك لحفظ اللقطات في مجلد FTP محلي عند إطلاق حدث.

2

شغّل سكريبت مراقبة المجلد:

Python
import os
import time
import requests

WATCH_DIR = "/path/to/ftp/snapshots"
API_URL = "https://api.anpr.software/v1/detect"
API_KEY = "YOUR_API_KEY"
PROCESSED_DIR = "/path/to/processed"

while True:
    for filename in os.listdir(WATCH_DIR):
        if filename.lower().endswith(('.jpg', '.jpeg', '.png')):
            filepath = os.path.join(WATCH_DIR, filename)

            with open(filepath, 'rb') as f:
                response = requests.post(
                    API_URL,
                    headers={"Authorization": f"Bearer {API_KEY}"},
                    files={"image": f}
                )

            result = response.json()
            print(f"{filename}: {result}")

            # Move to processed folder
            os.rename(filepath, os.path.join(PROCESSED_DIR, filename))

    time.sleep(2)

المميزات: بسيط وموثوق. يعمل مع الكاميرات التي لا تدعم POST HTTP لكن تدعم FTP.

العيوب: تأخير طفيف مقارنة بـ HTTP المباشر. يتطلب إعداد خادم FTP.

4

الطريقة 4: دمج VMS / NVR

الأفضل لـ: المقرّات التي تشغل بالفعل نظام إدارة فيديو (Milestone، Genetec، Blue Iris، إلخ).

إذا كان لديك بالفعل VMS، يمكنك استخدام نظام الأحداث لتفعيل استدعاءات API إلى ANPR.software:

1

اضبط VMS لتصدير لقطة عند كشف مركبة/حركة.

2

استخدم ميزة webhook أو البرمجة في VMS لإرسال POST للصورة إلى API.

3

عالج استجابة JSON في VMS أو أعد توجيهها إلى تطبيقك.

تدعم معظم منصات VMS إجراءات HTTP على الأحداث. راجع وثائق VMS لإعداد إجراءات POST HTTP.

استقبال النتائج عبر Webhooks

بدلاً من قراءة استجابة API بشكل متزامن، يمكنك إعداد webhook ليقوم ANPR.software بدفع النتائج إلى خادمك تلقائياً.

هذا مثالي للمعالجة غير المتزامنة حيث تريد توصيل النتائج إلى نظام إدارة المواقف أو برنامج التحكم في الوصول أو قاعدة البيانات.

إعداد webhooks:

1

قدم رابط نقطة نهاية webhook في لوحة تحكم ANPR.software أو طلب API.

2

سيقوم نظامنا بإرسال POST لنتيجة التعرف كـ JSON إلى نقطة النهاية كلما تمت معالجة لوحة.

مثال على حمولة webhook التي سيستقبلها خادمك:

JSON
{
  "event": "plate_recognized",
  "timestamp": "2026-02-17T14:23:01Z",
  "data": {
    "plate_id": 0,
    "position": {
      "x1": 421, "y1": 694,
      "x2": 583, "y2": 736
    },
    "confidence": 0.876,
    "text": {
      "plate_number_en": "5309 ZSA",
      "plate_number_ar": "م ص أ ٥٣٩",
      "plate_code_en": "AA",
      "plate_code_ar": "أأ"
    },
    "attributes": {
      "country": "uae",
      "emirate": "abudhabi",
      "color": "red",
      "type": "private",
      "size": "long"
    }
  }
}

لتفاصيل إعداد webhook الكاملة، راجع وثائق API.

نصائح إعداد الكاميرا الموصى بها

لأفضل دقة تعرف مع لوحات دول الخليج:

الدقة

الحد الأدنى 1080p (1920x1080). يجب أن يكون عرض اللوحة 100 بكسل على الأقل في الصورة.

الزاوية

ثبّت الكاميرا بزاوية هبوط خفيفة (15-30 درجة). تجنب الزوايا الجانبية الشديدة.

المسافة

لحواجز المواقف، 3-5 أمتار من اللوحة تعمل بشكل أفضل.

الإضاءة

استخدم كاميرات مع إضاءة الأشعة تحت الحمراء للتشغيل الليلي. الإضاءة المعتمدة على LED تعطي أفضل النتائج للوحات العربية.

تنسيق الصورة

JPEG بجودة 80%+. PNG مدعوم أيضاً لكن أحجام الملفات أكبر.

معدل الإطارات

1-2 إطار/ثانية كافٍ للمواقف. لحالات الطرق السريعة/الرسوم، تواصل معنا للإرشاد.

ما القادم

نعمل على تطوير وكيل برمجي قابل للتثبيت محلياً يمكنك نشره مباشرة على خوادمك أو أجهزة الحافة. سيقوم بـ:

  • الاتصال بكاميراتك عبر RTSP - بدون كتابة أكواد
  • معالجة اللوحات محلياً لزمن استجابة أقل
  • العمل بدون اتصال إنترنت مستمر
  • دعم بث كاميرات متعددة في وقت واحد
  • دفع النتائج عبر webhooks إلى أنظمتك

إذا كنت ترغب في الوصول المبكر، تواصل معنا أو تواصل عبر WhatsApp.

تحتاج مساعدة؟