Eich radio rhyngrwyd eich hun

Mae llawer ohonom yn hoffi gwrando ar y radio yn y bore. Ac yna un bore braf sylweddolais nad oeddwn am wrando ar orsafoedd radio FM lleol. Dim diddordeb. Ond trodd yr arferiad allan yn niweidiol. A phenderfynais ddisodli'r derbynnydd FM gyda derbynnydd Rhyngrwyd. Prynais rannau yn gyflym ar Aliexpress a chydosod derbynnydd Rhyngrwyd.

Am y derbynnydd Rhyngrwyd. Calon y derbynnydd yw'r microreolydd ESP32. Firmware o KA-radio. Costiodd y rhannau $12 i mi. Roedd rhwyddineb y cynulliad yn caniatΓ‘u i mi ei ymgynnull mewn cwpl o ddiwrnodau. Yn gweithio'n dda ac yn sefydlog. Mewn 10 mis o waith, dim ond cwpl o weithiau y rhewodd, ac yna dim ond oherwydd fy arbrofion. Mae rhyngwyneb cyfleus sydd wedi'i feddwl yn ofalus yn caniatΓ‘u ichi reoli o ffΓ΄n clyfar a chyfrifiadur. Mewn gair, mae hwn yn dderbynnydd Rhyngrwyd gwych.

Popeth yn iawn. Ond un bore cynnar deuthum i'r casgliad, er gwaethaf cael mynediad i ddegau o filoedd o orsafoedd radio, nad oedd unrhyw orsafoedd diddorol. Cefais fy nghythruddo gan yr hysbysebu a jΓ΄cs gwirion y cyflwynwyr. Neidiwch yn gyson o un orsaf i'r llall. Dw i'n hoffi Spotify a Yandex.Music. Ond y peth trist yw nad ydyn nhw'n gweithio yn fy ngwlad i. A hoffwn wrando arnynt trwy'r derbynnydd Rhyngrwyd.

Cofiais fy mhlentyndod. Roedd gen i recordydd tΓ’p a dau ddwsin o gasetiau. Cyfnewidiais gasetiau gyda ffrindiau. Ac roedd yn fendigedig. Penderfynais fod angen i mi ffrydio fy archifau sain i dderbynnydd Rhyngrwyd yn unig. Wrth gwrs, mae opsiwn i gysylltu chwaraewr sain neu iPod i'r siaradwyr a pheidio Γ’ phoeni. Ond nid dyma ein ffordd ni! Mae'n gas gen i gysylltu cysylltwyr)

Dechreuais chwilio am atebion parod. Mae yna gynnig ar y farchnad i greu eich radio Rhyngrwyd eich hun gan Radio-Tochka.com. Fe wnes i ei brofi am 5 diwrnod. Gweithiodd popeth yn iawn gyda fy nerbynnydd rhyngrwyd. Ond nid oedd y pris yn ddeniadol i mi. Gwrthodais yr opsiwn hwn.

Rwyf wedi talu hosting 10 GB. Penderfynais ysgrifennu sgript ar rywbeth a fyddai'n ffrydio llif sain fy ffeiliau mp3. Penderfynais ei ysgrifennu yn PHP. Fe'i hysgrifennais yn gyflym a'i lansio. Gweithiodd popeth. Roedd yn cwl! Ond ychydig ddyddiau'n ddiweddarach derbyniais lythyr gan y weinyddiaeth letyol. Dywedodd fod y terfyn o gofnodion prosesydd wedi'i ragori a'r angen i uwchraddio i dariff uwch. Bu'n rhaid dileu'r sgript a rhoi'r gorau i'r opsiwn hwn.

Sut y digwyddodd? Ni allaf fyw heb radio. Os nad ydyn nhw'n caniatΓ‘u ichi redeg y sgript ar westeiwr rhywun arall, yna mae angen eich gweinydd eich hun arnoch chi. Lle gwnaf yr hyn y mae fy enaid yn ei ddymuno.

Mae gen i netbook hynafol heb fatri (CPU - 900 MHz, RAM - 512 Mb). Mae'r hen ddyn eisoes yn 11 oed. Yn addas ar gyfer gweinydd. Rwy'n gosod Ubuntu 12.04. Yna rwy'n gosod Apache2 a php 5.3, samba. Mae fy gweinydd yn barod.

Penderfynais roi cynnig ar Icecast. Darllenais lawer o fana arno. Ond roeddwn i'n ei chael hi'n anodd. A phenderfynais ddychwelyd i'r opsiwn gyda sgript PHP. Treuliwyd cwpl o ddyddiau yn dadfygio'r sgript hon. Ac fe weithiodd popeth yn wych. Wedyn sgwennais i sgript i chwarae podlediadau hefyd. Ac roeddwn i'n ei hoffi gymaint nes i mi benderfynu gwneud prosiect bach. Ei enw yw IWScast. Wedi'i bostio ar github.

Eich radio rhyngrwyd eich hun

Mae popeth yn syml iawn. Rwy'n copΓ―o'r ffeiliau mp3 a'r ffeil index.php i mewn i ffolder gwraidd Apache /var/www/ ac maent yn cael eu chwarae ar hap. Mae tua 300 o ganeuon yn ddigon am tua'r diwrnod cyfan.
Y ffeil index.php yw'r sgript ei hun. Mae'r sgript yn darllen holl enwau ffeiliau MP3 mewn cyfeiriadur i mewn i arae. Yn creu ffrwd sain ac yn amnewid enwau ffeiliau MP3. Mae yna adegau pan fyddwch chi'n gwrando ar gΓ’n ac rydych chi'n ei hoffi. Pwy ydych chi'n meddwl sy'n canu? Ar gyfer achos o'r fath, mae yna recordiad o enwau'r traciau sy'n cael eu gwrando yn y log log.txt
Cod sgript cyflawn

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

Os oes angen i'r traciau gael eu chwarae mewn trefn, yna mae angen i chi wneud sylwadau ar y llinell yn index.php

shuffle($files); //Random on

Ar gyfer podlediadau rwy'n defnyddio /var/www/podcast/ Mae sgript index.php arall. Mae ganddo gof trac podlediad. Y tro nesaf y byddwch chi'n troi'r derbynnydd Rhyngrwyd ymlaen, mae'r trac podlediad nesaf yn cael ei chwarae. Mae yna hefyd log o draciau a chwaraewyd.
Yn y ffeil counter.dat, gallwch nodi rhif y trac a bydd chwarae podlediad yn cychwyn ohono.

Ysgrifennu parsers ar gyfer llwytho i lawr yn awtomatig o bodlediadau. Mae'n cymryd y 4 trac diweddaraf o RSS ac yn eu llwytho i lawr. Mae hyn i gyd yn gweithio'n wych ar ffΓ΄n clyfar, blwch pen set IPTV, neu mewn porwr.

Y bore o'r blaen daeth yn amlwg i mi y byddai'n wych cofio'r safle chwarae yn Γ΄l ar drac. Ond dydw i ddim yn gwybod eto sut i wneud hyn yn PHP.

Gellir lawrlwytho'r sgript github.com/iwsys/IWScast

Ffynhonnell: hab.com

Ychwanegu sylw