تفاصيل العمل

مسجل الشاشة مع دعم 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 للمزيد من المعلومات.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
1
تاريخ الإضافة