مدونة StreamHouseبث 24/7 على vps

البث المباشر 24/7 على خادم VPS أم عبر خدمة سحابية مُدارة؟

يبدو تشغيل بث مباشر 24/7 على خادم VPS باستخدام FFmpeg أمرًا بسيطًا، إلى أن تعود قائمة التشغيل إلى البداية، أو تتوقف العملية ليلًا، أو تضاعف وجهة ثانية حركة البيانات الصادرة. إليك ما يتطلبه الحل الذاتي فعلًا، ومتى تكون الخدمة المُدارة خيارًا أذكى.

قراءة في نحو 6 د

في هذه الصفحة

يمكنك بالفعل تشغيل بث مباشر 24/7 على خادم VPS باستخدام FFmpeg: ترفع مقاطع الفيديو إلى خادم مستأجر، وتكتب قائمة تشغيل من نوع concat، ثم تكررها بلا توقف نحو عنوان RTMP الخاص بالمنصة. الطريقة تعمل، وقد تكون مشروعًا تعليميًا مفيدًا. لكن التكلفة الحقيقية هي وقتك، الذي يذهب إلى الترميز، والتعافي من الأعطال، والمراقبة، وتخطيط عرض النطاق.

إليك ما يتطلبه الحل الذاتي على أرض الواقع، ومتى تكون الخدمة المُدارة استثمارًا أفضل لساعاتك.

أهم النقاط

  • تشغيل حلقة FFmpeg بسيطة أمر سريع؛ أما إبقاؤها تعمل لشهور فهو العمل الحقيقي.
  • اختلاف معدلات الإطارات أو الطوابع الزمنية قد يُسقط قائمة تشغيل في وضع النسخ ويعيدها إلى البداية.
  • لن يعيد FFmpeg تشغيل نفسه، ولن ينبّهك عند التوقف.
  • كل وجهة إضافية تضيف معدل البت الكامل إلى حركة البيانات الصادرة.

كيف يبدو إعداد VPS الذاتي

تتكون البنية النموذجية للبث ذاتي الاستضافة من أربعة أجزاء:

  1. خادم VPS بنظام Linux بمساحة تخزين تكفي مكتبتك، وحصة نقل صادرة تحتمل بثًا لا يتوقف أبدًا.
  2. ملفات الفيديو الخاصة بك، مرفوعة عبر SFTP أو متزامنة من مساحة تخزين.
  3. ملف قائمة تشغيل مخصص لأداة الدمج concat demuxer في FFmpeg.
  4. أمر FFmpeg يقرأ قائمة التشغيل بالسرعة الفعلية، ويكررها، ويدفعها إلى عنوان استقبال مثل rtmp://a.rtmp.youtube.com/live2 مع مفتاح البث الخاص بك.

تعتمد معظم الشروحات على وضع نسخ التدفق (stream copy)، حيث يمرّر FFmpeg الفيديو والصوت كما هما دون إعادة ترميز. يبقى استهلاك المعالج ضئيلًا، فيتحمله خادم صغير، ويكون إطلاق البث الأول سريعًا فعلًا.

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

الترميز والطوابع الزمنية: لماذا تعود قوائم تشغيل FFmpeg إلى البداية

في وضع نسخ التدفق، يربط FFmpeg الملفات ببعضها كما هي، لذا يكفي ملف واحد غير متوافق لكسر نقاط الوصل. أشهر المسببات:

  • اختلاف معدل الإطارات، مثل ملف مُصدَّر بمعدل 29.97 fps بجوار ملفات بمعدل 30 fps، أو تسجيل من الهاتف بمعدل إطارات متغير.
  • اختلاف الدقة أو صيغة الصوت، كمقطع بدقة 720p وسط ملفات بدقة 1080p.
  • قواعد زمنية غريبة أو طوابع زمنية مفقودة تتركها بعض برامج المونتاج وأدوات تسجيل الشاشة.

تتراوح الأعراض بين تحذيرات في السجل، وتجمّد الفيديو، وخروج FFmpeg تمامًا. وعند إعادة تشغيله، تبدأ قائمة التشغيل من جديد من الفيديو الأول، فيرى المشاهدون الساعة الافتتاحية نفسها مرارًا وتكرارًا.

الحل هو إعادة ترميز كل شيء إلى ملف تعريف واحد قبل دخوله قائمة التشغيل: الدقة نفسها، ومعدل إطارات ثابت، والفاصل نفسه بين الإطارات المفتاحية، وصيغة الصوت نفسها. اطّلع على إعدادات الترميز للبث على مدار الساعة.

الأعطال وإعادة التشغيل والمراقبة على عاتقك وحدك

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

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

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

عرض النطاق ووجهات متعددة من خادم واحد

يستهلك البث المتواصل بيانات أكثر مما يتوقعه الناس. بث واحد بمعدل 6 Mbps يعمل لمدة 30 يومًا يرسل نحو 1.9 TB. أرسله إلى ثلاث منصات وسيدفع الخادم قرابة 18 Mbps على مدار الساعة، أي ما يقارب 6 TB شهريًا. تحقق من حصة النقل الصادرة لدى مزودك وشروط تجاوزها.

للبث متعدد الوجهات عبر FFmpeg تعقيداته الخاصة. عملية واحدة لكل منصة تعني عدة عمليات تحتاج إلى إشراف. أما أداة tee muxer في FFmpeg فترسل مدخلًا واحدًا إلى عدة مخرجات، لكن فشل وجهة واحدة، كأن ترفض منصة مفتاح بث قديمًا، قد يُسقط العملية بأكملها ما لم يُضبط كل مخرج على تحمّل الفشل.

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

متى يكون بث VPS الذاتي هو الخيار الصحيح

تناسبك الاستضافة الذاتية عندما ينطبق عليك معظم ما يلي:

  • تشعر بالراحة في سطر أوامر Linux وتستمتع بصيانة الأنظمة.
  • تبث إلى وجهة واحدة، أو أنك مستعد لهندسة آليات التعامل مع الفشل لعدة وجهات.
  • مكتبتك صغيرة ومستقرة، وتتحكم في طريقة تصدير كل ملف.
  • لا تمثل إعادة التشغيل العرضية من أول قائمة التشغيل مشكلة كبيرة لجمهورك.
  • تريد أن تتعلم كيف يعمل البث من الداخل.

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

تشغيل حلقة 24/7 نفسها على StreamHouse بدلًا من ذلك

تحلّ StreamHouse محل كل جزء من تلك البنية. تُجهَّز الملفات المرفوعة مسبقًا وفق ملف ترميز موحد ومتسق، ما يحافظ على ثبات معدل البت والطوابع الزمنية، فلا يعيد ملف غير متوافق تشغيل قائمة التشغيل من البداية. أنشئ قائمة التشغيل من المتصفح، وأضف وجهات مثل YouTube وTwitch وRumble وFacebook وRTMP المخصص أو SRT، ثم اضغط Start أو حدّد موعدًا.

تعمل الحلقة 24/7 في السحابة، وتعيد الاتصال تلقائيًا بعد أي اضطراب في المنصة أو الشبكة. أضف مقاطع الفيديو أو احذفها أو أعد ترتيبها أثناء البث المباشر؛ وتُطبَّق التغييرات مع الفيديو التالي. لا تستهلك الوجهات الإضافية خانات بث إضافية، وبالنسبة لقناة YouTube مربوطة، يمكن لميزة حماية التسجيل أن تُنهي البث الأول عند النقطة التي تختارها وتواصل في بث جديد دون إعادة تشغيل قائمة التشغيل.

قارن بين الاشتراكات والرصيد بنظام الدفع حسب الاستخدام في صفحة الأسعار.

الأسئلة الشائعة

هل يمكنني تشغيل بث YouTube مباشر 24/7 باستخدام FFmpeg على خادم VPS؟

نعم. أمر FFmpeg يعمل بشكل حلقي ويشير إلى عنوان RTMP الخاص بـ YouTube يُبقي القناة في بث مباشر. الجزء الصعب هو الحفاظ على سلامته لأسابيع: الترميز المتسق، وإعادة التشغيل التلقائية، والمراقبة، وأرشفة البثوث الطويلة، كلها تقع على عاتقك.

لماذا تستمر قائمة تشغيل FFmpeg في العودة إلى البداية؟

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

كم يستهلك البث 24/7 من عرض النطاق شهريًا؟

نحو 1.9 TB لبث واحد بمعدل 6 Mbps يعمل دون توقف لمدة 30 يومًا، ويزداد الاستهلاك بالتناسب مع ارتفاع معدل البت أو إضافة وجهات. ثلاث منصات بهذا المعدل تعني ما يقارب 6 TB، لذا تحقق أولًا من حصة النقل المتاحة لخادمك.

هل أحتاج إلى خادم VPS قوي للبث على مدار الساعة؟

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

الخطوة التالية