تسجيل الفيديو باستخدام OpenCV مع أسماء ملفات فريدة
في بداية الأمر، يظهر من خلال الشيفرة التي قدمتها أنك تقوم بتسجيل فيديو باستخدام مكتبة OpenCV وتخزينه باسم ثابت “MyVideo.avi”. ومن ثم، تعبر عن استياءك من حقيقة أن الفيديو يتم حفظ بنفس الاسم في كل مرة، مما يؤدي إلى استبدال الفيديو السابق.
لحل هذه المشكلة وجعل اسم الملف فريدًا على أساس وقت وتاريخ التسجيل، يمكنك استخدام الوقت والتاريخ الحاليين من نظام الكمبيوتر. لتحقيق ذلك، يمكنك تعديل جزء من الشيفرة كما يلي:
-
حل مشكلة ضرب width/height في Processing31/03/2024
-
كيفية الاتصال بحاوية Docker باستخدام WinSCP17/03/2024
cpp#include // إضافة هذا السطر لاستخدام وظائف الوقت
// ...
int main(int argc, char* argv[])
{
// ...
// استخدام الوقت والتاريخ الحاليين
time_t t = time(0); // الحصول على وقت النظام
struct tm* now = localtime(&t); // تحويله إلى تنسيق وقت مفهوم
// إنشاء اسم فريد للفيديو باستخدام وقت وتاريخ التسجيل
char filename[100];
strftime(filename, sizeof(filename), "D:/MyVideo_%Y%m%d_%H%M%S.avi", now);
// ...
// تغيير اسم الملف في كائن VideoWriter
VideoWriter oVideoWriter(filename, CV_FOURCC('P','I','M','1'), 20, frameSize, true);
// ...
}
في هذا المثال، تم استخدام مكتبة ctime
للحصول على وقت النظام، ومن ثم تحويله إلى تنسيق يمكن استخدامه في اسم الملف. الجزء المهم هو استخدام strftime
لتنسيق الوقت والتاريخ في اسم الملف بطريقة فريدة. بالطبع، يمكنك تخصيص تنسيق اسم الملف حسب رغبتك.
تعد هذه التعديلات تقريبية وتعتمد على نموذج الوقت والتاريخ المحلي للنظام الذي تستخدمه.
المزيد من المعلومات
بالطبع، دعنا نوسع المحادثة بمزيد من المعلومات والشروحات. يبدو أنك تتعامل مع مشروع يتطلب تسجيل فيديو باستمرار وتخزينه بأسماء ملفات فريدة تعتمد على الوقت والتاريخ الحاليين. دعني أوضح بعض النقاط الإضافية.
أولاً، تم استخدام مكتبة OpenCV للتعامل مع الفيديو، وتحديداً تم استخدام VideoCapture
لالتقاط إشارة الفيديو من كاميرا الويب، وVideoWriter
لتسجيل الفيديو.
تعتبر المكتبة الوقت والتاريخ الحاليين من النظام لتكوين اسم ملف الفيديو. يتم ذلك باستخدام دالة time(0)
للحصول على وقت النظام في ثوانٍ منذ الـ 1 يناير 1970، ثم يتم تحويل هذا الوقت إلى تنسيق يفهمه الإنسان باستخدام localtime
. في النهاية، تم استخدام دالة strftime
لتنسيق الوقت والتاريخ في اسم الملف بشكل فريد.
فيما يلي بعض النقاط التي يمكنك مراعاتها أثناء العمل على مشروعك:
-
تخصيص تنسيق اسم الملف:
يمكنك تعديل سلسلة التنسيق فيstrftime
حسب احتياجات مشروعك. مثلاً، يمكنك إضافة معلومات إضافية مثل الثواني أو الدقائق إذا كان ذلك ضروريًا. -
التحقق من نجاح الكتابة:
يفضل دائمًا التحقق مما إذا كانت عملية الكتابة ناجحة باستخدامisOpened()
لتجنب فقدان البيانات. -
تحسين التصفية:
قد تحتاج إلى إضافة تصفية أو تحسين للفيديو، مثل تحسين الجودة أو إضافة مؤثرات بصرية. -
إدارة الذاكرة:
تأكد من إدارة الذاكرة بشكل جيد، حيث يجب عليك تحرير الموارد بشكل صحيح بمجرد انتهاء عملية التسجيل. -
التوثيق والتعليق:
قم بإضافة توثيق وتعليقات في الشيفرة لتسهيل فهمها للمطورين الآخرين أو لنفسك في المستقبل.
بهذه الطريقة، يمكنك تحسين وتخصيص شيفرتك لتناسب متطلبات مشروعك بشكل أفضل.