مسجل الشاشة مع دعم AWS S3 ️
تطبيق سطح المكتب لتسجيل الشاشة مع دعم رفع التسجيلات تلقائياً إلى Amazon S3. يتميز بواجهة مستخدم سهلة الاستخدام وإمكانية تسجيل الصوت والفيديو بشكل متزامن.
المميزات الرئيسية
تسجيل الشاشة مع الصوت بجودة عالية
رفع التسجيلات تلقائياً إلى AWS S3 (اختياري)
واجهة مستخدم رسومية سهلة الاستخدام
إدارة المجلدات والملفات في S3
دعم مشاركة روابط التسجيلات مباشرة
تنظيم التسجيلات حسب اسم المستخدم
عرض حالة التسجيل والرفع في الوقت الفعلي
إنشاء روابط مؤقتة للمشاركة
المتطلبات الأساسية
Python 3.8+
OpenCV (opencv-python)
PyAutoGUI
NumPy
SoundCard
SoundFile
Boto3 (AWS SDK)
FFmpeg
التثبيت ️
قم بتثبيت المتطلبات:
pip install -r requirements.txt
قم بتثبيت FFmpeg:
البرنامج يأتي مع نسخة مدمجة من FFmpeg في مجلد bin
إذا واجهت مشاكل، يمكنك تحميل FFmpeg من الموقع الرسمي
قم بإعداد بيانات AWS الخاصة بك:
قم بتعديل ملف s3_handler.py وأضف مفاتيح AWS الخاصة بك:
self.aws_access_key_id = 'YOUR_ACCESS_KEY_ID'
self.aws_secret_access_key = 'YOUR_SECRET_ACCESS_KEY'
self.bucket_name = 'YOUR_BUCKET_NAME'
self.region_name = 'YOUR_REGION' # مثال: us-east-1
️ تحذير أمني: لا تقم أبداً برفع مفاتيح AWS الخاصة بك إلى Git أو أي مستودع عام. يُفضل استخدام متغيرات البيئة أو ملف تكوين منفصل غير مُدرج في نظام التحكم بالإصدارات.
كيفية الاستخدام
قم بتشغيل البرنامج:
python screen_recorder.py
في واجهة البرنامج:
أدخل اسم المستخدم أو اسم المجلد لتنظيم التسجيلات
اضغط على "بدء التسجيل" لبدء تسجيل الشاشة والصوت
اضغط على "إيقاف التسجيل" عند الانتهاء
سيتم حفظ التسجيل محلياً ورفعه إلى S3 (إذا تم تكوين AWS)
مشاركة التسجيلات:
بعد الرفع، يمكنك إنشاء رابط مؤقت لمشاركة الملف
يمكنك تحديد مدة صلاحية الرابط (الافتراضي: ساعتين)
يمكنك أيضاً إنشاء روابط للرفع (للسماح للآخرين برفع ملفات إلى S3 الخاص بك)
هيكل المشروع
s3project/
├── screen_recorder.py # البرنامج الرئيسي وواجهة المستخدم
├── s3_handler.py # التعامل مع AWS S3
├── list_files.py # عرض محتويات S3
├── requirements.txt # متطلبات المشروع
├── bin/ # مجلد يحتوي على FFmpeg
│ └── ffmpeg.exe
└── recordings/ # مجلد لحفظ التسجيلات المحلية
└── [username]/
├── video_*.avi # ملف الفيديو الأصلي
├── audio_*.wav # ملف الصوت الأصلي
└── final_*.mp4 # الملف النهائي بعد الدمج
الملفات الرئيسية
screen_recorder.py
الواجهة الرئيسية للبرنامج
تسجيل الشاشة والصوت
إدارة المجلدات المحلية
رفع الملفات إلى S3
واجهة مستخدم رسومية مع دعم اللغة العربية
s3_handler.py
التعامل مع AWS S3
رفع وتنزيل الملفات
إدارة المجلدات في S3
إنشاء روابط مشاركة مؤقتة
التحكم في صلاحيات الوصول
list_files.py
عرض محتويات الباكت
معلومات تفصيلية عن الملفات
حجم وتاريخ التعديل
تنظيم الملفات في S3
يتم تنظيم الملفات في S3 بالشكل التالي:
[bucket_name]/
├── [username]/
│ └── recordings/
│ └── final_YYYYMMDD_HHMMSS.mp4
└── ...
الأمان
أفضل الممارسات الأمنية:
مفاتيح AWS:
استخدم مفاتيح IAM مع أقل الصلاحيات الممكنة
لا تقم أبداً بتضمين مفاتيح AWS في التعليمات البرمجية المصدرية
استخدم متغيرات البيئة أو AWS Credentials File
تكوين S3:
تأكد من تكوين سياسات الوصول المناسبة لـ S3 Bucket
استخدم الروابط المؤقتة بدلاً من جعل الملفات عامة
قبل النشر على GitHub:
تأكد من إزالة جميع مفاتيح AWS وتعويضها بمتغيرات بيئية
أضف ملف .gitignore لاستبعاد الملفات الحساسة
استكشاف الأخطاء وإصلاحها
مشاكل شائعة:
خطأ في تثبيت المكتبات:
ModuleNotFoundError: No module named 'xyz'
الحل: تأكد من تثبيت جميع المتطلبات باستخدام pip install -r requirements.txt
مشاكل FFmpeg: إذا واجهت مشاكل في دمج الصوت والفيديو، تأكد من وجود FFmpeg في مجلد bin أو قم بتثبيته يدوياً.
أخطاء AWS: تأكد من صحة مفاتيح AWS وتكوين المنطقة والباكت.
الدعم
للمساعدة أو الإبلاغ عن مشاكل، يمكنك:
فتح issue جديد على GitHub
التواصل مع مطور البرنامج
الترخيص
هذا المشروع مرخص تحت رخصة MIT. راجع ملف LICENSE للمزيد من المعلومات.