إذا كنت أحد مستخدمي توزيعة أوبنتو أو فيدورا أو ماندريفا فإنك وبكل تأكيد مرت عليك كلمة GStreamer plugins عندما تريد أن تشغل أحد صيغ الفيديو غير الحرة مثل AVI أو MPEG ، حيث سيطلب منك النظام الاتصال بالانترنت للبحث عن الترميز المناسب للصيغة التي تريد تشغيلها. وبعد ذلك سيطلب منك الموافقة على تثبيت ملحقات good أو bad أو ugly ، وبعد تثبيتها ستنعم بسلام مع أي صيغة ملتميديا تواجهك.
ولكن ما هي GStreamer ؟
بكل بساطة يمكننا أن نعرف ج-ستريمر بأنها إطار عمل framework للملتميديا مكتوبة بلغة السي ، وهي مبني على فلسفة خط الأنبوب pipeline.

قدمت شركة Fluendo حلول تعتمد على ج-ستريمر من أمثال خوادم بث الملتميديا بترميزات الحرة و الترميزات ذات براءات الاختراع وكان ذلك عبر مشروع خادم بث الملتميديا Flumotion.
وبالفعل قدم المطورون تحسينات واسعة في بنية ج-ستريمر في سلسلة 0.9 و في سلسلة 0.10 والتى صدرت في عام 2005 وصلت منصة ج-ستريمر إلى عصرها الذهبي من حيث الأداء و الثبات والموثوقية ، وأصبحت توزع بشكل افتراضي في كل توزيعات جنو/لينكس الشهيرة مثل أوبنتو و فيدورا و أوبن سوز ، وتستخدم في العديد من المشاريع التجارية المختلفة.
في عام 2007 غادر بعض المطورين شركة Fluendo وانضموا إلى عدة شركات أخرى من مثل شركة Collabora و صن مايكروسيستم و SongBird، ومن ذلك الحين بدأت عملية تطوير ج-ستريمر بواسطة عدة شركات مختلفة مثل نوكيا و موترولا وليس شركة واحدة، وأصبحت منصة عمل للملتيمديا متعددة المنصات و قوية جدا.
حاليا يستضيف مشروع Freedesktop.org هذه المنصة و هو يهدف بشكل ضمني إلى تحسين التوافقية و مشاركةالتكنولوجيا بين أسطح المكتب المختلفة.
كيف تعمل هذه المنصة؟
كما قلنا سابقا هذه المنصة مبنية على فلسفة خط الأنبوب ، فمنصة ج-ستريمر تقوم بمعالجة الميديا وذلك بوصل عدد من عناصر المعالجة داخل خط الانبوب. وكل عنصر يزود بواسطة ملحق ، والعناصر يمكن أن تجمع في حاوية ، و تتواصل العناصر بواسطة أربطة وسطية ، فالرباط المرسل لعنصر ما يمكن أن يتصل إلى الرباط المستقبل في العنصر الآخر. و عندما يكون خط الأنبوب في حالة التشغيل فسيل البيانات يتدفق من رباط المصدر إلى رباط المستقبل.
في المخطط التالي يشرح كيفية قراءة ملف MP3 باستخدام ج-ستريمر. ملف المصدر يقرأ ملف mp3 من قرص الصلب ويرسله إلى فاك تشفير mp3 ، و يقوم فاك التشفير بفك البيانات ويحولها إلى PCM والتي يمكن تمريرها بعد ذلك إلى تعريف الصوت ALSA. بعد ذلك يقوم تعريف الصوت ALSA بإرسال أصوات PCM إلى سماعات الحاسوب.

المحلقات:
تستخدم منصة ج-ستريمر معمارية الملحقات وقد تكلمنا قليلا عنها عندما تحدثنا عن بنية xine ، هذه المعمارية جعلت معظم وظائف ج-ستريمر تعد كمكتبات مشتركة. بنية وظائف ج-ستريمر الأساسية تحوي على وظائف لتسجيل و تحميل المحلقات وتوفير الوظائف الأساسية. مكتبات الملاحق تحمل بشكل ديناميكي لدعم طيف واسع من الترميزات و الحاويات و مشغلات الدخل والخرج و المؤثرات.
منذ الإصدارة 0.10 تأتي المحلقات مجموعة في ثلاثة أصناف:
حزمة الملحقات الجيدة: وهي تحوي على المحلقات ذات جودة عالية ومرخصة تحت ترخيص LGPL.
حزمة الملحقات السيئة: وهي تحوي على الملحقات مقاربة لجودة حزمة المحلقات الجيدة ولكن ينقصها شيء ما مثل: مراجعة جيدة للكود ، أو بعض التوثيقات ، أو المسؤول عن صيانتها بشكل دائم.
حزمةالملحقات القبيحة: وهي المحلقات التي تخلق مشاكل في التوزيع.
كذلك يوجد ملحق GStreamer FFmpeg plug-in وهو ملحق يحوي على ملحق واحد مع مجموعة من العناصر تستخدم كود مكتبة FFmpeg ، وهذا المحلق يحوي على أشهر مفكات التشفير decode.
تطبيقات تعتمد على منصة ج-ستريمر
هناك قائمة طويلة من التطبيقات التي تعتمد على هذه المنصة الرائعة ، يكفي أن تعرف أن مشروع سطح مكتب جنوم هو أول مستخدم رئيسي لتكنولوجيا ج-ستريمر ، بحيث ضمن هذه المنصة منذ إصدارة جنوم 2.2 ، وهو يشجع تطبيقات جنوم و GTK على استخدامها. من المشاريع الكبيرة التي تستخدمها منصة الميديا Chameleo و مكتبة Phonon و مشغل الميديا Songbird.
كذلك تعمل ج-ستريمر على الأجهزة المضمنة مثل Nokia 770 و N800 و Palm Pre و N810.
وهناك قائمة طويلة من التطبيقات المتوسطة والصغيرة التي تستخدمها وسأذكر بعضا منها:
برنامج Pitivi : وهو محرر فيديو غير خطي ، تطوره شركة Collabora بحيث استأجرت مبرمجين للعمل عليه بدوام كامل ، وقد صدرت نسخة منه قريبا بتطويرات هائلة.

برنامج PiTiVi
برنامج Jokosher : وهو برنامج قوي للتعامل مع المسارات المتعددة، بحيث يمكنك إنشاء وتسجيل الموسيقى ونشرها من بيئة متكاملة وبسيطة.

برنامج Flumotion : وهو خادم لتوزيع بث الميديا ، وقد تكلمنا عنه سابقا.
برنامج Buzztard : وهو مشروع يهدف لتقديم استيدو موسيقى حر ومفتوح المصدر ، وقد بني بشكل عام على مفهوم برنامج للنظام الويندوز تجاري يطلق عليه Buzz ، هذا البرنامج التجاري لم يحصل على تطوير إضافي لأن المطور الاساسي فقد مصدره.

ماذا بعد؟
أود أن أنوه أن منصة ج-ستريمر تدعم العربية بشكل جيد ، بخلاف بقية مشغلات الميديا التى تكلمنا عنها سابقا. هذا وأي إضافة أو تعديل أو استفسار مرحب به.
التعليقات
شكرا لك لي مقالة عن معالجة
مايو 27, 2009 كتبه السعدي, منذ 42 أسبوعا يومين
رقم التعليق4027
شكرا لك
لي مقالة عن معالجة الملفات الصوتية بها
http://cltb.ojuba.org/ar/articles/audio.html
ما شاء الله أستاذنا مؤيد ،
مايو 27, 2009 كتبه Fahad, منذ 42 أسبوعا يومين
رقم التعليق4029
ما شاء الله أستاذنا مؤيد ، مقالة عميقة جدا و مليئة بالتفصيلات التقنية ، شكرا عليها ، لم انتبه لها من قبل حتى أقتبس منها .
موضوع جيد جدا .. و معلومات
مايو 27, 2009 كتبه أحمد الموسى (لم يتم التحقق), منذ 42 أسبوعا يومين
رقم التعليق4030
موضوع جيد جدا .. و معلومات مفيدة كثيرا ..
يعطيكم العافية
استفسار
مايو 27, 2009 كتبه طريف (لم يتم التحقق), منذ 42 أسبوعا يومين
رقم التعليق4031
جزاك الله خيرا فقد فوضحت لي الكثير حول ج-ستريمر والتي كانت بالنسبة لي مثل لغز لا ادري عنه شيء
ولي استفسار بسيط وهو لماذا لا تتضمن توزيعة أوبونتو (وغيرها) هذا الاطار للعمل، لماذا لا يتضمن التراميز المناسبة للصيغ المشهور مثل mp3 ...
يعني الكل يحتاج الى تشغيل مثل هذه الصيغ فلماذا لا يكون ترميزها متوافر مع النظام
وشكرا
السبب يا طويل العمر هو أن
مايو 27, 2009 كتبه زايد, منذ 42 أسبوعا يومين
رقم التعليق4032
السبب يا طويل العمر هو أن القانون الأمريكي لا يسمح لك بتشغيل ملفات mp3 بدون أن تدفع التراخيص اللازمة لذلك بسبب أن هذه التنسيقة هي تنسيقة مملوكة و تجارية ، الحل هو أن تشتري برنامج مرخص (أي لديه ترخيص لتشغيل هذه التنسيقة بعد دفع مبلغ محترم ) وبسبب أن أوبنتو غيرها مجانية و توزع في الولايات المتحدة و غير مستعدة لأن تدفع تكاليف التراخيص فهي غير متاحة بشكل افتراضي.
الحل سهل هو وجود خط انترنت مشبوك على الجهاز ، و على بعد خمس نقرات أو أقل تستطيع أن تشغل كل التنسيقات بما فيها mp3 بشكل مجاني !
pipline means Feach & Decode
مايو 28, 2009 كتبه Mr.O (لم يتم التحقق), منذ 42 أسبوعا يوم واحد
رقم التعليق4037
pipline means Feach & Decode in the same time
مثلما قال أخونا السعدي ، هي
مايو 28, 2009 كتبه Fahad, منذ 42 أسبوعا 22 ساعة
رقم التعليق4039
مثلما قال أخونا السعدي ، هي عملية مثل خط التصنيع كلما انتهت عملية بدأت العملية الثانية ، وكما أوضحت في الرسم البياني كيفية تشغيل ملفاتmp3 من القرص الصلب.
ولو قرأت مقالة التي وضع وصلتها أستاذنا السعدي للاحظت كيف تتم عملية خط الأنبوب بشكل واضح ودقيق.
لا أخي pipline هنا مصطلح
مايو 28, 2009 كتبه السعدي, منذ 42 أسبوعا 23 ساعة
رقم التعليق4038
لا أخي pipline هنا مصطلح آخر
الكلمة بالأصل تعني نموذج في التصنيع (مثلا في صناعة السيارات) حيث يتم تجميع الأجزاء بالترتيب في سلسلة قطعة بعد الاخرى أي عندما تصل سيارة للآلة الثانية لإضافة الزجاج مثلا تكون هناك سيارة دخلت للآلة الأولى لتركيب الأبواب وهكذا
وفي عملية المعالجة عندما تغادر تعليمة طور الجلب وتدخل طور الفك decode فإن تعليمة جديدة تدخل في طور الجلب
هذا تقريبا اول او ثاني مقال
مايو 31, 2009 كتبه ahmed-araby (لم يتم التحقق), منذ 41 أسبوعا 4 أيام
رقم التعليق4071
هذا تقريبا اول او ثاني مقال باللغة العربية أفخر بأن اضعه فى مضفلتي