Koj tus kheej hauv internet xov tooj cua

Peb coob leej nyiam mloog xov tooj cua thaum sawv ntxov. Thiab tom qab ntawd ib tag kis zoo kuv pom tau hais tias kuv tsis xav mloog xov tooj cua FM hauv zos. Tsis txaus siab. Tab sis tus cwj pwm tau hloov mus ua teeb meem. Thiab kuv tau txiav txim siab hloov tus txais FM nrog tus txais Internet. Kuv sai sai yuav cov khoom ntawm Aliexpress thiab sib sau ua ke ib tus txais Internet.

Hais txog Internet receiver. Lub plawv ntawm lub receiver yog ESP32 microcontroller. Firmware los ntawm KA-radio. Cov khoom raug nqi kuv $12. Qhov yooj yim ntawm kev sib dhos ua rau kuv tuaj yeem sib sau ua ke hauv ob peb hnub. Ua haujlwm zoo thiab ruaj khov. Hauv 10 lub hlis ntawm kev ua haujlwm, nws khov tsuas yog ob peb zaug, thiab tom qab ntawd tsuas yog vim kuv qhov kev sim. Ib qho yooj yim thiab zoo-tsim interface tso cai rau koj los tswj los ntawm smartphone thiab computer. Hauv ib lo lus, qhov no yog qhov zoo tshaj plaws hauv Internet txais.

Txhua yam zoo. Tab sis ib tag kis sawv ntxov kuv tuaj txog qhov xaus tias txawm tias muaj kev nkag mus rau kaum tawm txhiab lub xov tooj cua, tsis muaj chaw nres tsheb txaus nyiam. Kuv ntxhov siab los ntawm kev tshaj tawm thiab cov lus tso dag ruam ntawm cov neeg nthuav qhia. Tsis tu ncua dhia ntawm ib lub chaw nres tsheb mus rau lwm qhov. Kuv nyiam Spotify thiab Yandex.Music. Tab sis qhov tu siab yog tias lawv tsis ua haujlwm hauv kuv lub tebchaws. Thiab kuv xav mloog lawv ntawm tus txais Internet.

Kuv nco kuv thaum yau. Kuv muaj ib daim kab xev kaw thiab ob lub kaum cassettes. Kuv pauv cassettes nrog phooj ywg. Thiab nws zoo heev. Kuv txiav txim siab tias kuv yuav tsum tau kwj kuv cov ntaub ntawv audio tsuas yog rau tus txais hauv Internet xwb. Tau kawg, muaj ib qho kev xaiv los txuas lub suab player lossis iPod rau cov neeg hais lus thiab tsis txhob txhawj. Tab sis qhov no tsis yog peb txoj kev! Kuv ntxub cov connectors)

Kuv pib nrhiav kev npaj ua tiav. Muaj ib qho kev ua lag luam los tsim koj tus kheej hauv Internet xov tooj cua los ntawm Radio-Tochka.com. Kuv sim nws rau 5 hnub. Txhua yam ua haujlwm zoo nrog kuv tus txais internet. Tab sis tus nqi tsis txaus nyiam rau kuv. Kuv tsis kam lees qhov kev xaiv no.

Kuv tau them hosting 10 GB. Kuv txiav txim siab sau ib tsab ntawv rau ib yam dab tsi uas yuav kwj lub suab ntawm kuv cov ntaub ntawv mp3. Kuv txiav txim siab sau nws hauv PHP. Kuv tau sau nws sai sai thiab tso tawm. Txhua yam ua haujlwm. Nws yog txias! Tab sis ob peb hnub tom qab kuv tau txais tsab ntawv los ntawm tus thawj tswj hwm hosting. Nws tau hais tias qhov kev txwv ntawm cov feeb processor tau dhau lawm thiab yuav tsum tau hloov mus rau tus nqi siab dua. Tsab ntawv yuav tsum tau muab tshem tawm thiab qhov kev xaiv no tso tseg.

Nws tshwm sim li cas? Kuv nyob tsis tau xov tooj cua. Yog tias lawv tsis tso cai rau koj khiav tsab ntawv ntawm lwm tus hosting, ces koj xav tau koj tus kheej server. Qhov twg kuv yuav ua raws li kuv lub siab xav.

Kuv muaj netbook qub tsis muaj roj teeb (CPU - 900 MHz, RAM - 512 Mb). Tus laus twb muaj 11 xyoos lawm. Haum rau lub server. Kuv nruab Ubuntu 12.04. Tom qab ntawd kuv nruab Apache2 thiab php 5.3, samba. Kuv lub server npaj txhij.

Kuv txiav txim siab sim Icecast. Kuv nyeem ntau mana ntawm nws. Tab sis kuv pom nws nyuaj. Thiab kuv txiav txim siab rov qab mus rau qhov kev xaiv nrog ib tsab ntawv PHP. Ob peb hnub tau siv debugging tsab ntawv no. Thiab txhua yam ua haujlwm zoo heev. Tom qab ntawd kuv kuj tau sau ib tsab ntawv los ua si podcasts. Thiab kuv nyiam nws heev uas kuv txiav txim siab ua ib qhov project me me. Hu ua IWScast. Muab tso rau hauv github.

Koj tus kheej hauv internet xov tooj cua

Txhua yam yog yooj yim heev. Kuv luam cov ntaub ntawv mp3 thiab cov ntaub ntawv index.php rau hauv Apache hauv paus nplaub tshev /var/www/ thiab lawv tau ua si random. Kwv yees li 300 zaj nkauj txaus rau kwv yees li ib hnub.
Cov ntaub ntawv index.php yog tsab ntawv nws tus kheej. Tsab ntawv nyeem tag nrho cov npe ntawm MP3 cov ntaub ntawv hauv ib phau ntawv rau hauv ib qho array. Tsim cov kwj suab thiab hloov cov npe ntawm cov ntaub ntawv MP3. Muaj tej lub sij hawm thaum koj mloog ib zaj nkauj thiab koj nyiam nws. Koj xav tias leej twg yog hu nkauj? Rau qhov xwm txheej zoo li no, muaj cov ntaub ntawv teev npe ntawm cov nkauj tau mloog hauv lub log log.txt
Ua kom tiav tsab ntawv code

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

Yog hais tias koj xav tau cov lem yuav tsum tau ua si nyob rau hauv kev txiav txim, ces koj yuav tsum tau hais tawm cov kab hauv index.php

shuffle($files); //Random on

Rau podcasts kuv siv /var/www/podcast/ Muaj lwm tsab ntawv index.php. Nws muaj podcast khiav memorization. Lub sijhawm tom ntej koj tig rau hauv Internet receiver, cov podcast tom ntej yog ua si. Kuj tseem muaj lub cav ua si.
Hauv cov ntaub ntawv counter.dat, koj tuaj yeem qhia tus lej khiav thiab podcast playback yuav pib los ntawm nws.

Sau ntawv parser rau tsis siv neeg rub tawm ntawm podcasts. Nws yuav siv qhov tseeb 4 lem los ntawm RSS thiab downloads lawv. Tag nrho cov no ua haujlwm zoo ntawm lub xov tooj smartphone, IPTV teeb lub thawv, lossis hauv browser.

Lwm tag kis sawv ntxov nws tshwm sim rau kuv tias nws yuav zoo heev kom nco qab txoj haujlwm playback ntawm ib txoj kab. Tab sis kuv tseem tsis tau paub yuav ua li cas ua qhov no hauv PHP.

Tsab ntawv tuaj yeem rub tawm github.com/iwsys/IWScast

Tau qhov twg los: www.hab.com

Ntxiv ib saib