> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/input-output/image-inputs/camera-ip.md).

# Camera IP

هذا الدالة (function block) تقرأ تيارات الكاميرا عبر RTSP/HTTP في خيط عمل خلفي (background thread) وتبقي الإطار الأخير جاهزًا مع أقل استهلاك ممكن للمعالج CPU. صُممت للمراقبة الحية ولتغذية كتل معالجة الصور بشكل موثوق حتى عند حدوث انقطاعات شبكية.

## 📥 المدخلات <a href="#inputs" id="inputs"></a>

هذه الدالة ليس لها مدخلات.

## 📤 المخرجات <a href="#outputs" id="outputs"></a>

`Image` الإطار الحالي المستخرج من كاميرا الـ IP المكونة.

## 🕹️ عناصر التحكم <a href="#controls" id="controls"></a>

`Status` — يعرض حالة الاتصال الحالية (مثل: Waiting for camera link, Connecting..., Live, Reconnecting...).

`Camera link` — ألصق رابط RTSP/HTTP الكامل للكاميرا (مثال: rtsp\://camera-ip/stream).

`Username` — اسم المستخدم إذا كانت الكاميرا تتطلب مصادقة.

`Password` — كلمة المرور إذا كانت الكاميرا تتطلب مصادقة.

(تنبيه) بعد تعديل `Camera link` أو بيانات الاعتماد، ينتظر البلوك لحظة قصيرة قبل إعادة الاتصال حتى تتمكن من إكمال الكتابة.

## 🎯 الميزات الرئيسية <a href="#features" id="features"></a>

* قارئ في خلفية ثُريد (background threaded reader) يحافظ على الإطار الأحدث متاحًا للكتل التالية مع استهلاك منخفض للمعالج.
* يدعم روابط RTSP و HTTP مع خيار المصادقة بـ `Username`/`Password`.
* تحديثات حالة تلقائية لعرض تقدم الاتصال والمشاكل.
* إعادة اتصال تلقائية مع تأخيرات متزايدة عند الفشل.
* يحتفظ بآخر إطار ناجح متاحًا أثناء محاولات إعادة الاتصال.
* إمكانية رفع الإطارات في الخلفية إلى خدمة بعيدة إذا تم تهيئتها.

## ⚙️ كيفية التشغيل <a href="#running-mechanism" id="running-mechanism"></a>

* أدخل رابط كاميرا صالح في `Camera link` (ومع بيانات الاعتماد إذا لزم الأمر).
* سيحاول البلوك الاتصال في الخلفية ويحدّث `Status`.
* عند الاتصال، يبقي البلوك الإطار الأحدث جاهزًا على مخرج `Image` لتستخدمه الكتل الأخرى.
* عند مشاكل الاتصال يعرض البلوك رسائل حالة ويقوم بمحاولات إعادة اتصال تلقائية؛ يبقى آخر إطار صالح متاحًا حتى يستلم إطارًا جديدًا.

## 📝 إرشادات الاستخدام <a href="#usage" id="usage"></a>

1. أدخل عنوان الكاميرا في `Camera link`.
2. إذا كانت الكاميرا تتطلب مصادقة، عبِّئ `Username` و `Password`.
3. انتظر حتى يظهر `Status` بحالة Live/Connected.
4. وصل مخرج `Image` إلى كتل المعالجة أو العرض التالية.

الكتل المقترحة للاستخدام اللاحق:

* استخدم `Show Image` لمعاينة الإطارات.
* استخدم `Image Resizer` أو `Image Resize` لتقليل حجم الإطار قبل المعالجة إن لزم.
* استخدم `Record Video` أو `Image Logger` لحفظ الإطارات أو التسجيلات.
* غذِِّ النتائج إلى كتل الذكاء الاصطناعي/التحليل مثل `Object Detection`, `Object Detection - Custom`, `Pose Estimation`, أو `Mask Detection` للاستدلال الحي.
* استخدم `Image ROI Select` / `Image ROI Polygon` / `Image ROI Polygon Multi` لاقتطاع أو تحديد منطقة المعالجة قبل الكشف.
* استخدم `Background Removal (RMBG-1.4)` أو `Background Removal (BiRefNet)` لاستخراج المقدمة إذا لزم.
* اجمع مع `Object_Detection_Tracker` للحفاظ على الهويات عبر الإطارات.

## 💡 نصائح وحيل <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* إذا كانت الكاميرا تدعم ONVIF وتفضل لقطات متفرقة بدلًا من تيار مستمر، جرب `Camera IP (ONVIF)`.
* لتسريع خط المعالجة، خفّض الدقة في إعدادات الكاميرا.
* للتحقق من الاتصال، جرّب نفس الرابط في مشغل خارجي مثل VLC وتأكد من صحة بيانات الاعتماد.
* استخدم `Show Image` للتأكد من محتوى الإطار قبل توجيهه إلى كتل الكشف أو التسجيل.
* عند تسجيل جلسات طويلة، يفضّل استخدام `Record Video` بدل حفظ العديد من الصور المفردة؛ استخدم `Image Logger` للحفظ الانتقائي.
* عند الحاجة لتحليل أجزاء فقط من المشهد، اقتطع باستخدام `Image ROI Select` أو حدّد مناطق متعددة بـ `Image ROI Polygon Multi` لتقليل الإيجابيات الكاذبة وتسريع المعالجة.
* اجمع مع `Object Detection` (أو `Object Detection - Custom`) ثم مع `Object_Detection_Tracker` لتطبيقات التتبع والعدّ المراقبة (مثلاً تغذية النتائج إلى `Traffic Intersection Analysis`).

## 🛠️ استكشاف الأخطاء وإصلاحها <a href="#troubleshooting" id="troubleshooting"></a>

* لا يوجد اتصال / الحالة متوقفة على waiting: تحقق من أن رابط الكاميرا صحيح ويمكن الوصول إليه عبر الشبكة. جرّب البث في مشغل خارجي.
* أخطاء مصادقة: تأكد من صحة `Username` و `Password` وأعد إدخالهما.
* إطارات متقطعة أو إعادة اتصال متكررة: قد تكون مشكلة في الشبكة أو الكاميرا؛ سيحاول البلوك إعادة الاتصال تلقائيًا. فكّر في شبكة أكثر استقرارًا أو تسجيل محلي إذا لزم.
* إطارات فارغة أو غير مدعومة: استخدم `Show Image` لفحص المخرج. إذا أفاد العرض بأن البيانات غير مدعومة، جرّب صيغة بث مختلفة أو استخدم رابط موصى به من بائع الكاميرا.
* استهلاك عالي للمعالج: إذا كانت المعالجة التالية مكثفة، خفّض الدقة بواسطة `Image Resizer` أو عالج الإطارات بمعدل أقل عبر منطق تقييد التدفق.

إذا احتجت واجهة كاميرا مختلفة (USB، برامج تشغيل كاميرا مخصصة، أو لقطات ONVIF)، تحقق من كتل إدخال الصورة المقابلة مثل `Camera USB` أو `Camera IP (ONVIF)` لتطابق العتاد وتدفق العمل لديك.
