Umsakazo wakho we-inthanethi

Abaningi bethu bathanda ukulalela umsakazo ekuseni. Kwathi ngelinye ilanga ekuseni ngabona ukuthi angifuni ukulalela iziteshi zomsakazo ze-FM zendawo. Anginantshisekelo. Kodwa lo mkhuba waba yingozi. Futhi nginqume ukushintsha isamukeli se-FM ngesamukeli se-inthanethi. Ngathenga ngokushesha izingxenye ku-Aliexpress futhi ngahlanganisa isamukeli se-inthanethi.

Mayelana nesamukeli se-inthanethi. Inhliziyo yomamukeli yi-ESP32 microcontroller. I-Firmware evela ku-KA-radio. Izingxenye zingibize u-$12. Ukuhlangana kalula kwangivumela ukuba ngiyihlanganise ezinsukwini ezimbalwa. Isebenza kahle futhi ngokuzinza. Ezinyangeni eziyi-10 zomsebenzi, kwaqalwa yiqhwa izikhathi ezimbalwa kuphela, kwase kuba ngenxa yocwaningo lwami kuphela. I-interface elula futhi ecatshangelwe kahle ikuvumela ukuthi ulawule usebenzisa i-smartphone nekhompyutha. Ngamafuphi, lesi isamukeli esihle se-inthanethi.

Konke KULUNGILE. Kodwa ngolunye usuku entathakusa ngafinyelela esiphethweni sokuthi naphezu kokufinyelela amashumi ezinkulungwane eziteshi zomsakazo, zazingekho iziteshi ezithakazelisayo. Ngangicasulwa ukukhangisa namahlaya angenangqondo abethuli bezinhlelo. Ulokhu ugxuma usuka kwesinye isiteshi uya kwesinye. Ngithanda i-Spotify ne-Yandex.Music. Kodwa okubuhlungu ukuthi azisebenzi ezweni lami. Futhi ngingathanda ukubalalela ngesamukeli se-inthanethi.

Ngakhumbula ubuntwana bami. Bengine-tape recorder namakhasethi angamashumi amabili nambili. Ngashintshanisa amakhasethi nabangane. Futhi kwakumnandi. Nginqume ukuthi ngidinga ukusakaza ingobo yami yomsindo kuphela kumamukeli we-inthanethi. Yiqiniso, kukhona inketho yokuxhuma isidlali somsindo noma i-iPod kuzipikha futhi ungakhathazeki. Kodwa lena akuyona indlela yethu! Ngiyakuzonda ukuxhuma izixhumi)

Ngaqala ukufuna izixazululo esezilungile. Kukhona isithembiso emakethe sokwakha owakho umsakazo we-inthanethi ovela kuRadio-Tochka.com. Ngiyihlole izinsuku ezi-5. Konke kusebenze kahle ngesamukeli sami se-inthanethi. Kodwa intengo ayizange ikhange kimi. Nginqabile le nketho.

Ngikhokhele ukusingathwa okungu-10 GB. Nginqume ukubhala umbhalo kokuthile okuzosakaza ukusakazwa komsindo kwamafayela ami e-mp3. Nginqume ukuyibhala nge-PHP. Ngayibhala ngokushesha futhi ngayethula. Konke kwasebenza. Bekupholile! Kodwa ngemva kwezinsuku ezimbalwa ngathola incwadi evela kubaphathi abasingatha lesi sikhungo. Ithe umkhawulo wamaminithi wokucubungula weqiwe kanye nesidingo sokuthuthukela ku-tariff ephezulu. Isikripthi bekufanele sisuswe futhi le nketho iyekwa.

Kwenzeke kanjani? Angikwazi ukuphila ngaphandle komsakazo. Uma zingakuvumeli ukuthi usebenzise iskripthi ekusingatheni omunye umuntu, udinga iseva yakho. Lapho ngizokwenza okufiswa ngumphefumulo wami.

Ngine-netbook yasendulo engenabhethri (CPU - 900 MHz, RAM - 512 Mb). Ikhehla selineminyaka engu-11. Ifanele iseva. Ngifaka Ubuntu 12.04. Bese ngifaka i-Apache2 ne-php 5.3, samba. Iseva yami isilungile.

Nganquma ukuzama i-Icecast. Ngifunde kakhulu mana kuyo. Kodwa ngakuthola kunzima. Futhi nginqume ukubuyela kunketho ngombhalo we-PHP. Izinsuku ezimbalwa zichithwe kulungiswa lesi sikripthi. Futhi konke kwasebenza kahle. Ngabe sengibhala neskripthi sokudlala ama-podcasts. Futhi ngayithanda kakhulu kangangokuthi nganquma ukwenza iphrojekthi encane. Ibizwa ngokuthi IWScast. Kuthunyelwe ku-github.

Umsakazo wakho we-inthanethi

Konke kulula kakhulu. Ngikopisha amafayela we-mp3 kanye nefayela le-index.php kufolda yempande ye-Apache /var/www/ futhi adlalwa ngokungahleliwe. Cishe izingoma ezingama-300 zanele cishe usuku lonke.
Ifayela index.php iskripthi ngokwaso. Umbhalo ufunda wonke amagama wamafayela e-MP3 ohlwini lwemibhalo lube uhlu. Idala ukusakaza komsindo futhi ifake amagama amafayela e-MP3 esikhundleni. Kunezikhathi lapho ulalela khona ingoma bese uyithanda. Ucabanga ukuthi ubani oculayo? Esimeni esinjalo, kukhona ukurekhodwa kwamagama amathrekhi alalelwe kulogi log.txt
Qedela ikhodi yombhalo

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

Uma udinga amathrekhi ukuthi adlalwe ngokulandelana, udinga ukuphawula ngomugqa ku-index.php

shuffle($files); //Random on

Kumaphodikasti engiwasebenzisayo /var/www/podcast/ Kukhona enye inkomba yeskripthi.php. Ine-podcast track ngekhanda. Ngokuzayo uma uvula isamukeli se-inthanethi, iculo le-podcast elilandelayo liyadlalwa. Kukhona nelogi yamathrekhi adlalwayo.
Efayelini le-counter.dat, ungacacisa inombolo yethrekhi futhi ukudlalwa kwe-podcast kuzoqala kuyo.

Ubhale ama-parser ukuze alandwe ngokuzenzakalelayo ama-podcast. Kudingeka amathrekhi angu-4 akamuva avela ku-RSS futhi iwalande. Konke lokhu kusebenza kahle ku-smartphone, i-IPTV set-top box, noma kusiphequluli.

Ngolunye usuku ekuseni ngifikelwe ukuthi kungaba kuhle ukukhumbula indawo yokudlala kuthrekhi. Kepha angazi okwamanje ukuthi ngingakwenza kanjani lokhu ku-PHP.

Umbhalo ungalandwa github.com/iwsys/IWScast

Source: www.habr.com

Engeza amazwana