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

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

DirectShow Graph&Filtters, GraphStudio, DolbyDigitalAudio, SubTypeGUID, ....etc 24-04-2013

zoulou99

ستار جديد
بسم الله الرحمن الرحيم




ان شاء الله سنتكلم في هذ الموضوع عن:
Dolby Digital Audio, DirectShow Graph and Filters, DVBViewer, MPC-HC, GraphStudio, WDSFT, SubTypeGUID, FFdshow, Cyberlink ..etc

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


كما نعلم ان فلتر Cyberlink Audio Codec من بين الفلاتر التي تعطينا صوت Dolby Virtual Speaker او Dolby Headphone ذو جودة عالية. طبعا هذا حسب تجربتي الشخصية, ونعلم ان الفلتر يدعم الخصائص و انساق الصوت التالية:
MPEG2, AAC, AC3, DTS , Dolby ProLogicIIx, Dolby Headphone, Dolby Virtual-Speaker, TruSurroundXT, CLMEI2, 5.1 and 7.1 channels …. etc

لكن المشكلة ان الفلتر لا يدعم بعض انواع الصوت المهمة مثل: OGG-Vorbis, OGG-Flac, Mp3

يعني لن نتحصل على اي صوت اذا عملنا Playback علي ملف Video فيه صوت Mp3 او Vorbis , او Playback على ملف صوت مثل file.Flac باستعمال Cyberlink Audio Codec.

وسيكون مثالنا:
Dolby Headphone from Cyberlink Audio Decoder PDVD13 with VID_Xvid__AUD_Mp3.avi

يعني سنحاول الحصول على صوت بجودة Dolby Headphone باستعمال فلتر Cyberlink من قراءة ملف فديو AVI مضغوط بـ :
Xvid for video and Mp3 for Audio


وهنا مثال عن صوت Stereo عادي و صوت Dolby Headphone الى من يريد المقارنة بسماعات الاذن.

http://www.mediafire.com/?2c2kp3fpkx3mk
او
http://rghost.net/users/zoulou99/releases/Dolby-Headphone-sound
او
https://www.dropbox.com/sh/kfoa9hyfccni0ft/-pB3to4do4





I/طريقة معرفة SubTypeGUID من خلال Direct Show Graph و باستعمال GraphStudioNext


لتحميل GraphStudioNext من هنا:

http://www.mediafire.com/?2c2kp3fpkx3mk
او
http://rghost.net/users/zoulou99/releases/Dolby-Headphone-sound
او
https://www.dropbox.com/sh/kfoa9hyfccni0ft/-pB3to4do4


1/ نشغل ملف الفديو او الصوت في Player يدعم خاصية DirectShow Spy مثل DVBViewer او MPC-HC


2/ برنامج GraphStudioNext محمول لا ينصب, وستجد طريقة تفعيل DirectShow Spy داخل الملف السابق

بعد القيام بكل الخطوات نفتح البرنامج, نذهب الى File ثم الى Connect to Remote Graph




3/ تفتح معنا نافذة صغيرة نختار منها الـ PID المناسب ثم نضغط على Connect




4/ الان تحصلنا على Graph المستعمل من طرف DVBViewer ليعطينا الصوت و الصورة




5/ تابع الخطوات في الصورة

هنا مثلا تحصلنا على SubTypeGUID للـ Audio Stream الموجود في Graph من خلال قراءة
الملف هنا عبارة عن فديو MKV مضغوط بـ H264 for video and AC3 for audio




6/ و بنفس الطريقة و مع ملفات مختلفة ممكن نلخص الاتي

كود:
MEDIASUBTYPE_FLAC_FRAMED {1541C5C0-CDDF-477D-BC0A-86F8AE7F8354}

MEDIASUBTYPE_MP3 {00000055-0000-0010-8000-00AA00389B71}

MEDIASUBTYPE_Vorbis2 {8D2FD10B-5841-4A6B-8905-588FEC1ADED9}

MEDIASUBTYPE_DOLBY_AC3 {E06D802C-DB46-11CF-B4D1-00805F6CBBEA}

MEDIASUBTYPE_MPEG1AudioPayload {00000050-0000-0010-8000-00AA00389B71}

MEDIASUBTYPE_DTS2 {00002001-0000-0010-8000-00AA00389B71}


II/القراءة بواسطة MPC-HC


اخترت MPC-HC لآنه مرن و يتيح لنا عمل تعديلات على طريقة بناء الغراف graph


1/ نحتاج الى فلتر اضافي لنتمكن من استعمال فلتر Cyberlink في كل الظروف. هذ الفلتر هو FFdshow Audio Codec

فلاتر Cyberlink و FFdshow موجود في Star(dvb) Codecs من الاخ RAWDVB و هناك حزم اخرى اختر منها ما تشاء
ابحث هنا http://stardvb.com/forum/f-13/ لان الروابط المباشرة داخل المنتدى غالبا ما تتغير مع تغير نسخ الموضوع.

واذا كان عندك فلتر Cyberlink , حمل مباشرة Setup الاصلي لفلتر FFdshow من هنا

http://www.mediafire.com/?2c2kp3fpkx3mk
او
http://rghost.net/users/zoulou99/releases/Dolby-Headphone-sound
او
https://www.dropbox.com/sh/kfoa9hyfccni0ft/-pB3to4do4



2/ بعد التنصيب نذهب للإعدادات في FFdshow Audio Decoder و نضع Output Format على القيمة 16bit-LPCM





3/ في بعض الاحيان تنقلب قنوات الصوت لذى نعالج الامر في FFdshow طبعا هذفي حالة عندك مكبرات صوت 5.1 او 7.1 HomeCinema اما مكبرات الصوت العادية 2.0 فلا تحتاج في الغالب الى تصحيح المخارج




4/ هنا نغير اعدادات MPC-HC و نعطل فلاتر الصوت (internal filter) كي لا تستعمل للقراءة




5/ نذهب الي external filter و نضيف الفلاتر FFdshow و Cyberlink




6/ نضع الفلاتر السابقة على Prefered






7/ كل ما كان عدد الفلاتر قليل في بناء الغراف Graph كل ما كان احسن. لذلك سنقوم بإعداد فلتر FFdshow للتدخل مع نسق الصوت الذي لا يدعمه فلتر Cyberlink فقط

- نحدد فلتر FFdshow ونذهب للأسفل الي SubType
- نحذف كل SubType التي يدعمها فلتر Cyberlink
- في المثال تركت:
* MP3 SubType
* Vorbis SubType




8/ الان نكون قد انتهينا من اعداد MPC-HC و الفلاتر و نذهب لتجريب اي فديو به MP3 او Vorbis و اليكم صور من Direct Show Graph

VID_h264-720p__AUD_vorbis.mkv


VID_Xvid__AUD_MP3.avi




9/ نلاحظ هنا ان فلتر FFdshow لا يتدخل في حالة وجود صوت غير MP3 او Vorbis ويمكن ترك Flac, Wma,…. في SybType و كل مالا تدعمه فلاترك المفضلة

VID_h264-720p__AUD_ac3.mkv




10/ اذا اردنا الان تشغيل Flac مثلا. اما ان لا نحذفه او نضيفه من جديد



نشغل اي ملف Flac





11/انتهينا من اعداد MPC-HC و لا ننسى اعدادات فلتر الصوت


او مثلا



VID_Xvid__Aud_Mp3.avi









III/القراءة بواسطة DVB-Players



هنا سنتعامل مع DVBViewer لانه يتمتع بمزايا جيدة جدا مثل

- Prest Direct Show Custom Connection with Paramerters
- Auto Condition B for Audio and Video
- Stable Playback
- Stable connection filter, both intelligent and direct
- HTTP Mode and good Live and Playback OSD

لتحميل DVBViewer ابحث هنا:
http://stardvb.com/forum/f-66/

ونفترض ان DVBViewer جاهز بكل لوازمه, وان الخطوات 1 و 2 و 3 مما سبق لإعداد فلتر FFdshow قد تمت مثل ما شرحناه





I-III/في حالة كان لديك Windows XP .

في هده الحالة ما عليك الا ان تختار الفلاتر المناسبة في اعدادات DirectX في نافدة Options
ولاحظ ان في WinXP لا توجد كارثة Microsoft DTV-DVD Video/Audio Decoder مثل ماهي موجودة في WinVista, Win7, Win8
ورح تفهمني في المرحلة القادمة.







II-III/في حالة كان لديك Windows Vista او Windows 7 او Windows 8 .

1/ الاعدادات
تختار الفلاتر المناسبة في اعدادات DirectX في نافدة Options






2/ نعمل Playback لملف او ثنين و نشوف النتيجة

VID_Xvid__AUD_MP3.avi



VID_h264-720p__AUD_vorbis.mkv




لاحظ في الصورتين ان Microsoft DTV-DVD Audio Decoder تدخل في صنع الغراف من دون ان نحدده في الاعدادات, وهذا من بعض مشاكل DirectShow في نسخ الويندوز الحديثة.

و في الحقيقة فلاتر Microsoft DTV-DVD Video/Audio Decoder فلاتر صعلوكه اذا صح التعبير, لانها لا تخضع لقواعد Merit , حتى لو كان فلتر Cyberlink اعلى منها في القيمة ستأخذ مكانه, اذا حاولت تخفض قيمة Merit لفلتر MS-DTV باستعمال GraphStudo مثلا لن يستجيب, و الافضل من ذلك انه يحاول غالبا التدخل في AC3 Audio Stream من دون اي صوت يذكر.

في السابق كان لازم تعدل مفاتيح الرجيستري REGEDIT , و ازالت الحماية عنها قبل تعديلها. يذكر ان المفاتيح المسؤولة عن الفلاتر و فلتر MS-DTV محمية ضد التعديل يعني ACL , واذا كان الشخص غير متعود على الرجيستري ممكن يخربط كل الجهاز, واحيانا يصل الى مرحلة لابد انه يعيد تنصيب الويندوز من جديد.

اما الان و الحمد لله يوجد برنامج جيد ليقوم بنفس العمل آليا في مكانك, و هو Windows Direct Show Filter Tweaker .


لتحميل Win7DSFilterTweaker من هنا :

http://www.mediafire.com/?2c2kp3fpkx3mk
او
http://rghost.net/users/zoulou99/releases/Dolby-Headphone-sound
او
https://www.dropbox.com/sh/kfoa9hyfccni0ft/-pB3to4do4



3/ برنامج WDSFT محمول لا ينصب, فقط انقر عليه


Main Window


Preferred Filter Window



Microsoft Filter Tweakes Window



اخترت ان اعطل Microsoft DTV-DVD Video/Audio Decoder لأني لا استعمله, و الحقيقة ممكن تجد ضالتك في Preferred Filter Window اذا كنت تستعمله او لا تريد تعطيله.


4/ بعد الانتهاء من اعدادات MS-DTV نجرب الان نفس الملفات و نشوف اذا تغير شيء


VID_h264-720p__AUD_vorbis.mkv



VID_Xvid__AUD_MP3.avi




5/ الان اذا اردنا قراءة ملف صوت بصيغة Flac ماذا نفعل؟

يجدر الذكر ان الويندوز لا توجد فيه فلاتر Flac , لازم اضافتها حتى تستطيع قراءة ملفات من هذا النوع, و كمثال سنستعمل MPC-HC Flac Source Filter .

التحميل من هنا:

http://www.mediafire.com/?2c2kp3fpkx3mk
او
http://rghost.net/users/zoulou99/releases/Dolby-Headphone-sound
او
https://www.dropbox.com/sh/kfoa9hyfccni0ft/-pB3to4do4


ستجد كيف تسجل الفلتر في DirectShow داخل الملف, لكن لا تغير مكان الفلتر بعد تسجيله, ثم نجرب Playback على اي ملف Flac








6/ انتهينا من الاعدادات, باقي تختار اعدادات فلتر Cyberlink على حسب ذوقك










IV/مجموعة ملاحظات هامة :

- قد يبدو الموضوع في اتجاهات مختلفة, وذلك كان متعمد لتعم الفائدة, ممكن انسان استفاد من GraphStudio ولا يهمه موضوع Dolby Digital Audio , و ثاني لم يكن يعلم مرونة MPC-HC , و ثالث لا يهمه شيء في الموضوع الا تحميل فلتر MPC-FlacSource فقط, ...........الخ.

- ممكن ان لا تعطل فلاتر Microsoft و تلقنها استعمال Merit من خلال النافذة Preferred DS Filter , لكن احيانا لا تستجيب الفلاتر للتعديل .

- مشكلة فلاتر Microsoft ممكن تلاقيها حتى مع MPC-HC , حاول ان تضيفها في ExternalFilter و اعمل عليها Block , اذ لم ينفع هذا استعمل برنامج WDSFT كما سلف .

- في حالة تدخل فلتر اخر غير MS-Filter , اما ان ترفع Merit فلاتر FFdshow و Cyberlink او تخفض Merit الفلتر الدخيل. طبعا اذا كنت لا تحتاجه احذفه.

- في بداية الموضع استعملت GraphStudioNext اما في الباقي استعملت GraphEditPlus , الغراف به واضح ليفهم بسهولة, ولم اضعه للتحميل لان اخر نسخة بتاريخ 2009 ولم يحدث بعدها ولا يدعم جيدا EVR عكس GraphStudioNext النسخة الاخيرة 2013-01-28 , و هو في الحقيقة فعال جدا.

- عند اختيار PID ممكن تتعرف عليه مباشرة بالتعود او تجرب و في كل مرة تعمل connect حتى تجد PID الصحيح, وليس كل البرامج تدعم DVB-Spy , ممكن تجرب مع Windows Media Player بس لن يظهر لك اي غراف.

- مفهوم SubTypeGUID ليس للصوت فقط, كل انواع الصوت و الفديو لها SubTypeGUID الخاص بها, و بفضل هذا يتم بناء الغراف بشكل صحيح في DirectShow .

- لا يمكن استعمال AC3Filter مكان FFdshow , لا توجد فيه خاصية LPCM-16bit في Output على الاقل في النسح الحالية.

- ممكن تكون اضافات او تعديلات في الردود مستقبلا, واعتذر مسبقا اذا لم ارد بسرعة.

- السلام عليكم ورحمة الله و بركاته.​
 
التعديل الأخير:

Frozen

كبار الشخصيات
لا أستطيع قراءة كامل الموضوع الآن لغزارته وطوله وسأعود إليه غداً

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

وبكل بساطة مثبت + ختم
 

Frozen

كبار الشخصيات
أعدت قراءة الموضوع مرة ثانية وحقيقةً هو متقدم جداً جداً

الموضوع جميل جداً وسيسفيد منه من يبحث عن تحديد الأولويات وتحديد كل ديكودر مع أنواع الملفات التي يتعامل معها وما إلى ذلك
إضافةً إلى تعريفنا ببرامج مفيدة وطريقة استخلاص SubType ... هناك أشياء كانت جديدة عليّ والحمد لله قد استفدت منها

- لكني أقترح أن يكون عنوان الموضوع لافت أكثر
- تقسيم الموضوع إلى أقسام:
* طريقة تحديد الأولويات
* طريقة تحديد الأنواع التي يشغلها كل ديكودر
* شرح نبدة عن الـ Splitters

المقصود من هذه الأمور خفض مستوى الموضوع من متقدم إلى متوسط على الأقل :)
فالموضوع كما ذكرت لك متقدم جداً واحترافي جداً، حتى أنك احترافي لمجرد استخدام الـ dropbox :)
الموضوع راجع لك في النهاية

وأشكرك مرة أخرى من أعماق قلبي فقد سعدت كثيراً بالقراءة ووقفت كثيراً عند بعض النقاط حتى فهمتها

وهناك شيء آخر أظنني لا أعرفه حقيقةً وإنما أراه فقط، فهل تفضلت بشرح مبسط عن خصائصه، وهو يا صديقي ( LPCM-16bit)؟
وهلاّ عرفتنا بإسمك الكريم
 

zoulou99

ستار جديد
[FONT=&quot]بارك الله فيك اخي[/FONT][FONT=&quot] Frozen [/FONT][FONT=&quot]وان شاء الله اكون دائما عند حسن ظنكم، وسعدت جدا بكلماتك الطيبة اخي الكريم[/FONT][FONT=&quot].

[/FONT][FONT=&quot]اما بخصوص الاقتراحات، فهي جيدة، وأدركت أنى لم أفلح في تبسيط الامور، خصوصا الى الذي لم يتعامل ابدا مع [/FONT]​
[FONT=&quot]الفلاتر، فبالنسبة للعنوان، وتقسيم الموضوع ... الخ، فغير ما تضنه وتراه أفضل وانسب اخي الكريم[/FONT][FONT=&quot].

[/FONT][FONT=&quot]بخصوص الفلاتر وتعريف الـ[/FONT][FONT=&quot] Splitters [/FONT][FONT=&quot]وكل الاضافات فاقترح ان اعد الموضوع من جديد مع كل التوضيحات و [/FONT]​
[FONT=&quot]الاضافات الممكنة في الايام المقبلة ان شاء الله، و سأتصل بك او بأحد الاخوة المشرفين لنرى امكانية تعديل الموضوع[/FONT][FONT=&quot].


LPCM-16bit

[/FONT][FONT=&quot]كلنا نعرف ان كرت الصوت يستقبل[/FONT][FONT=&quot] Audio Stream [/FONT][FONT=&quot]من الفلتر الي قبله مباشرة، وذلك بصيغة[/FONT][FONT=&quot] PCM .

[/FONT]​
[FONT=&quot]الـ[/FONT][FONT=&quot] PCM [/FONT][FONT=&quot]هو[/FONT][FONT=&quot] pulse code modulation [/FONT][FONT=&quot]وهو في الحقيقة[/FONT][FONT=&quot] analog signal [/FONT][FONT=&quot]بس بصيغة رقمية كي تتعامل معه كرت [/FONT]​
[FONT=&quot]الصوت. و الموجات فيه متساوية بانتظام[/FONT][FONT=&quot].

[/FONT][FONT=&quot]اما[/FONT][FONT=&quot] LPCM [/FONT][FONT=&quot]فهو[/FONT][FONT=&quot] Linear pulse code modulation [/FONT][FONT=&quot]وهو شبيه بالأول لكن يعمل بـ[/FONT][FONT=&quot] Linear logarithm [/FONT][FONT=&quot]، له عدة [/FONT]​
[FONT=&quot]خصائص منها[/FONT][FONT=&quot]:

- sample resolutions [/FONT][FONT=&quot]مثل [/FONT][FONT=&quot]24bit, 20bit, 16bit, 8bit .

[/FONT]​
[FONT=&quot]- sampling frequencie [/FONT][FONT=&quot]مثل 44.1[/FONT][FONT=&quot]Khz, 48Khz, 96Khz, 192Khz .

[/FONT][FONT=&quot]وهو صوت لايزال مضغوط بعض الشيء، لذلك تلاحظ ان كرت الصوت لا تستطيع فهمه، وهو نفس الـ[/FONT][FONT=&quot] Audio stream الموجود في
معظم الـ[/FONT][FONT=&quot] DVD [/FONT][FONT=&quot]و[/FONT][FONT=&quot] BD [/FONT][FONT=&quot]لذى تلاحظ في بعض الاحيان انه القارئ الخارجي للـ[/FONT][FONT=&quot] DVD [/FONT][FONT=&quot]اذا كان من نوعية رديئة لا يستطيع قراءة الصوت
من[/FONT][FONT=&quot] DVD [/FONT][FONT=&quot]، ولنفس السبب لا يستمر بناء الغراف في[/FONT][FONT=&quot] DirectShow [/FONT][FONT=&quot]و يربطه مع فلتر آخر يستطيع تحويله الى[/FONT][FONT=&quot] PCM .


[/FONT]​
[FONT=&quot]اخوكم في الله عبد الرحمن[/FONT]​
 
التعديل الأخير:

Frozen

كبار الشخصيات
شكراً أخي عبد الرحمن على التفاعل، أنت نجحت في طرح الموضوع في إطار حجم الموضوع
ويمكنك إعادة طرح الموضوع في إطار متوسط بحيث تشرح أدوات
CodecTweakTool
Win7DSFilterTweaker
MPC External & Internal filters
هنا يكون الشرح أبسط وأشمل، خصوصاً أن القسم يفتقد لمثل هذه الشروحات

وشكراً لك على توضيح وشرح الـ LPCM

زادك الله علماً
 
أعلى