راديو الإنترنت الخاصة

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

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

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

تذكرت طفولتي. كان لدي مسجل شريط وعشرين شريط كاسيت. تغيرت الكاسيت مع الأصدقاء. وكان رائعا. قررت أنني بحاجة إلى دفق أرشيفي الصوتي فقط إلى مستقبل الإنترنت. بالطبع ، هناك خيار لتوصيل مشغل صوت أو ipod بالسماعات وليس بالبخار. لكن هذا ليس طريقنا! أنا أكره توصيل الموصلات)

بدأ بالبحث عن حلول جاهزة. هناك عرض في السوق لإنشاء راديو الإنترنت الخاص بك من Radio-Tochka.com. اختبرت 5 أيام. كل شيء يعمل تماما مع جهاز استقبال الإنترنت الخاص بي. لكن السعر لم يكن جذابا بالنسبة لي. رفض هذا الخيار.

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

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

لدي نتبووك القديمة بدون بطارية (وحدة المعالجة المركزية - 900 ميغاهيرتز ، ذاكرة الوصول العشوائي - 512 ميغابايت). الرجل العجوز عمره 11 سنة. بالنسبة للخادم ، لا بأس بذلك. أنا وضعت أوبونتو 12.04. ثم تثبيت Apache2 و php 5.3 ، السامبا. الخادم الخاص بي جاهز

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

صورة

كل شيء بسيط جدا. يمكنني نسخ ملفات mp3 وملف index.php إلى المجلد الجذر لـ Apache / var / www / ويتم تشغيلها بشكل عشوائي. حوالي 300 أغنية تكفي ليوم كامل تقريبًا.
ملف index.php هو البرنامج النصي نفسه. يقرأ البرنامج النصي جميع أسماء ملفات دليل mp3 في صفيف. يخلق دفق الصوت ويستبدل أسماء ملفات MP3. هناك أوقات تستمع فيها إلى أغنية وتروق لك. هل تعتقد من يغني هذا؟ في هذه الحالة ، يوجد سجل بأسماء المسارات المستمعة في سجل log.txt
رمز البرنامج النصي الكامل
<?php set_time_limit(0); header('Content-type: audio/mpeg'); header("Content-Transfer-Encoding: binary"); header("Pragma: no-cache"); header("icy-br: 128 "); header("icy-name: your name"); header("icy-description: your description"); $files = glob("*.mp3"); shuffle($files); //Random on for ($x=0; $x < count($files);) { $filePath = $files[$x++]; $bitrate = 128; $strContext=stream_context_create( array( 'http'=>array( 'method' =>'GET', 'header' => 'Icy-MetaData: 1', 'header' =>"Accept-language: en\r\n" ) ) ); //Save to log $fl = $filePath; $log = date('Ymd H:i:s') . ' Song - ' . $fl; file_put_contents('log.txt', $log . PHP_EOL, FILE_APPEND); $fpOrigin=fopen($filePath, 'rb', false, $strContext); while(!feof($fpOrigin)){ $buffer=fread($fpOrigin, 4096); echo $buffer; flush(); } fclose($fpOrigin); } ?> 


إذا كنت تريد تشغيل المقطوعات بالترتيب ، فستحتاج إلى تعليق السطر في index.php
 shuffle($files); //Random on 


بالنسبة للبودكاست ، أستخدم / var / www / podcast / هناك برنامج نصي index.php آخر. لديها حفظ المسارات بودكاست. في المرة التالية التي تقوم فيها بتشغيل مستقبل الإنترنت ، يتم تشغيل مسار البودكاست التالي. هناك أيضا سجل من المسارات المستنسخة.
يمكنك تحديد رقم المسار في ملف counter.dat وتشغيل تشغيل البودكاست منه.

كتب المحللون لتنزيل البودكاست تلقائيا. يأخذ آخر 4 مسارات من RSS وتنزيلها. كل هذا يعمل بشكل رائع على الهاتف الذكي ، جهاز فك تشفير IPTV ، في المتصفح.

في الآونة الأخيرة في الصباح ، حصلت على فكرة أنه من الرائع حفظ وضع التشغيل على المسار. لكنني لا أعرف حتى الآن كيفية القيام بذلك في PHP.

يمكن تنزيل البرنامج النصي github.com/iwsys/IWScast

Source: https://habr.com/ru/post/ar471954/


All Articles