الجمعة، 29 يونيو 2012

طريقة "البث المباشر" باستخدام برنامج vlc

السلام عليكم و رحمة الله و بركاته
















# مقدمة .
برنامج VLC احد اروع برامج تشغيل الوسائط ، فهو ليس مجرد برنامج تشغيل وسائط عادي ، فهو يستطيع تشغيل عدد ضخم جدا من الصيغ بدون اي كودكات خارجية ، فعلى عكس اغلب البرامج الاخرى التي تعتمد على كودكات خارجية يقوم البرنامج بترميز و فك ترميز الصيغ بنفسه و دون الاعتماد على اضافات خارجية .
و ايضاً بجانب انه مفتوح و حر المصدر ، متعدد المنصات و يعمل على اكثر من نظام تشغيل ، و يعمل كإضافة لتشغيل الوسائط في المتصفحات مثل الفاير فوكس و غيره ، كذلك يوجد به عدد من المميزات الاخرى الرائعة بحق ، مثل التحويل بين الصيغ ، التسجيل و التعامل مع كروت الستلايت و كروت التلفزيون و غيرهم ، و بالاضافة الى امكانية البث (Streaming) سواء عبر الشبكة الداخلية او عبر الانترنت .



موقع البرنامج : www.VideoLan.org
لتحميل البرنامج : VLC media player
قائمة بالصيغ التي يدعمها البرنامج




ملاحظة : الشرح على الاصدار 1.0 من البرنامج و الذي يحمل الاسم الرمزي "GoldenEye" .
ايضاً ، اريد التنويه اني استخدم الشكل العادي للبرنامج ، و لكن البرنامج له عدد من السمات و الاشكال (skins) الجميلة جدا ، و يأتي مع النسخة سمة جميلة و لكن عليك تفعليها من خصائص البرنامج ، شاهد السمة من هنا .
- مستخدمي وندوز :
لاحظ ان الشرح تم على نظام جنو/لينوكس ، و لكن بما ان البرنامج متعدد المنصات فسيعمل على وندوز بنفس الطريقة .

-------------------------------------





# البث المباشر (Live Streaming) .
ما يهمنا في هذا الموضوع هو خاصية البث المباشر (Live Streaming) ، و الذي يتيح لنا بث الوسائط بأكثر من طريقة ، و برنامج vlc يتيح لنا هذه الخاصية مع امكانيات ممتازة للتحكم في البث ، و هذه صورة توضح بعض الفكرة ،




اضغط على الصورة للتكبير


و من الصورة تتضح لنا الفكرة ، و فوائد و استخدامات البث المباشر ، منها على سبيل المثال لا الحصر ،،
- اذا كان لديك كارت ستالايت (Satellite Card) او كارت تليفزيون (TV Card) في جهازك الاساسي ، و تريد تشغيل القنوات على جهاز في غرفه اخرى سواء عبر الشبكة السلكية او اللاسلكية (WiFi مثلا).
- بث الوسائط من الـ DVD او الـ CD لاجهزة اخرى عبر الشبكة ، و تظهر الاستفادة من هذه الطريقة مع انتشار اجهزة النت بوك و التي لا تحتوي قارئ اقراص ضوئية سواء CD او DVD .
- تشغيل كاميرا و ميكروفون من على احد اجهزة الشبكة و البث لبقية اجهزة الشبكة المحلية .
- تشغيل ملف من على الانترنت ولا تريد تحميل الملف على كل اجهزة الشبكة ، فتقوم بتحميله على جهاز واحد و بثه لبقية الاجهزة على الشبكة .
- عمل راديو على الانترنت بتكلفة زهيدة جدا ، فقط برنامج vlc و خط انترنت سريع ، و يمكن ايضاً البث الى خادم خارجي .
- يمكنك حتى بث سطح المكتب الخاص بك ، و مع الميكروفون سيكون لديك نظام متكامل لبث الشرح عبر الشبكة .
- خاصية البث مفيدة جدا في المحاضرات او شئون التعلم عن بعد .

و العديد من الاستخدامات الاخرى التي تستطيع الاستفادة فيها من خاصية البث الحي .


--------

قبل بدء في شرح طريقة البث باستخدام البرنامج ، علينا معرفة بعض اشكال البث ، بشكل مبسط دون الخوض في تفاصيل تقنية :




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





Multicast
مالتي كاست ، هي طريقة لنقل المعلومات بشكل جماعي من مرسل واحد ، اي انه يوجد مرسل واحد و اكثر من مستقبل .
مثال واقعي : عندما ترسل رسالة الكترونية واحده لعدد من اصدقائك في نفس الوقت ، فالمرسل شخص واحد و هو انت ، و المستقبلين اصدقائك و هم عدد من الاشخاص المحددين .





Broadcast
برود كاست ، هى طريقة لنقل الملعومات من مرسل واحد لعدد من المستقبلين غير المحددين ، اي يوجد مرسل واحد محدد ، و عدد غير محدد من المستقبلين طالما وجدوا في نطاق الارسال - قد لا نحتاج هذه الطريقة في الموضوع و لكن من الجيد التعرف عليها - .
مثال واقعي : ارسال اشارات التلفزيون و الراديو ، فمحطة الارسال تبث الاشارات لكل جهاز يعمل في نطاق المحطة .


الان و بعد ان تعرفنا على استخدامات البث المباشر ، و اشكال البث ، سننتقل الان الى طريقة البث باستخدام برنامج vlc .


-------------------------------------


# عمل خادم البث (Streaming Server) .
باستخدام برنامج vlc ، سنقوم بعمل خادم البث ، و هو الجهاز الذي يرسل البيانات للجهاز الاخر او الاجهزة الاخرى ، و سنتكلم عن الطريقة الاسهل و هى عن طريق الواجة الرسومية ، و هى ببساطة كالتالي .




شغل برنامج vlc ، و من قائمة "Media" ، اختر "Streaming" .
ـ




ستظهر لك نافذة مشابهه لهذه ، و من الصورة يتضح انه يوجد عدة طرق ، و هى :
- بث ملف او عدة ملفات موجودة لديك على القرص الصلب ، و يمكنك ايضاً بث ملف الترجمة .
- البث من مشغل الاقراص سواء CD او DVD .
- البث من الشبكة ، حيث يمكنك استقبال الوسائط عن طريق الشبكة المحلية او الانترنت و اعادة بثها مرة اخرى .
- البث عن طريق اجهزة موصلة بالكمبيوتر مثل جهاز فيديو او ريسيفر ، او كروت في الكمبيوتر ، مثل كارت الستالايت (Satellite Card) او كارت التليفزيون (TV Card) او حتى مجرد كاميرا موصلة عبر الـ USB .




بغض النظر عن المصدر الذي ستقوم بالبث منه ، علم على "Show more option" ، و في خانة "Caching" غير القيمة لـ 1000 ، و اضغط "Stream" .

--------




انا اخترت بث ملف مرئي (video) موجود لدي على القرص الصلب (فيلم "احلام الفيلة" ، اول فيلم ثلاثي الابعاد حر و مفتوح المصدر) ، اضغط "Next" .





من هذه النافذة يتضح لنا انها مقسمه لجزئين ، الجزء الاول "Destinations" ، و هو خاص ببروتوكولات البث و عناوين الاجهزة المراد البث لها ، و الجزء الثاني "Transcodeing options" و هو خاص بالترميز و صيغة الصوت و الفيديو في الملف .

- الجزء الاول :
كما وضحت من قبل ، هذا الجزء خاص بالبروتوكولات التي سيتم البث من خلالها ، و لكن سنتحدث اولا عن اختيار البث للملف (file) ، و هو يتيح لك تسجيل و حفظ الوسائط التي قمت باستقبالها ، مثال ذلك يمكنك التسجيل من كارت الستالايت و حفظ هذه التسجيل في ملف بالصيغة/الترميز الذي تريده ، اما اختيار "Display locally" كما يتضح من اسمه ، يتيح لك تشغيل الوسائط التي تقوم ببثها اثناء بثك لها .




يتيح لك البرنامج البث عبر عدد من البرتوكولات كما في الصورة ، و سنتحدث بشكل اساسي عن HTTP ، UDP و RTP .

UDP : يعتبر افضل بروتوكول للبث عن طريقة الشبكة المحلية ، و ذلك لسرعته .
RTP : كسابقه يمتاز بالسرعة - هو اساسا يتم عبر البروتوكول السابق - و لكن له مخصص لبث الوسائط ، لكن يتمتع ببعض المزايا عن UDP ، مثل مزامنة الصورة مع الصورة ، و امكانية بث الصوت لجهاز و الصورة لجهاز اخر و غيرها من المزايا .
HTTP : طبعا من البروتوكولات الشهيرة جدا ، يعيبه انه ابطأ من سابقيه قليلاً ، و لكنه مفيد جدا في حالة وجود جدار ناري في الشبكة يمنع استخدام UDP و RTP .

انظر ايضاً البث لخادم IceCast ، ايس كاست برنامج متخصص في عمل خادم بث ذو خصائص قوية جدا - هذا يحتاج موضوع بمفرده D: -


بشكل عام اذا كنت ستقوم بالبث عبر الشبكة المحلية ، يفضل استخدام بروتوكول RTP .
الان ، اختر "RTP" و اضغط "Add" ، سيظهر لك شيء كهذا




اكتب الـ IP الخاص بالجهاز او الاجهزة التي تريد البث لها ، عليك كتابة الـ IP الخاص بكل جهاز اذا كانت الاجهزة متعددة ، و المنفذ الافتراضي 1234 ، يفضل تركه كما هو .
و نفس الوضع مع بروتوكول UDP .

اما اذا اخترت البث عبر بروتوكول HTTP ، فيمكنك تحديد IP الجهاز الذي تريد البث له ، او يمكنك ترك الـ IP في شكل 0.0.0.0 و بذلك اي شخص يمكنه استقبال البث اذا كتب الـ IP الخاص بك متبوعاً بالمنفذ 8080 ، اي كالتالي
http://127.0.0.1:8080/
طبعا اذا كنت تريد البث عبر الانترنت ستحتاج فتح منفذ في الروتر (Router) اذا كنت خلف روتر .

- تلميح :
اذا كنت ستقوم بالبث لعدد كبير من الاجهزة سيكون من الصعب كتابة عناوين كل الاجهزة ، لذا عليك استخدام ما يعرف بـ
(SAP Announcements) ، لعمل خادم SAP ، راجع هذه الموضوع "Add a channel information service" ،



- الجزء الثاني :
هذا الجزء خاص بترميز الوسائط التي ستقوم ببثها ، يمكنك استخدام احد الاشكال الجاهزة كما في الصورة




يمكنك اختيار اي ترميز ، و يفضل دائماً اختيار الصيغة الحرة ogg ، الا اذا كنت ستقوم ببث فيديو عن طريق بروتوكول UDP او RTP ، حيث يجب ان تختار من الترميزات التي تحتوي في اخرها (TS) و افضل ترميز جربته هو اول واحد "Video - H.264 + AAC" ، و الان اضغط "Next" .
ـ




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


-------------------------------------


# طريقة استقبال البث (Streaming Client) .
الان و بعد ان قمنا بعمل خادم البث ، بالتأكيد نريد استقبال البث من جهاز اخر ، و سنستعمل برنامج vlc لاستقبال البث ، و بما ان البرنامج متعدد المنصات و يعمل على جنو/لينوكس ، وندوز و ماك ، فلن يكون هناك مشكلة اذا كان نظام التشغيل على الجهاز المستقبل مختلف عن الجهاز المرسل .





من قائمة "Media" ، اختر "Open Network Stream" .





سيظهر لك البروتوكولات التي يمكنك الاستقبال منها ، و عليك كتابة الـ IP الخاص بالخادم الذي تريد استقبال البث منه .

- ملحوظة :
عندما تستقبل البث عن طريق بروتوكول HTTP ، عليك كتابة الـ IP متبوعاً بالمنفذ ، اي يكون على الشكل التالي





الان علم على "Show more option" ، و في خانة "Caching" غير القيمة لـ 1000 ، و اضغط "Open" ، و سيبدأ استقبال البث .

- تلميح :
يمكنك استقبال البث الصوتي عن طريق بروتوكول UDP و RTP ، على برامج اخرى مثل Rhythmbox ، Banshee و Amarok - مستخدمي جنو/لينوكس يعرفون هذه البرامج الرائعة - .


-------------------------------------


# التحكم في برنامج VLC عن بعد (Remote Control) .
من المفترض انك الان تستمتع باستقبال البث و كل شيء على ما يرام ، و لكن تبقى خاصية اخيرة تسهل عليك التعامل مع البث المباشر ، و هى خاصية التحكم عن بعد في برنامج vlc ، فالبرنامج يوفر عدة واجهات ، و عدة طرق للتحكم به ، منها عن طريق سطر الاوامر ، و منها عن طريق التلنت (Telnet) ، و أيضاً عن طريق حركات الفأرة او ما يعرف بـ "Mouse Gestures" ، و حتى عن طريق المتصفح !

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

يتيح برنامج vlc امكانية التحكم فيه عن طريق المتصفح ، حيث توجد واجهة رسومية تعمل عن طريق المتصفح توفر لك اغلب الخيارات التي تمكنك في التحكم في البرنامج عن بعد .




لتشغيل واجهة التحكم عن طريق المتصفح ،




من قائمة "Veiw" ، اختر "Add Interface" ، ثم "Web Interface" .


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

و اذا اردت الدخول على الواجهة من جهاز اخر على الشبكة ، عليك كتابة الـ IP الخاص بخادم البث ، متبوعا بالمنفذ ، نفترض مثلا ان الـ IP الخاص بالخادم هو 10.0.0.13 ، سيكون هكذا

- ملحوظة :
لاحظ انك لن تستطيع استخدام واجهة الويب اذا كنت تقوم بالبث عبر بروتوكول HTTP .


الان ، تستطيع التحكم في برنامج vlc عن بعد و تغيير الملفات التي تشاهدها ، زيادة و تقليل الصوت ، حتى التحكم في البث المباشر ، او عمل اي شيء تريده : )

- تلميح :
يمكنك تشغيل برنامج vlc بدون واجهة رسومية على الخادم ، و التحكم به بشكل كامل بواجهة الويب من الجهاز الاخر الذي يستقبل البث .


> في لينوكس :
vlc --intf dummy --extraintf=http

يمكن تشغيل هذه الامر عن طريق Alt + F2 في جنو/لينوكس ، او عن طريق الطرفية ، و يمكنك ببساطة عمل اختصار على سطح المكتب او في القوائم .

اضغط كليك يمين على سطح المكتب و اختر "Create Launcher" ، ثم كما في الصورة :





Type : Application .
Name : run vlc without gui .
Command : vlc --intf dummy --extraintf=http
Comment : run vlc without gui, with web interface support .

و تستطيع استخدام اي ايكونة ، عن نفسي استخدم هـذه الايكونة "Vlc without x" .
هكذا سيعمل البرنامج بدون واجهة رسومية على الخادم ، و تستطيع التحكم به من الجهاز الاخر الذي سيستقبل البث .


> في وندوز :
لتشغيل البرنامج بدون واجهة ، يمكنك كتابة هذا الامر في Run ، او عمل اختصار على سطح المكتب بنفس الامر و لكن على عكس اللينوكس حتى مع عمل الاختصار عليك ترك نافذة سطر الاوامر مفتوحة ! .
"C:\Program Files\VideoLAN\VLC\vlc.exe" --extraintf=http --intf dummy






الان استمتع بالبث المباشر بكل سهولة : )
و يمكنك المساهمة في دعم البرنامج و دعم حملة Play Ogg ، الخاصة بنشر صيغة الوسائط Ogg الحرة و المفتوحة المصدر - راجع هذا المقال الجميل جداً عن هذه الصيغة في وادي التقنية - . .



-------------------------------------


# وصلات ذات صلة .

VideoLAN's Wiki
VLC Streaming Howto
VideoLAN FAQ
VBrick Documentation
مشغل الملتميديا VLC ، وادي التقنية


- ملحوظات على الصور :
الصورة رقم 3 ، من FLOSS Manuals
الصورة رقم 4 ، من موقع VLC .
صور اشكال البث (unicast , multicat , broadcast) ، من ويكيبديا .

0 التعليقات:

إرسال تعليق