منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] مشروع برنامج تسجيل فيديو(محاكات برنامج مثل OBS) - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (https://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم امثلة ومشاريع VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=188)
+--- الموضوع : [VB.NET] مشروع برنامج تسجيل فيديو(محاكات برنامج مثل OBS) (/showthread.php?tid=54850)



مشروع برنامج تسجيل فيديو(محاكات برنامج مثل OBS) - mr3amo - 28-08-25

السلام عليكم ورحمة الله وبركاته
كما هو مذكور بالعنوان مثال عمل برنامج بسيط مثل OBS مع تقنيات تسجيل الشاشة أو الكاميرا بجودة عالية بالفجوال بيسك.
برامج مثل OBS تعتمد على تقنيات متقدمة جدًا في التقاط الفيديو والصوت، وضغطهما في الوقت الحقيقي، وهي ليست مبنية مباشرة على لغة مثل VB.NET، بل على مكتبات C/C++ عالية الأداء مثل:
  • FFmpeg – للضغط وتحويل الفيديو والصوت (يدعم H.264, AAC, Opus… إلخ).
  • DirectShow أو Media Foundation – لالتقاط الفيديو من الكاميرا أو الشاشة.
  • OpenGL / DirectX – لمعالجة الصور وإضافة الفلاتر في الوقت الفعلي.


-كيف يمكن تقليد ذلك في VB.NET
لغة VB.NET نفسها لا تملك دوال منخفضة المستوى للتعامل مع الفيديو الخام، لكن يمكنها استدعاء مكتبات خارجية (DLL) أو استخدام Interop مع C/C++.
1. التقاط الشاشة أو الكاميرا
  • Media Foundation API (مدعوم من ويندوز، يمكن ربطه بـ VB.NET عبر Interop).
  • DirectShow.NET (مشروع جاهز بواجهة VB/C# للـ DirectShow).
  • SharpAvi (للتسجيل إلى AVI، مناسب لعمليات بسيطة).
  • مكتبات مثل AForge.NET أو Accord.NET (تعطيك الوصول للكاميرا والفيديو).
2. ضغط الفيديو في الوقت الفعلي
 هنا تحتاج لمكتبة قوية:
  • FFmpeg: يمكنك استدعاؤه كسطر أوامر من VB.NET أو ربطه كمكتبة عبرffmpeg.dll
  • .
  • x264 أو NVENC (لتسريع الضغط عبر كارت الشاشة).
3. تحسين الأداء والجودة
  • استخدام GPU Encoding بدل الضغط بالمعالج (NVENC لـ NVIDIA، QuickSync لـ Intel، أو AMF لـ AMD).
  • تسجيل الفيديو بصيغة H.264 أو H.265 بمعدل إطار مناسب (30 أو 60 fps).
  • استخدام صيغة صوت Opus أو AAC للحجم الصغير مع جودة عالية.
معلومة مهمة: OBS نفسه مكتوب بـ C/C++ ويستخدم مكتبات منخفضة المستوى جدًا، ولهذا هو سريع وقادر على التعامل مع فيديو 1080p أو 4K في الوقت الفعلي. في VB.NET، إذا أردت نفس الكفاءة، غالبًا ستبني واجهة تتحكم في مكتبات قوية مثل FFmpeg أو Media Foundation بدل أن تكتب المعالجة بنفسك Angry .

في مثالنا اعتمدنا على مكتبات خارجية AForge.NET   للوصول الى الكام والتحكم بها
وبالنسبة لاخد لقطات الشاشة والنوافذ المفتوحة اعتمدنا على
GDI+ (Graphics Device Interface): يمكنه أخذ لقطات للشاشة، لكن ليس بكفاءة عالية للفيديو(يمكن ان يلبي الحاجة كمثال  Big Grin ).

اما بالنسبة للصوت يمكنك الاعتماد على مكتبة NAudio لم انتهي منه .البرنامج الان يسجل بدون صوت Dodgy الامر ارهقني Huh
بالنسبة للتسجيل للفيديو النهائي اعتمدنا على FFmpeg – للضغط وتحويل الفيديو والصوت.

البرنامج يتيح لك اضافة طبقات مع التحكم فيها مثل
طبقة لسطح المكتب
طبقة لنافذة معينة
طبقة للكاميرا
طبقة للصورة
طبقة للتكست مع الحجم واللون ونوع الخط
طبقة لاضافة مستطيل باللون الذي تحدده مع الحجم حسب اختيارك

[صورة مرفقة: p_3527amz3f1.png]

رابط تحميل المشروع 
https://top4top.io/downloadf-35272d0li1-rar.html


RE: مشروع برنامج تسجيل فيديو(محاكات برنامج مثل OBS) - mr3amo - 07-09-25

[صورة مرفقة: p_3536w3cij1.png]