Wako wega internet radio

Vazhinji vedu vanofarira kuteerera redhiyo mangwanani. Zvino mamwe mangwanani-ngwanani ndakaona kuti ndaisada kuteerera nhepfenyuro dzemunharaunda dzeFM. Handidi. Asi tsika yacho yakazova inokuvadza. Uye ndakafunga kutsiva FM inogamuchira neInternet inogamuchira. Ndakakurumidza kutenga zvikamu paAliexpress uye ndakaunganidza Internet inogamuchira.

Pamusoro peInternet receiver. Mwoyo weanogamuchira ndiyo ESP32 microcontroller. Firmware kubva KA-radio. Maparts acho akaita $12. Kuva nyore kuungana kwakaita kuti ndiiunganidze mumazuva mashoma. Inoshanda zvakanaka uye yakagadzikana. Mumwedzi gumi yebasa, yakaoma kakati chete, uyezve nekuda kwekuedza kwangu. Yakanaka uye yakanyatsofungwa-interface inobvumidza iwe kudzora kubva kune smartphone uye komputa. Mune izwi, iyi inoshamisa Internet inogamuchira.

Zvese zvakanaka. Asi mamwe mangwanani-ngwanani ndakasvika pamhedziso yokuti pasinei zvapo nokukwanisa kuwana makumi ezviuru zvenhepfenyuro, kwakanga kusina nhepfenyuro dzinofadza. Ndakasvotwa nekushambadza uye majee eupenzi evaratidziri. Kugara uchisvetuka kubva pane chimwe chiteshi kuenda kune chimwe. Ndinoda Spotify uye Yandex.Music. Asi chinorwadza ndechekuti havashandi munyika yangu. Uye ndinoda kuvateerera kuburikidza neInternet receiver.

Ndakarangarira hudiki hwangu. Ndakanga ndine tepi rekodha nemakaseti gumi nemaviri. Ndakachinjanisa makaseti neshamwari. Uye zvaishamisa. Ndakasarudza kuti ndaifanira kufambisa zvinyorwa zvangu zvekuteerera chete kune inotambira Internet. Ehe, pane sarudzo yekubatanidza mutambi wekuteerera kana iPod kune vatauri uye usanetseka. Asi iyi haisiriyo nzira yedu! Ndinovenga kubatanidza zvibatanidza)

Ndakatanga kutsvaga mhinduro dzakagadzirirwa. Pane chinopihwa pamusika kugadzira yako wega Internet radio kubva kuRadio-Tochka.com. Ndakaiedza kwemazuva mashanu. Zvese zvakashanda zvakanaka neinternet yangu inogamuchira. Asi mutengo wacho wakanga usina kundifadza. Ndakaramba iyi sarudzo.

Ndakabhadhara kubata 10 GB. Ndakafunga kunyora script pane chimwe chinhu chaizofambisa ruzha rwemafaira angu mp3. Ndakasarudza kuinyora muPHP. Ndakakurumidza kunyora ndokuitakura. Zvose zvakashanda. Zvaitonhorera! Asi mazuva mashoma gare gare ndakagamuchira tsamba kubva kuvakuru vanochengeta. Yakataura kuti muganho wemaminetsi eprocessor wakapfuudzwa uye kudiwa kwekusimudzira kune yakakwira mutero. Iyo script yaifanira kudzimwa uye sarudzo iyi yakasiiwa.

Zvakaitika sei? Handikwanise kurarama ndisina redhiyo. Kana ivo vasingakubvumidze kuti umhanye script pane mumwe munhu anotambira, saka iwe unoda yako wega sevha. Kwandichaita zvinoda mweya wangu.

Ndine netbook yekare isina bhatiri (CPU - 900 MHz, RAM - 512 Mb). Murume mukuru atova nemakore gumi nerimwe. Inokodzera sevha. Ini ndinoisa Ubuntu 11. Ipapo ini ndinoisa Apache12.04 uye php 2, samba. Sevha yangu yagadzirira.

Ndakasarudza kuedza Icecast. Ndakaverenga mana akawanda pazviri. Asi ndakaona zvakaoma. Uye ndakafunga kudzokera kune iyo sarudzo ine PHP script. Mazuva mashoma akashandiswa kugadzirisa script iyi. Uye zvese zvakashanda zvakanaka. Ndakabva ndanyorawo script kuti nditambe podcasts. Uye ndakaifarira zvikuru zvokuti ndakasarudza kuita basa duku. Yakanzi IWScast. Yakatumirwa pa github.

Wako wega internet radio

Zvese zviri nyore. Ndinokopa mp3 mafaira uye index.php faira muApache root folder /var/www/ uye inoridzwa zvisina tsarukano. Nziyo dzinenge mazana matatu dzinokwana zuva rose.
Iyo index.php faira ndiyo script pachayo. Iyo script inoverenga ese mazita eMP3 mafaera mune dhairekitori mune array. Inogadzira odhiyo rwizi uye inotsiva mazita eMP3 mafaera. Pane dzimwe nguva paunoteerera rwiyo uye unorifarira. Unofunga kuti ndiani ari kuimba? Panyaya yakadai, pane kurekodhwa kwemazita emateki akateererwa mulog.txt
Zadzisa script kodhi

<?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);
}
?>

Kana iwe uchida kuti matipi aridzirwe akarongeka, saka iwe unofanirwa kutaura mutsetse mu index.php

shuffle($files); //Random on

Kune podcasts ini ndinoshandisa /var/www/podcast/ Pane imwe script index.php. Iyo ine podcast track yemusoro. Nguva inotevera paunobatidza Internet inogamuchira, inotevera podcast track inoridzwa. Kune zvakare danda remakwara akaridzwa.
Mune iyo counter.dat faira, unogona kutsanangura nhamba yetrack uye kutamba kwepodcast kunotanga kubva mairi.

Akanyora maparser ekurodha otomatiki emapodcasts. Zvinotora achangoburwa 4 tracks kubva kuRSS uye kudhawunirodha. Zvese izvi zvinoshanda zvakanaka pane smartphone, IPTV set-yepamusoro bhokisi, kana mubrowser.

Mamwe mangwanani zvakafunga kwandiri kuti zvingava zvakanaka kurangarira nzvimbo yekutamba panjanji. Asi ini handisati ndaziva maitiro ekuita izvi muPHP.

Iyo script inogona kutorwa github.com/iwsys/IWScast

Source: www.habr.com

Voeg