كيفية إعداد كاميرا ويب لاكتشاف الحركة في أوبونتو

ديب لاب

ديب لاب

Moderator
مشـــرف
17 ديسمبر 2023
1,579
7
36
On detection webcam ubuntu linux 00 featured image

Motion هي أداة مفيدة يمكنها تحويل كاميرا الويب العادية إلى كاميرا مراقبة. وهي تفعل ذلك من خلال مراقبة الإشارة الصادرة عن كاميرا الويب والتقاط لقطات شاشة ومقاطع فيديو عندما تكتشف الحركة. هنا، نعرض لك كيفية تثبيت Motion وإعداد كاميرا ويب لكشف الحركة في Ubuntu Linux.

تثبيت Motion Server​


من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
يتم تضمينه افتراضيًا في مستودع Ubuntu الرسمي. وهذا يعني أنه يمكنك تثبيت هذا البرنامج من خلال مدير الحزم apt الخاص بك:


sudo apt install motion v4l-utils


ملحوظة: رغم أننا نتعامل مع Ubuntu في هذه المقالة، فإن Motion سيعمل مع معظم توزيعات Linux أيضًا.

تأكد من أن خادم Motion الخاص بك يعمل بشكل صحيح عن طريق فتح موجه المساعدة الخاص بالبرنامج:

تكوين الحركة لنظامك​


قبل أن نبدأ في تكوين Motion، نحتاج إلى نسخ ملف التكوين إلى المجلد الرئيسي حتى يكون لدينا نسخة احتياطية نظيفة من الملف الأصلي. افتح محطة طرفية وانسخ ملف التكوين إلى المجلد الرئيسي:


cp /etc/motion/motion.conf ~/motion.conf.backup


افتح التكوين الأصلي باستخدام محرر النصوص المفضل لديك:


sudo nano /etc/motion/motion.conf


أحد أسهل التعديلات التي يمكنك إجراؤها على خادم Motion الخاص بك هو تغيير جودة الصورة ومخرجات الفيديو. بشكل افتراضي، يضبط الخادم دقته على 640×480 والتي قد تكون صغيرة جدًا بالنسبة لكاميرات الويب الحديثة.

لتغيير ذلك، قم بتشغيل الأمر التالي على جلسة محطة طرفية جديدة للتحقق من الدقة المتوفرة للكاميرا الخاصة بك:


sudo v4l2-ctl -d /dev/video0 --list-formats-ext

Tu linux 02 highlight available webcam resolutions

ارجع إلى تكوين الحركة الخاص بك، وانتقل لأسفل إلى فئة “معالجة الصور”، ثم ابحث عن كل من width و height المتغيرات.

Buntu linux 03 highlight default webcam resolution

قم بتوفير القيم المناسبة للدقة التي تريدها. في حالتي، أريد تشغيل Motion بدقة 1280×720، لذا أكتب “1280” كعرض و”720″ كارتفاع.

Cam ubuntu linux 04 updated high resolution config

تعيين framerate قم بضبط قيمة معدل الإطارات الذي تريد التقاط مقاطع الفيديو به. بشكل افتراضي، يتم ضبط هذا على “15” ولكن يمكنك خفضه لتوفير مساحة القرص.

 webcam ubuntu linux 05 highlight framerate option

انتقل لأسفل إلى فئة “إخراج الصورة”، ثم اضبط قيمة picture_output قم بضبط المتغير على “تشغيل”. سيسمح هذا لتطبيق Motion بالتقاط كل من الصورة والفيديو من كاميرا الويب الخاصة بك.

Am ubuntu linux 06 highlight image generate option

تغيير موقع الحفظ الافتراضي​


هناك تعديل آخر يمكنك إجراؤه على خادم Motion وهو تغيير المكان الذي يحفظ فيه بياناته. قد يكون هذا مفيدًا إذا كنت تريد تصدير مقاطع الفيديو والصور الملتقطة إلى دليل بعيد مثبت أو خدمة تخزين سحابي مثل Dropbox.

للبدء، انتقل إلى الدليل الذي تريد حفظ بياناتك فيه أو قم بإنشاء الدليل:

قم بتعيين ملكية الدليل الخاص بك إلى “motion:adm”:


sudo chown -R motion:adm /motion/data


تأكد من أن المسار الكامل إلى الدليل الخاص بك يمكن قراءته من قبل جميع المستخدمين:


sudo chmod -R 755 /motion/data


ارجع إلى تكوين الحركة الخاص بك، وابحث عن target_dir المتغير، ثم قم بتعيين قيمته إلى المسار الكامل لمجلدك.

Ebcam ubuntu linux 07 highlight file save location

ضبط إعدادات الكشف أثناء الحركة​


تعمل الحركة من خلال النظر إلى الاختلاف بين بث الفيديو الحالي والبث الذي يسبقه بلحظات. وإذا وجد البرنامج اختلافًا كافيًا بين الاثنين، فإنه يصنف ذلك باعتباره “حركة” ويسجل مقطع فيديو للحدث.

في الوقت الحالي، تفترض Motion أن اختلاف 1500 بكسل كافٍ لتصنيفها على أنها “حركة”. وفي حين أن هذا يجعل اكتشاف الحركة أمرًا سهلاً بالنسبة لمعظم كاميرات الويب، إلا أنه قد يكون حساسًا للغاية بالنسبة للكاميرات ذات الدقة الأعلى.

لتخفيف ذلك، انتقل إلى فئة “اكتشاف الحركة”، ثم ارفع قيمة threshold متغير. أجد أن 5500 بكسل كافية لمنع Motion من تسجيل الحركات الصغيرة غير الضرورية من موجز كاميرا الويب.

Bcam ubuntu linux 08 show adjusted pixel threshold

يمكنك أيضًا إضافة threshold_maximum متغير لتعيين حد أقصى للفرق الذي تعتبره الحركة “حركة”. وهذا مفيد إذا كانت كاميرا الويب الخاصة بك تنظر إلى منطقة مزدحمة وتريد تشغيلها فقط عندما يكون هناك نشاط أقل.

إذا كنت غير متأكد في threshold و threshold_maximum القيم الخاصة بكاميرا الويب الخاصة بك، يمكنك السماح لـ Motion بتعديلها لك. للقيام بذلك، أضف المتغير threshold_tune وضبطه على “تشغيل”.

 ubuntu linux 09 show additional threshold options

أخيرًا، يمكنك تكوين Motion لتسجيل اللحظات قبل وبعد اكتشاف الحركة أيضًا. للقيام بذلك، انتقل إلى pre_capture و post_capture المتغيرات وتعيين قيمها إلى عدد الإطارات الإضافية التي تريد حفظها.

Bcam ubuntu linux 10 show additional frame capture

تمكين واجهة الويب المتحركة​


يأتي خادم Motion مزودًا بواجهة ويب تتيح لك مراقبة كاميرا الويب الخاصة بك عن بُعد. لتمكين ذلك، انتقل إلى قسم “Webcontrol” في التكوين، ثم اضبط قيمة webcontrol_localhost متغير إلى “إيقاف”.

انتقل لأسفل إلى قسم “البث المباشر”، ثم اضبط القيمة stream_localhost إلى من.”

Linux 11 highlight localhost disabled restrictions

ملحوظة: لا يوجد لدى Motion أي عمليات تحقق من المصادقة لواجهة الويب الخاصة به. وبالتالي، يمكن لأي شخص يعرف عنوان خادم Motion الخاص بك إلقاء نظرة على كاميرا الويب الخاصة بك والتحكم في الخدمة.

إدارة اللقطات المحفوظة عن بعد​


كما ذكرت سابقًا، فإن أفضل طريقة هي حفظ الصور في مجلد Dropbox الخاص بك حتى تتمكن من الوصول إليه من أي مكان تريده. ومع ذلك، إذا كنت تفضل تحميل الصور إلى خادم الملفات الخاص بك (عبر FTP)، فيمكنك استخدام الأمر wput لتحميل الصور:

افتح ملف تكوين خادم Motion الخاص بك، ثم أدخل أسطر التعليمات البرمجية التالية في نهاية الملف:


on_picture_save wput ftp://YOUR-USERNAME:YOUR-PASSWORD@YOUR-SERVER-ADDRESS %f
on_movie_end wput ftp://YOUR-USERNAME:YOUR-PASSWORD@YOUR-SERVER-ADDRESS %f

 ubuntu linux 12 show wput external command script

بدء تشغيل Motion Server واختباره​


تأكد من حفظ ملف تكوين الحركة الخاص بك، ثم قم بتشغيل الأمر التالي لبدء تشغيل الخادم:


sudo systemctl enable --now motion.service


تأكد من أن الخادم يعمل بشكل صحيح عن طريق فتح متصفح الويب والانتقال إلى عنوان IP الخاص بجهازك متبوعًا بـ “:8080”.

Ntu linux 13 highlight machine ip port web console

سيؤدي هذا إلى فتح صفحة ويب تعرض بث الفيديو الحالي من كاميرا الويب الخاصة بك بالإضافة إلى قائمة تحتوي على إجراءات إضافية لخادمك. على سبيل المثال، يمكنك النقر فوق الإجراء -> لقطة لالتقاط صورة ثابتة من كاميرا الويب الخاصة بك.

Ubuntu linux 14 show different web console actions

اختبار ما إذا كان Motion يكتشف ويسجل الحركة من كاميرا الويب الخاصة بك عن طريق تمرير كائن أمام الكاميرا والتحقق من محتوياتها target_dir الدليل.

Inux 15 sample captures working custom data folder

هناك أيضًا بث مباشر يمكنك فتحه من مشغل الوسائط أو متصفح الويب. للوصول إلى هذا البث، انتقل إلى عنوان IP الخاص بجهازك متبوعًا بـ “:8081”.

Webcam ubuntu linux 16 single webcam stream sample

إن تحويل كاميرا الويب العادية لديك إلى نظام اكتشاف الحركة هو أحد الأشياء التي يمكنك القيام بها باستخدام الكاميرات في Linux. تعرف على المزيد حول بعض أفضل تطبيقات كاميرا الويب لنظام Linux والتي يمكنك تثبيتها وتجربتها اليوم.