Radio ea hau ea inthanete

Bongata ba rona re rata ho mamela seea-le-moea hoseng. Mme hoseng ho hong ha monate ka elellwa hore ha ke batle ho mamela diteishene tsa radio tsa lehae tsa FM. Ha ke na thahasello. Empa tloaelo eo e ile ea e-ba kotsi. Mme ke nkile qeto ya ho nkela moamohedi wa FM sebaka ka seamohedi sa Marang-rang. Ka potlako ke ile ka reka likarolo ho Aliexpress mme ka bokella mochine o amohelang Inthanete.

Mabapi le moamoheli oa Marang-rang. Pelo ea moamoheli ke ESP32 microcontroller. Firmware e tsoang KA-radio. Likarolo tsa ka li ntlisitse $12. Ho kopana habonolo ho ile ha ntumella ho e kopanya ka mor'a matsatsi a seng makae. E sebetsa hantle ebile e tsitsitse. Likhoeling tse 10 tsa mosebetsi, e ile ea hoama ka makhetlo a 'maloa feela, ebe ke ka lebaka la liteko tsa ka. Sebopeho se bonolo le se nahannoeng hantle se u lumella ho laola ho tsoa ho smartphone le komporo. Ka mantsoe a mang, sena ke seamoheli se setle sa Marang-rang.

Tsohle di lokile. Empa hoseng ho hong ke ile ka fihlela qeto ea hore ho sa tsotellehe ho fumana liteishene tsa seea-le-moea tse mashome a likete, ho ne ho se na liteishene tse thahasellisang. Ke ne ke tennoe ke lipapatso le metlae e hlokang kelello ea bahlahisi. Ho qhoma khafetsa ho tloha seteisheneng se seng ho ea ho se seng. Ke rata Spotify le Yandex.Music. Empa ntho e bohloko ke hore ha ba sebetse naheng ea heso. 'Me ke rata ho li mamela ka Internet receiver.

Ke ile ka hopola bongoaneng ba ka. Ke ne ke e-na le sehatisi sa theipi le lik’hasete tse mashome a mabeli. Ke ne ke fapanyetsana lik’hasete le metsoalle. Mme ho ne ho babatseha. Ke ile ka etsa qeto ea hore ke tlameha ho phallela li-archive tsa ka tsa audio ho seamoheli sa Marang-rang feela. Ha e le hantle, ho na le khetho ea ho hokahanya sebapali sa molumo kapa iPod ho libui 'me u se ke ua tšoenyeha. Empa ena ha se tsela ea rona! Ke hloile likhokahanyo)

Ke ile ka qala ho batla litharollo tse seng li entsoe. Ho na le tlhahiso 'marakeng ea ho iketsetsa seea-le-moea sa hau sa Marang-rang ho tsoa ho Radio-Tochka.com. Ke e lekile matsatsi a 5. Tsohle li ne li sebetsa hantle ka seamoheli sa ka sa Marang-rang. Empa theko e ne e sa khahle ho 'na. Ke hanne khetho ena.

Ke lefile ho amohela 10 GB. Ke ile ka etsa qeto ea ho ngola script ho ntho e 'ngoe e neng e tla phallela molumo oa lifaele tsa ka tsa mp3. Ke nkile qeto ea ho e ngola ka PHP. Ke ile ka e ngola kapele mme ka e thakgola. Tsohle di ile tsa sebetsa. Ho ne ho pholile! Empa matsatsi a seng makae hamorao ke ile ka fumana lengolo le tsoang ho batsamaisi ba ntlo. E boletse hore moeli oa metsotso ea processor o fetisitsoe le tlhoko ea ho nyolla litefiso tse phahameng. Sengoloa se ne se tlameha ho hlakoloa mme khetho ena ea tloheloa.

E etsahetse joang? Ha ke khone ho phela ntle le seea-le-moea. Haeba ba sa u lumelle ho tsamaisa script ho motho e mong ea amohelang batho, joale u hloka seva sa hau. Moo ke tla etsa seo moya wa ka o se lakatsang.

Ke na le netbook ea khale e se nang betri (CPU - 900 MHz, RAM - 512 Mb). Monna-moholo o se a le lilemo li 11. E loketse seva. Ke kenya Ubuntu 12.04. Ebe ke kenya Apache2 le php 5.3, samba. Seva ea ka e lokile.

Ke ile ka etsa qeto ea ho leka Icecast. Ke balile manna haholo ho eona. Empa ke ile ka fumana ho le thata. Mme ke nkile qeto ea ho khutlela khethong eo ka mongolo oa PHP. Ho ile ha sebelisoa matsatsi a 'maloa ho lokisa script ena. Mme tsohle di ne di sebetsa hantle. Eaba ke ngola script ho bapala li-podcasts. 'Me ke ile ka e rata hoo ke ileng ka etsa qeto ea ho etsa morero o monyenyane. E bitsitse IWScast. E ngotsoe ho github.

Radio ea hau ea inthanete

Ntho e 'ngoe le e' ngoe e bonolo haholo. Ke kopitsa lifaele tsa mp3 le faele ea index.php ho foldara ea metso ea Apache /var/www/ 'me li bapaloa ka mokhoa o sa reroang. Lipina tse ka bang 300 li lekane letsatsi lohle.
Faele ea index.php ke script ka boeona. Sengoloa se bala mabitso ohle a lifaele tsa MP3 bukeng ea lethathamo. E theha molumo oa molumo ebe e kenya mabitso a lifaele tsa MP3 sebaka. Ho na le linako tseo ka tsona u mamelang pina ebe ua e rata. U nahana hore ke mang ea binang? Bakeng sa boemo bo joalo, ho na le rekoto ea mabitso a lipina tse mametseng ho log.txt
Tlatsa khoutu ea mongolo

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

Haeba u hloka hore lipina li bapaloe ka tatellano, joale u lokela ho fana ka maikutlo ka mohala oa index.php

shuffle($files); //Random on

Bakeng sa li-podcasts tseo ke li sebelisang /var/www/podcast/ Ho na le index e 'ngoe ea mongolo.php. E na le ho hopola pina ea podcast. Nakong e tlang ha o bulela seamohedi sa Marang-rang, pina e latelang ya podcast e tla bapalwa. Ho boetse ho na le lethathamo la lipina tse bapaloang.
Ho faele ea counter.dat, o ka bolela nomoro ea pina le ho bapala podcast ho tla qala ho eona.

O ngotse li-parser bakeng sa ho khoasolla li-podcasts ka bohona. E nka lipina tsa morao-rao tse 4 ho tsoa ho RSS le ho li jarolla. Sena sohle se sebetsa hantle ho smartphone, IPTV set-top box, kapa ho sebatli.

Hoseng ho hong ke ile ka nahana hore ho tla ba monate ho hopola boemo ba ho bapala pina. Empa ha ke tsebe ho etsa sena ho PHP.

Script e ka khoasolloa github.com/iwsys/IWScast

Source: www.habr.com

Eketsa ka tlhaloso