تكامل AzuraCast API في Discourse
رابط AzuraCast: https://www.azuracast.com/
رابط واجهة برمجة تطبيقات AzuraCast: Swagger UI
يُعد برنامج AzuraCast حلاً مفتوح المصدر وشاملاً لتشغيل محطات الإذاعة عبر الويب. تُدار جميع الوظائف عبر المتصفح، حتى أن عميل البث القائم كليًا على المتصفح قد تم تنفيذه. يتم تطوير أتمتة الإذاعة باستمرار، ولا تزال بعض الميزات بحاجة إلى تحسين، لكن البرنامج يمكن استخدامه بالفعل بشكل منتج.
تعتمد البنية التحتية لـ AzuraCast على مكونات مجربة وموثوقة، ومع ذلك تسعى لمواكبة أحدث التطورات التقنية. تُستخدم منصة بث Icecast (مع دعم اختياري لـ Shoutcast) ولغة السكريبت Liquidsoap لإعداد منصة البث، بينما تُدار البثات الفردية باستخدام تطبيق ويب شامل. ولتسهيل التثبيت على جميع الأنظمة، يتم تجميع جميع المكونات في حاوية Docker واحدة. تم اختصار الإعداد إلى بضع أوامر سطر الأوامر، بينما يُنفذ الباقي عبر المتصفح. لذا، يجب أن يعمل AzuraCast على جميع أنظمة لينكس الشائعة. أما المنصات المعتمدة على معمارية ARM مثل Raspberry Pi، فلا تُدعم حاليًا.
تنوع أكبر في الإذاعة
المبدأ الأساسي للمنصة هو إمكانية تقديم عدة محطات مستقلة بدلاً من محطة إذاعية واحدة فقط. وبهذه الطريقة، لا يمكن تشغيل خدمة استضافة كاملة فحسب، بل أيضًا إذاعة ويب تقدم اللون الموسيقي المناسب لكل ذوق. لكل محطة ملفها الشخصي الخاص، وتدير ملفات الموسيقى وقوائم التشغيل الخاصة بها. علاوة على ذلك، يمكن إنشاء مستخدمين مخولين لإرسال بث مباشر عبر دجّي الويب المدمج أو عبر برامج البث التقليدية. تكتمل الواجهة بإعدادات شاملة وإحصائيات وأدوات إدارية أخرى. لقد فكرنا حتى في مستخدمي تقنيات المساعدة، حيث يمكن تشغيل الواجهة بالكامل بسهولة باستخدام قارئات الشاشة.
حاجة إلى تحسين عملية البث
يتم تصميم الدوران باستخدام قوائم التشغيل. ومع ذلك، لا تظهر الملفات المخصصة للقوائم في واجهة المستخدم في البداية، بل تظهر فقط الإعدادات وقواعد التخطيط، مما قد يجعل الانتقال من أنظمة أتمتة إذاعية أخرى محيرًا بعض الشيء. عند تحرير قائمة تشغيل، يتم تحديد ما إذا كانت تعتمد على الأغاني أو على تشغيل عناوين URL، أي محتوى خارجي مثل الرسائل أو البرامج المرسلة. ومع ذلك، لا تزال القوائم المختلطة غير ممكنة حتى الآن. على سبيل المثال، لا يمكن إنشاء حاوية رسائل تحتوي على ملف افتتاحي محلي، ورسائل مرسلة عبر URL، وملف إغلاق محلي إلا بشكل غير مباشر. تُملأ قوائم التشغيل في منطقة ملفات الموسيقى بالمحتوى. يمكن تعيين ملفات فردية أو مجلدات كاملة إلى أي عدد من قوائم التشغيل، لذا لا حاجة لرفع الملفات عدة مرات. يمكن رفع محتوى جديد عبر المتصفح. وفي حالة وجود كميات كبيرة من البيانات، يمكن إعداد خادم FTP مؤقت داخل حاوية Docker، لكن هذا يتطلب تدخلاً عبر سطر الأوامر.
يتم تحديد سلوك Auto-DJ في منطقة إدارة المحطة. ويظهر ذلك أن ما يُعرف بـ “التلاشي المتقاطع”، أي الانتقالات بين الملفات الفردية، يقدم أيضًا خيارًا ذكيًا يأخذ في الاعتبار مستوى صوت المقاطع عند المزج، لكنه لا يحتوي حتى الآن على كشف الصمت، مما يجعل الانتقالات بين الأغاني تبدو أحيانًا غير سلسة. كما لا توجد إعدادات تلاشي منفصلة لأنواع مختلفة من الملفات. بينما يمكن أن تكون الانتقالات بين المقاطع الموسيقية أطول، فإنك ترغب في بث الجingles أو المقاطع الصوتية بتلاشي قليل أو معدوم. لذا لا يزال هناك الكثير لتحسينه هنا. في النهاية، يوفر AzuraCast للمستخدمين ذوي الخبرة خيارًا لحقن كود خاص بهم في تكوين Liquidsoap.
الخلاصة
يخضع AzuraCast لتطوير مستمر ويتم تحديثه تقريبًا يوميًا. وحتى لو كان البرنامج يمكن استخدامه بشكل منتج بالفعل، فسوف يرغب صانعو الإذاعة ذوو الخبرة في الانتظار حتى تتاح بعض الميزات الإضافية. ولكن نظرًا لأن عدد المطورين الرئيسيين قليل، يمكن اعتبار AzuraCast منتجًا متفوقًا في بعض النقاط على منتجات تجارية مماثلة. لذا، يستحق المتابعة. بفضل سهولة التثبيت عبر Docker، يمكن إعداد بيئة اختبار لمراقبة التقدم بسرعة.
يتم التطوير على GitHub. كما يقدم الفريق مكونات برمجية فردية للاستخدام في مشاريعهم الخاصة، بما في ذلك شاشة عرض العناوين المعتمدة على PHP لبثات Icecast. يمكن العثور على الموقع الإلكتروني الذي يحتوي على تعليمات التثبيت وخيارات الدعم على Azuracast.com.
لا يمكن إلا أن نأمل ألا يختفي AzuraCast كما حدث مع Airtime الذي تم عرضه هنا قبل بضع سنوات، و…
