> 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/video.md).

# Video

تقوم هذه الدالة بتشغيل ملف فيديو وإخراج الإطارات الفردية للمعالجة. تتيح لك اختيار ملف، التحكم في وضع التشغيل، وتوفر طابعًا زمنيًا ومعلومة عن التكرار/إعادة التشغيل مع كل إطار.

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

`Restart` هذا المقبس يستقبل قيمة منطقية (boolean). عندما تكون true، يعيد تشغيل الفيديو من البداية. (Input socket)

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

`Image Any` إطار الصورة المقروء من الفيديو. (Output socket)

`Timestamp` طابع زمني قابل للقراءة للبُرْد الحالي داخل الفيديو. (Output socket)

`Restarted` علم منطقي يصبح true عندما يصل الفيديو للنهاية ويعاد تشغيله. (Output socket)

## 🕹️ الضوابط <a href="#controls" id="controls"></a>

`Select video file` زر لاختيار ملف الفيديو الذي سيتم تشغيله. (Control)

`Real-time` مفتاح لتمكين أو تعطيل التشغيل في الوقت الفعلي. عند التمكين، تتقدم الإطارات لتطابق معدل الإطارات الأصلي للفيديو. (Control)

## 🎨 الميزات <a href="#features" id="features"></a>

* تشغيل سلس مع مزامنة اختيارية بالوقت الحقيقي بحيث تتبع الإطارات توقيت الفيديو الأصلي.
* إخراج على مستوى الإطار مع سلسلة طابع زمني لكل إطار.
* سلوك التكرار وخيار إعادة التشغيل لإعادة التشغيل من البداية.
* إمكانية معاينة الإطارات أو تمريرها إلى كتل المعالجة اللاحقة (مثل عمليات الكشف، التسجيل أو الحفظ).
* معالجة إطارات خلفية اختيارية للتكاملات التي ترفع أو تسجل الإطارات خارجيًا.

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

* عند اختيار ملف فيديو، يفتح البلوك الملف ويجهز التشغيل.
* إذا كان مفتاح `Real-time` مفعلًا، يتقدم البلوك بالإطارات بحيث يتطابق معدل التشغيل مع معدل الإطارات للفيديو المصدر. إذا كان مطفأً، تتقدم الإطارات بأسرع ما يسمح به تقييم النظام للرسم البياني.
* إرسال إشارة true إلى مدخل `Restart` سيعيد موضع التشغيل إلى الإطار الأول.
* كل تقييم ينتج أحدث إطار، وطابع زمني قابل للقراءة يوضح موضع الإطار داخل الفيديو، وقيمة منطقية تشير إذا ما تم تكرار الفيديو أو إعادة تشغيله.

## 📝 تعليمات الاستخدام <a href="#usage" id="usage"></a>

1. اضغط زر `Select video file` واختر ملف فيديو مدعوم.
2. فعّل `Real-time` إذا أردت تشغيلًا بسرعة الفيديو الأصلية؛ أطفئه لتخطّي الإطارات بأسرع ما تسمح به المعالجة.
3. اختياريًا أرسل قيمة true إلى مدخل `Restart` لإعادة ضبط التشغيل.
4. اربط مخرج `Image Any` إلى كتل العرض أو التحليل لمعالجة كل إطار.

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

* معاينة الإطارات أثناء التطوير: اربط `Image Any` مع `Show Image` لفحص الإطارات بسرعة.
* حفظ الإطارات المهمة أو التسجيلات: مرّر `Image Any` إلى `Image Logger` أو `Record Video` لتخزين الإطارات أو إنشاء ملف فيديو.
* تقليل التحميل على المعالجة: أضف `Image Resizer` أو `Image Resize` قبل كتل التحليل الثقيلة (مثل `Object Detection` أو `Pose Estimation`) لخفض الدقة وزيادة معدل المعالجة.
* تحسين جودة الكشف: نظف الضجيج باستخدام `Denoising` قبل نماذج الكشف أو الوضعيات.
* سير عمل طرح الخلفية: ادمجه مع `Background Subtractor` لاكتشاف الأجسام المتحركة قبل إرسال النتائج إلى `Object Detection` أو `Blob Detector`.
* معالجة مقتصرة على منطقة: استخدم `Image ROI Select` أو `Image ROI` لاقتطاع مناطق الاهتمام ثم شغّل `Find Object`, `Mask Detection` أو كتل OCR للتحليل المركّز.
* تتبّع وتحليلات: اقترن `Object Detection` (أو `Object Detection - Custom`) مع `Object_Detection_Tracker` لتتبع الاكتشافات عبر الإطارات ومرّر إخراج المتتبع إلى كتل التحليل مثل `Traffic Intersection Analysis`.
* استخراج النص: استخدم `OCR` أو `OCR (EasyOCR)` على الإطارات (اختياريًا بعد الاقتطاع بـ `Image ROI Select`) لقراءة الملصقات المطبوعة أو الطوابع الزمنية.

تنبيه: عند العمل مع فيديوهات طويلة، فكّر في إيقاف `Real-time` أثناء الإعداد والاختبار للتكرار الأسرع؛ فعّله عند التشغيل النهائي المتزامن مع الزمن.

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

* لا تظهر إطارات: تأكد من اختيار ملف فيديو صالح عبر `Select video file` وأن الملف قابل للوصول.
* التشغيل بطيء جدًا: إذا كان `Real-time` مفعلًا والنظام لا يواكب، جرّب تعطيل `Real-time` أو قلل حجم الإطار باستخدام `Image Resizer`.
* الفيديو يعيد التشغيل بشكل غير متوقع: نهاية الملف تفعّل علم إعادة التشغيل على المخرج؛ استخدم مدخل `Restart` للتحكم صراحة في موضع التشغيل.
* الطوابع الزمنية غير دقيقة: الطوابع محسوبة بالنسبة لمدة الفيديو؛ تحقق من بيانات الملف الوصفية وجرب ملفًا آخر إذا بدت القيم غير صحيحة.

إذا كنت تخطط لبث الإطارات إلى خدمات سحابية أو تسجيلية، اجمع البلوك مع `Image Logger`, `Record Video` أو كتل تصدير أخرى للحفاظ على النتائج.
