منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : قراءة ملف الفيديو
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم كيف الحال
إشارة للعنوان فأنا اريد ان اقوم بقراءة الصور الموجودة في الفيديو
يعني اريد ابني مشغل فيديو خاص بي
ماذا احتاج
السلام عليكم من با يساعدني بنا اضيف البيانات من فيجول بيسك الى قاعده بيانات اكسس بتطلع رساله تمت الإضافة والبيانات غير موجوده وشكرا لكم
(24-05-24, 12:22 PM)ali/@gmail.com كتب : [ -> ]السلام عليكم من با يساعدني بنا اضيف البيانات من  فيجول بيسك الى قاعده بيانات اكسس بتطلع رساله تمت الإضافة والبيانات غير موجوده وشكرا لكم

كيف هي الاكواد اللتي استخدمتها؟
لو ترفع مثال بسيط لمعرفة سبب عدم الحفظ و في الاغلب انه عند كل تشغيل للمشروع يتم نسخ ملف القاعدة من مصدرها الى مجلد الاخراج
لبناء مشغل فيديو في سي شارب (C#) يمكنه قراءة الصور (إطارات الفيديو) واستخراجها، ستحتاج إلى عدة مكتبات وأدوات. إليك خطوات عامة توضح كيفية تحقيق ذلك:

1. اختيار مكتبة لمعالجة الفيديو
تحتاج إلى مكتبة توفر واجهات برمجية للتعامل مع ملفات الفيديو. من المكتبات الشهيرة في سي شارب لمعالجة الفيديو:

FFmpeg: يمكن استخدامه عبر مكتبات مثل FFmpeg.AutoGen أو استخدام واجهات أعلى مستوى مثل AForge.NET.
OpenCV: يمكن استخدام OpenCV عبر مكتبة Emgu.CV، وهي غلاف لـ OpenCV في .NET.
2. تحميل المكتبات وتثبيتها
يمكنك تثبيت هذه المكتبات باستخدام NuGet Package Manager في Visual Studio. على سبيل المثال، لتثبيت Emgu.CV:

افتح مشروعك في Visual Studio.
افتح نافذة مدير الحزم (Package Manager Console) عبر Tools > NuGet Package Manager > Package Manager Console.
قم بتثبيت الحزمة باستخدام الأمر:
mathematica


PHP كود :
Install-Package Emgu.CV 

3. قراءة الفيديو واستخراج الصور

إليك مثال بسيط على كيفية استخدام Emgu.CV لقراءة الفيديو واستخراج الإطارات:


PHP كود :
using System;
using Emgu.CV;
using Emgu.CV.Structure;
using System.Drawing;
using System.Windows.Forms;

namespace 
VideoFrameExtractor
{
 
   class Program
    
{
 
       static void Main(string[] args)
 
       {
 
           // مسار الفيديو
 
           string videoPath "path_to_your_video.mp4";

 
           // فتح الفيديو
 
           VideoCapture capture = new VideoCapture(videoPath);

 
           // التحقق من فتح الفيديو بنجاح
 
           if (!capture.IsOpened)
 
           {
 
               Console.WriteLine("Failed to open video file.");
 
               return;
 
           }

 
           // إنشاء نافذة لعرض الفيديو
 
           using (var window = new ImageViewer())
 
           {
 
               Mat frame = new Mat();

 
               while (true)
 
               {
 
                   // قراءة الإطار التالي
 
                   capture.Read(frame);

 
                   // التحقق من نهاية الفيديو
 
                   if (frame.IsEmpty)
 
                       break;

 
                   // عرض الإطار
 
                   window.Image frame;
 
                   window.ShowDialog();

 
                   // حفظ الإطار كصورة
 
                   string framePath = $"frame_{capture.PosFrames}.jpg";
 
                   frame.Save(framePath);
 
               }
 
           }

 
           capture.Release();
 
           Console.WriteLine("Video processing completed.");
 
       }
 
   }



4. تشغيل الكود
تأكد من تحديث videoPath إلى المسار الصحيح للفيديو الخاص بك.
شغل البرنامج وسيقوم بقراءة الفيديو وعرض الإطارات واحدة تلو الأخرى وحفظها كصور.
ملاحظات إضافية
قد تحتاج إلى تثبيت بعض التبعيات الأخرى أو ضبط إعدادات البيئة للتأكد من عمل المكتبة بشكل صحيح.
يمكنك تحسين الكود ليشمل ميزات إضافية مثل التحكم في سرعة العرض، القفز إلى إطار معين، أو استخراج كل إطار nth فقط.
بهذه الطريقة يمكنك بناء مشغل فيديو بسيط في سي شارب يمكنه قراءة الصور (إطارات الفيديو) واستخراجها.