ما الجديد
ستار دي في بي | StarDVB

أهلاً وسهلاً بك من جديد في ستار دي في بي StarDVB. تم في الاونة الاخيرة تطوير وتخصيص الموقع ليشمل IPTV و SMART TV بشكل أوسع من السابق. إذا كنت مسجل سابقا يمكنك الدخول باسم المستخدم السابق نفسه، وإن كنت غير مسجل مسبقاً، يمكنك التسجيل الان. نرحب بمشاركاتك واقتراحاتك في أي وقت، نتمنى لك وقتاً ممتعاً معنا.

الفلتر، الفلتر جراف، الدايريكت شو، تحت المجهر (الحلقة الاولى) للمبتدئين والمتقدمين

GeuvarA

Love You Palestine
الفلتر جراف Filter Graph

كثيرا ما نسمع عن الفلتر والفلتر جراف ونستخدمه كلما استخدمنا الكمبيوتر دون انو نعي لمكوناته او الميكانيكية التي يعمل بها وكيف يمكننا الاستفادة منه، ففي هذا الموضوع نتطرق الى معرفة الفلاتر والفلتر جراف والدايريكت شو وغيرها العديد من الاشياء ومنها ما سيتبع في مواضيع اخرى مكملة لهذا الموضوع


الفلاتر هي الوحدات الاساسية للبرامج التي تعتمد على الدايريكت شو Directshow، وتعد هذه الفلاتر هي المكون الاساسي للفلتر جراف filter graph. وتعد وظائفها متعددة ولها طريقتها الخاصة في استقبال وتمرير البيانات.
كل فلتر من الفلاتر يحتوي على pin او اكثر (تعمل مثل الدبوس)، ويعمل ال pin كنقطة توصيل بين فلتر وفلتر اخر في ال filter graph.
وتنقسم ال pin الى قسمين

1- input pins (المدخلة او المستقبلة) : والتي تعمل على استقبال السيل stream من البيانات وتدخله الى الفلتر
2- output pins (المخرجة او المنتجة) والتي تقوم بدورها على عملية اخراج او انتاج للسيل لتحويله وارساله الى فلتر اخر عن طريقها
أنواع الفلاتر

يوجد ثلاث تصنيفات اساسية لفلاتر ال DirectShow وهي input، processing، output او rendering وتعني rendering أي عملية الاستخلاص (المدخلة او المستقبلة، والمعاجلة، والمخرجة او المرسلة) على التوالي.
وكل فلاتر ال DirectShow تقع تحت واحدة من التصنيفات الاتية:
1- Source Filters (الفلتر المصدر)

وهو عبارة عن المصدر الذي يقوم بانتاج او اصدار سيل البيانات stream. وقد يكون هذا السيل stream ملف من الهارد ديسك (طبعا ملفات الملتي ميديا –صوت او صورة او كليهما- وليس كل الامتدادات) او من المايكروفون او كاميرا الويب او من كرت الستلايت.
واذا كان المصدر من وسيط مباشر مثل الويب كام او غيره من المصادر، في هذه الحالة يقوم ال DirectShow بعملية الربط مع تعريف الكاميرا او غيرها الموجود مسبقا في الويندوز او ما يسمى ب Windows Driver Model (WDM)، وكل تعريفات وسائط الملتي ميديا موجودة تلقائياً في DirectShow ك source filters.
2-Transform Filters (الفلاتر المحولة)

وهذه الفلاتر تقوم باستقبال ال stream من فلتر اخر وغالبا ما يكون الفلتر المصدر source filter، ويقوم بعمل بعض العمليات عليه وبعد ذلك يقوم بتمريره الى فلتر اخر. وممكن تخيل احدى العمليات التي يقوم بها وهي عملية تحويل ملفات ال WAV الى MP3 هذه العملية تجري في هذا الفلتر، وغيرها الكثير من العمليات مثل عملية ظهور الكتابة فوق الفيديو المعروض مثلما نرى فيبعض برامج كروت الستالايت والتي يوجد بها خاصية ال OSD.

3- Renderer Filters (الفلاتر المخلصة او المخرجة)

وهي تقوم بعملة ترجمة السيل الخاص بالدايركت شو على هيئة اشكال متعددة، ومنها فلاتر مخلصة تقوم بعملة حفظ السيل stream في ملف على الهارد ديسك مثلاً، ومنها الاخر يقوم باخراج السيل الخاص بالصوت عن طريق السماعات والفيديو عن طريق الشاشة.
ومن هنا نستخلص بان ال DirectShow يعكس حقيقة ان ال renderer filters تستخدم ال DirectDraw خاص بتقنيات الصورة، وتستخدم ايضا DirectSound وهذا خاص بتقنيات الصوت والدايريكت شو يستخدمهما في نفس الوقت وبهذا يتم السماح للسيل الخارج renderer filter للوصول الى كرت الشاشة وكرت الصوت.

الخلاصة لما سبق:

ان الدايريكت شو فلتر جراف DirectShow filter graph متكون من اتحاد ثلاث انواع من الفلاتر وكل فلتر جراف يتكون على الاقل من فلتر مصدري واحد source filter و مستخلص واحد render filter وعدة من الفلاتر المحولة او المترجمة transform filters، وفي كل فلتر جراف يتم انشاء السيل من الفلتر المصدري ليتم ادارته ومعالجته من الفلاتر المحولة او المترجمة، وفي النهاية يتم استخراجه واستخلاصه عن طريق الفلاتر المستخلصة، وهذه الفلاتر تكون مترابطة مع بعضها بما يسمى pins وهي النقاط او المرابط التي تقوم بعملية نقل السيل من فلتر الى اخر.

Source-trans-rend%20filters.jpg


التوصيل بين الفلاتر

على الرغم من ان كل فلتر من ال DirectShow يحتوى على روابط او pins، الا انه ليس دائما يكون من الممكن عملية التوصيل بين رابط ادخال واخر للاخراج.
عندما يتم توصيل فلترين مع بعضهما في هذه الاثناء يتم الاتفاق على نوع سيل البيانات الذي سيمر بينهم. على سبيل المثال في حالة استخدام فلتر الويب كام او فلتر MPEG-2 مثل كروت الستالايت (كمصدر) في هذه الاثناء الفلتر المحول او المترجم الذي يتم قبول اتصاله للويب كام لا يتم قبوله كفلتر محول لكرت الستالايت.

الروابط او pins في فلاتر الدايريكت شو تقوم بعمل فحص بين الفلاتر التي تود الاتصال للتاكيد على ان الانواع بين الروابط والفلاتر متوافقة قبل ان يتم الاتصال بين فلترين.
وكل فلتر له قائمة منشورة بكل انواع الميديا التي من الممكن ان يتم الاستقبال والارسال منها واليها وفي نفس الوقت يتم انشاء نوع من ميكانيكية التنقل يشرح كيف يقوم كل فلتر بعملية نقل السيل من رابطة الادخال الى الاخراج. (سيتم الحديث عن انواع الميديا وميكانيكية التنقل بين الفلاتر فيما بعد).

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

ومرة اخرى يجب على الروابط pins الاتفاق على ميكانيكية النقل، ومرة اخرى ايضا اذا لم يتم الاتفاق فيما بينهم فان عملية الاتصال ستفشل. وفي النهاية هنا، على احد الروابط ان تنشئ موزع او مقسم ويسمى allocator وهو عبارة عن شئ يقوم بانشاء وادارة نقاء بيانات السيل والتي تستخدمها روابط الاخراج لتمرير البيانات الى روابط الادخال. و ال allocator من الممكن ان يكون خاص بروابط الادخال او الاخراج لطالما يوجد هناك توافقية فيما بينهم.

اذا تم الاخذ في الاعتبار المعايير السابقة وتم الاتصال، فان هذا الاتصال والاختبار يتم على كل فلتر في الجراف حتى يتم الانتهاء من انشائه.
أي انه يتم الاتصال من الفلتر المصدر---إلى---- الفلتر المترجم او المحول----إلى---- الفلتر المخرج او المستخلص
وعند بداية تشغيل الفلتر جراف يبدا سيل البيانات بالسير من رابطة اخراج لفلتر ما الى رابطة الادخال من فلتر اخر وهكذا....

الربط او التوصيل الذكي

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

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

الفلتر جراف Filter Graphs

الفلتر جراف الخاص بالدايريكت شو يقوم بتنظيم مجموعة من الفلاتر في وحدة وظيفية. عندما تتصل الفلاتر يتم تقديم مسار للسيل من الفلتر المصدري الى الفلتر المحول وبعدها في النهاية الى الفلتر المخرج. وبالرغم من ذلك الا انه غير كافي لتوصيل الفلاتر. ويقوم الفلتر جراف بابلاغ الفلاتر متى تبدا عمليتها ومتي تنهي او تتوقف ومتى تقوم بالتوقف المؤقت. وبالاضافة الى ذلك الفلاتر بحاجة الى ان تكون متوافقة ومتزامنة لان كل الفلاتر تتعامل مع اشكال ميديا والتي يجب ان تكون في تزامن ( على سبيل المثال تخيل مدى الاحباط الذي ستصاب به في حال انك تشاهد فيلم لايوجد به تزامن بين الصوت والصورة!)

لهذا السبب الفلتر جراف يولد برنامج معتمد على ساعة وهي متوفرة لكل الفلاتر في الفلتر جراف. وهذه الساعة تستخدم للحفاظ على التزامن والتوافق وللسماح للفلاتر للبقاء في عملية تمرير سيل البيانات من فلتر لاخر.
عندما يكون اهتمام المستخدم في واحد من اوامر الدايريكت شو الاساسية ( تشغيل run، توقف stop، توقف مؤقت pause) فان الفلتر جراف يقوم بارسال رسائل لكل فلتر موجود فيه. وكل فلتر يجب ان يكون قادرا على معالجة هذه الرسائل (تشغيل، توقف، توقف مؤقت). على سبيل المثال لو اعطيت امر التشغيل للفلتر لمصدر الويب كام فان هذا الامر يبدا سيل من البيانات في الفلتر جراف عن طريق الفلتر المصدري، وفي خلال عملية سير البيانات فان امر التوقف سيؤدي الى ايقاف هذا السيل من البيانات مباشرة، وامر التوقف المؤقت يقوم بعمل التوقف ولك مع المحافظة على الصورة وبامكانك اكمال السيل من حيث توقف مرة اخرى باعطاء امر التشغيل او ان تقوم بايقافه نهائيا بامر الايقاف.


الى هنا ننتهي اليوم بهذا القدر

وان شاء الله سيكون لنا اكمال لهذا الموضوع

تحياتي

جميع الحقوق محفوظة لدى منتدى StarDVB (يمنع النقل لمنتدى اخر)
 

StarDVB

Destiny
طاقم الإدارة
يا عيني عالابداع

كلام واضح ولا غبار عليه

بانتظار باقي الاجزاء

تم التثبيت
 

johnnata

ستار جديد
جازاك الله استاذنا الكبيركل خير على الشرح الرائع و السلس الفهم thumb: thumb:
تحياتي القلبية لك.
 

DVB Master

كبار الشخصيات
ياسلام يا جيفارا يارائع عمل متعوب فيه , ربنا يجعله فى ميزان حسناتك.
 

Aden_man

كبار الشخصيات
منتظرين باقي الاجزاء عزيزي علشان نستفيد اكثر من استاذنا الكبير
 

ALIHI_FI

ستار جديد
أستاذ كبير حقيقى

ألف شكر على المعلومات القيمة ممكن سؤال هل الفلتر يؤثر فى عملية سرعة التنقل بين القنوات ويمكن فك الشفرات لبعض القنوات من خلال الفلاتر ولك تحياتىthumb:
 
أعلى