سؤال

وأنا أعمل في C # و لديهم حاجة للقبض على الإطارات الفردية من ملفات الفيديو. في أسرع وقت ممكن (أسرع من الوقت الحقيقي)، وأود أن تسعى إلى عدد الإطار معينة والقبض على كل إطار الألف إلى تنسيق ملف رسومي مثل BMP أو JPEG. هو المطلوب بشدة أن الإطار الذي تم القبض عليه يمكن التنبؤ بها وتكرارها، أي لا تسقط الإطارات.

ولدي بعض الخبرة في ديريكتشو، ولكن لا أعرف إذا كان هذا التكنولوجيا هي أفضل السبل لاستخدام لهذه المشكلة في بيئة ويندوز. NET الحديثة. من الناحية المثالية، أود أن تجد .NET أو مكتبة على أساس COM مجردة بعيدا قدر الإمكان. ليس لدي أي حاجة لعرض ملف الفيديو على الشاشة في الواقع، في واقع الأمر لا يفضل أن يكون واجهة مستخدم Windows لتشغيل الفيديو.

هل لديها اقتراحات لتقنيات أو منتجات محددة للنظر في؟ فإنها تحتاج إلى أن تكون متوافقة مع MPEG-2 و MPEG-4 ملفات الفيديو التي تعتمد، بما في ذلك الافلام. أن دعم كويك تايم يكون مكافأة لطيفة.

هل كانت مفيدة؟

المحلول

وأنا لا أرى السبب في أنك تحتاج إلى القيام بذلك "أسرع من الوقت الحقيقي" منذ كنت اعتبرت القيام ببعض معالجة نوع وعدم عرض أي فيديو.

ولقد كتبت شيئا من هذا القبيل باستخدام DirectShow.Net و صافي 2.0. وباستخدام DirectShow يتطلب قليلا من الخبرة السابقة، وإلا سيكون لديك وقتا عصيبا في محاولة للخروج.

ويمكنك أيضا الوصول إلى واجهة IMediaDet من النوافذ للقيام إلتقاط. هذا الأسلوب هو أبسط ولكن هناك بعض الاقتصار على ذلك، مثل دعم MPEG2. لقد لاحظت أنه أيضا لا يعتمد "بعض" فلف. تحقق من العينة على CodeProject - FrameGrabber

سوف

ودعم كويك تايم يعني تركيب QuickTimeAlternative

ويمكنني أن وظيفة رمز كتبته باستخدام DirectShow.Net. اسمحوا لي أن أعرف إذا كنت في حاجة إليها (ولست بحاجة إلى تجميل لها قبل نشرها: P).

وتحرير: ملاحظة: بالنسبة للبك القبض على "التنبؤ"، وليس هناك قضية على الإطلاق، لأن الفيديو هو عدم التشغيل في الوقت الحقيقي، ولكن مؤقتا، حتى تتمكن من السعي إلى أي نقطة، ومن ثم استخراج الإطار.

نصائح أخرى

وألوها

وو(مجاني) برنامج صورة المنتزع II.net يفعل بالضبط ما تصفون. ويبدو لي أن تذكر المصدر ونشرت أيضا ولكن لا يمكن العثور عليه الآن. فهو يتطلب صافي الإطار.

و-Edoode

وفقط في حالة شخص آخر لديه هذا النوع من المشاكل، هناك خيار آخر هو عنصر تحكم ActiveX على أساس دلفي يسمى <لأ href = "http://www.datastead.com/vidgrab/index.htm" يختلط = "نوفولو noreferrer "> TVideoGrabber . على الرغم من أنها ليست حرة، وغير مكلفة للغاية ويفعل بشكل جيد كما مجمع رفيع حول ديريكتشو.

وTVideoGrabber هو صالح محرجا لمشكلتي منذ طلبي لا يوجد لديه واجهة المستخدم الرسومية - كان يعمل كخدمة ويندوز. أنا لا يكون ذلك العمل، ولكن instantiating ضوابط متعددة (التي قد لا تكون ذات ألوان لتبدأ) وتعمل في حلقة الحدث وهمية، من .NET، باعتبارها خدمة ويندوز ... حسنا هناك العديد من الأشياء التي يمكن ان تذهب الخطأ. على الرغم من أنني ضمنت الضوابط يتم التلاعب فقط من موضوع خلق، ما زلت يبدو أن لديها مشاكل التزامن. ولكن هذا سؤال آخر ...:)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top