دايركت شو (بالإنجليزية: Direct Show) هي عبارة عن جزء من حزمة واجهة التطبيقات العملاقة المعروفة بـ دايركت إكس.[1][2][3] تتخصص هذه المكتبة في مجال الوسائط المتعددة حيث توفر طرق موحدة لبناء فلاتر لأغراض الوسائط المتعددة مثل مرمزات الفيديو والصوت، أو ما يسمى بالكودك. وكذلك توفر الواجهات اللازمة لعمل برامج وتطبيقات وسائط متعددة لبيئة وندوز بما أنها بنيت على تقنية الـ نموذج كائن المكون.
الاستخدامات
يمكن عمل مهام كثيرة.. مثل تشغيل الصوت، والفيديو، والتحويل من صيغة لأخرى، والتسجيل من أجهزة الصوت والفيديو، والبث الصوتي والفيديوي. حيث يقوم برنامج التحويل مثلاً بربط سلسلة من فلاتر دايركت شو ببعض لكي يتمكن من إتمام عملية التحويل.
فلاتر دايركت شو
فلاتر دايركت شو هي عبارة عن مكونات يمكن استخدامها في بناء سلسلة لعملية معينة مثل تشغيل أو تحويل أو تسجيل. ولها أنواع متعددة، حيث يقوم كل نوع منها بمهمة معينة، فقد تكون مهمة فلتر معين هو أخذ الملف من القرص المحلي وتجهيزه للإرسال لفلتر آخر، مثل فلتر فك المسارات (Splitter)، ومن ثم يقوم فلتر فك المسارات بإرسال كل مسار (صوت أو فيديو) إلى الفلتر الخاص بفك ترميزه. وبعد أن يفك فلتر الترميز الضغط، يرسل سيل البايتات الخام للجهاز المناسب ليتصرف فيها، ففي حال كان الفلتر هو فلتر فك الترميز (Decoder)للصوت، فسترسل البايتات الخام لجهاز DirectSound ليقوم بدوره ببث الإشارات لكرت الصوت ليتم تشغيل الصوت. تنتمي معظم الفلاتر إلى الأقسام التالية:
- فلتر مصدري Source Filter: ويقوم بمهمة أخذ الملف من مصدره وتوفيره لفلتر فك المسارات أو فلتر فك التريمز.
- فلتر فك المسارات Splitter: ويقوم بمهمة فك وفصل المسارات الموجودة في تيار البايت القادم من الفلتر المصدري، وقد يدمج هذا الفلتر بسابقه كما في فلتر Haali Media Splitter.
- فلتر فك الترميز Decoder Filter: ويقوم بفك ترميز المسار القادم من فلتر فك المسارات. مثل فلاتر فك ترميز صيغ الصوت والفيديو المشهورة MPEG-2 و MP3 إلخ.
- Renderer: ويقوم بأخذ بأخذ المسار الخام المرسل من فلتر فك الترميز ومعالجته ليظهر بصورته النهائية مثل إرسال المسار الخام لجهاز الصوت أو لكرت الشاشة تمهيدا لرسمه من قبل كرت الشاشة مثل فلتر VMR7 أو MadVR.
الأولوية
بفرض وُجد في الجهاز الواحد أكثر من فلتر يمكنه القيام بعملية واحدة، فعلى أي أساس سيتم انتخاب الفلتر ليقوم بالعمل؟ هنا يأتي دور الأولوية أو ما يسمى بـ MERIT. حيث تحدد قيم أولوية لكل فلتر، وتختلف القيم هذه من أولوية قصوى إلى رفض استخدامه بالكلية. على سبيل المثال يوجد لدينا أكثر من فلتر لفك ترميز مسارات إم بي 3، فسيتحدد الكودك المختار لفك الترميز حسب الأوليوية المسجلة له في Windows Registry.
السلسلة الافتراضية
هي سلسلة الفلاتر الخاصة لعمل شيء معين (مثل تشغيل ملف فيديو) والتي لها أعلى أولوية. أوضح مثال عليها هو تشغيل ملف صوتي مثلاً في مشغل مبني بتقنية دايركت شو، مثل ويندوز ميديا بلاير، وتشغيل نفس الملف في مشغل مثل ميديا بلاير كلاسيك، حيث سيتم استخدام نفس فلاتر دايركت شو في كلا البرنامجين نظرًا لأن كل فلتر له أولوية افتراضية تشارك في بناء سلسلة افتراضية عناصرها لها أعلى أولوية بين صنفها، وبالتالي ينتج لدينا سلاسل افتراضية كثيرة لكل نوع من أنواع الملف عند طلب تشغيلها، وهذا من ميزاتها، حيث عند تركيب كودك معين في الجهاز فلن يفرق كثيرًا بالنسبة للمستخدم كيف سيعمل الملف، ولكنه سيعمل في كل المشغلات بشكل افتراضي بنفس الكودك ونفس الإعدادات.
برامج مبنية على تقنية دايركت شو
أدوات
تمثل أداة GraphEdit الأداة المقدمة من مايكروسوفت بيئة لاختبار وظائف دايركت شو، حيث يمكن بناء الفلاتر فيها واختبارها واختبار أدائها وسرعتها وضبط إعداداتها وتسجيلها أو إلغاء تسجيلها أو تغيير أولويتها، كذلك أداة GraphStudio، وهي أداة مفتوحة المصدر تقوم بنفس مهام GraphEdit إن لم تتفوق عليها.
مراجع
- ^ "About DirectShowNet Library". DirectShowNet SourceForge Website. SourceForge. مؤرشف من الأصل في 2017-12-10. اطلع عليه بتاريخ 2010-08-18.
- ^ Introduction to DirectShow application programming نسخة محفوظة 23 نوفمبر 2016 على موقع واي باك مشين.
- ^ "VMR Windowless Mode". MSDN Library. Microsoft. مؤرشف من الأصل في 2016-03-04. اطلع عليه بتاريخ 2005-09-11.