የእርስዎ የበይነመረብ ሬዲዮ

ብዙዎቻችን ጠዋት ላይ ሬዲዮን ማዳመጥ እንወዳለን። እና አንድ ጥሩ ጠዋት በአካባቢው ያሉ የኤፍኤም ሬዲዮ ጣቢያዎችን ማዳመጥ እንደማልፈልግ ተገነዘብኩ። ፍላጎት የለም. ነገር ግን ልማዱ ጎጂ ሆኖ ተገኘ። እና የኤፍ ኤም መቀበያውን በበይነመረብ መቀበያ ለመተካት ወሰንኩ. በፍጥነት በ Aliexpress ላይ ክፍሎችን ገዛሁ እና የበይነመረብ መቀበያ ሰበሰብኩ.

ስለ ኢንተርኔት ተቀባይ። የተቀባዩ ልብ ESP32 ማይክሮ መቆጣጠሪያ ነው። Firmware ከ KA-ራዲዮ። ክፍሎቹ 12 ዶላር አውጥተውኛል። የስብሰባ ቀላልነት በሁለት ቀናት ውስጥ እንድሰበስብ አስችሎኛል። በደንብ እና በተረጋጋ ሁኔታ ይሰራል. በ10 ወራት ሥራ ውስጥ፣ ሁለት ጊዜ ብቻ ቀዘቀዘ፣ እና ከዚያ በሙከራዎቼ ብቻ። ምቹ እና በደንብ የታሰበበት በይነገጽ ከስማርትፎን እና ከኮምፒዩተር እንዲቆጣጠሩ ያስችልዎታል። በአንድ ቃል, ይህ ድንቅ የበይነመረብ ተቀባይ ነው.

ሁሉም ነገር ደህና ነው። ግን አንድ ማለዳ ላይ በአስር ሺዎች የሚቆጠሩ የሬዲዮ ጣቢያዎችን ማግኘት ቢቻልም ምንም አስደሳች ጣቢያዎች እንዳልነበሩ መደምደሚያ ላይ ደረስኩ። በማስታወቂያው እና በአቅራቢዎቹ የሰነፎች ቀልዶች ተናድጄ ነበር። ከአንዱ ጣቢያ ወደ ሌላው ያለማቋረጥ መዝለል። Spotify እና Yandex.Music እወዳለሁ። ግን የሚያሳዝነው በአገሬ ውስጥ አይሰሩም. እና እነሱን በኢንተርኔት መቀበያ በኩል ማዳመጥ እፈልጋለሁ.

ልጅነቴን አስታወስኩ። ቴፕ መቅረጫ እና ሁለት ደርዘን ካሴቶች ነበሩኝ። ካሴቶችን ከጓደኞቼ ጋር ተለዋወጥኩ። እና ድንቅ ነበር። የድምጽ ማህደሮችን ወደ ኢንተርኔት ተቀባይ ብቻ ማስተላለፍ እንዳለብኝ ወሰንኩኝ። እርግጥ ነው, የድምጽ ማጫወቻን ወይም አይፖድን ከድምጽ ማጉያዎቹ ጋር ለማገናኘት እና ላለመጨነቅ አማራጭ አለ. ግን ይህ የእኛ መንገድ አይደለም! ማገናኛን እጠላለሁ)

ዝግጁ የሆኑ መፍትሄዎችን መፈለግ ጀመርኩ. የራስዎን የኢንተርኔት ሬዲዮ ከ Radio-Tochka.com ለመፍጠር በገበያ ላይ ቅናሽ አለ። ለ 5 ቀናት ሞከርኩት. ከኢንተርኔት መቀበያዬ ጋር ሁሉም ነገር በጥሩ ሁኔታ ሠርቷል። ነገር ግን ዋጋው ለእኔ ማራኪ አልነበረም. ይህን አማራጭ አልተቀበልኩም።

10 ጂቢ ማስተናገጃ ከፍያለሁ። የmp3 ፋይሎቼን የኦዲዮ ዥረት በሚያሰራጭ ነገር ላይ ስክሪፕት ለመጻፍ ወሰንኩ። በ PHP ውስጥ ለመጻፍ ወሰንኩ. በፍጥነት ጻፍኩት እና አስጀመርኩት። ሁሉም ነገር ሰርቷል። አሪፍ ነበር! ግን ከጥቂት ቀናት በኋላ ከአስተናጋጁ አስተዳደር ደብዳቤ ደረሰኝ። የአቀነባባሪው ደቂቃዎች ገደብ አልፏል እና ወደ ከፍተኛ ታሪፍ ማሻሻል አስፈላጊ ነው ብሏል። ስክሪፕቱ መሰረዝ ነበረበት እና ይህ አማራጭ መተው ነበረበት።

እንዴት ሆነ? ያለ ሬዲዮ መኖር አልችልም። በሌላ ሰው ማስተናገጃ ላይ ስክሪፕቱን እንዲያሄዱ የማይፈቅዱልዎ ከሆነ, የራስዎን አገልጋይ ያስፈልግዎታል. ነፍሴ የምትፈልገውን የማደርገው የት ነው።

ያለ ባትሪ (ሲፒዩ - 900 ሜኸር ፣ RAM - 512 ሜባ) ያለ ጥንታዊ ኔትቡክ አለኝ። አሮጌው ሰው ቀድሞውኑ 11 ዓመት ነው. ለአገልጋይ ተስማሚ። ኡቡንቱ 12.04 ን ጫንኩ። ከዚያም Apache2 እና php 5.3, samba ን እጭናለሁ. የእኔ አገልጋይ ዝግጁ ነው።

Icecast ለመሞከር ወሰንኩ. በላዩ ላይ ብዙ ማና አነባለሁ። ግን ከብዶኝ ነበር። እና በPHP ስክሪፕት ወደ ምርጫው ለመመለስ ወሰንኩ። ይህንን ስክሪፕት ለማረም ጥቂት ቀናት ቆይተዋል። እና ሁሉም ነገር በጣም ጥሩ ሰርቷል. ከዚያም ፖድካስቶችን ለመጫወት ስክሪፕት ጻፍኩ. እና በጣም ወደድኩት ትንሽ ፕሮጀክት ለመስራት ወሰንኩ. IWScast ተባለ። በ github ላይ ተለጠፈ.

የእርስዎ የበይነመረብ ሬዲዮ

ሁሉም ነገር በጣም ቀላል ነው. የmp3 ፋይሎችን እና የ index.php ፋይልን ወደ Apache root ፎልደር /var/www/ እገለብጣለሁ እና በዘፈቀደ ይጫወታሉ። ቀኑን ሙሉ በግምት 300 ያህል ዘፈኖች በቂ ናቸው።
የ index.php ፋይል ራሱ ስክሪፕት ነው። ስክሪፕቱ ሁሉንም የMP3 ፋይሎች ስም በማውጫ ውስጥ ወደ ድርድር ያነባል። የድምጽ ዥረት ይፈጥራል እና የMP3 ፋይሎችን ስም ይተካል። ዘፈን ሰምተህ የምትወደው ጊዜ አለ። ማን እየዘፈነ ይመስላችኋል? ለእንደዚህ አይነት ጉዳይ, በሎግ ሎግ.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: enrn"
       )
     )
   );
//Save to log 
  $fl = $filePath; 
  $log = date('Y-m-d 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 set-top ሣጥን ወይም በአሳሽ ላይ ጥሩ ይሰራል።

በሌላኛው ጠዋት በትራክ ላይ የመልሶ ማጫወት ቦታን ማስታወስ በጣም ጥሩ እንደሚሆን አየሁ። ግን ይህንን በ PHP ውስጥ እንዴት ማድረግ እንዳለብኝ እስካሁን አላውቅም።

ስክሪፕቱ ሊወርድ ይችላል። github.com/iwsys/IWScast

ምንጭ: hab.com

አስተያየት ያክሉ