Otu esi etinye SHOUTCast Radio Server (Online Media Streaming) na Linux


SHOUTcast bụ sọftụwia nwere onwe nke ejiri na-ebusa mgbasa ozi na ịntanetị, ọkachasị ejiri ya na egwu na-ebi ndụ site na ụlọ ọrụ redio na ịntanetị, nke Nullsoft mepụtara ya nwere ụdị maka nyiwe isi niile, gụnyere Linux.

Nkuzi a ga - eduzi gị otu ị ga - esi wụnye SHOUTcast Distributed Network Audio Server na CentOS 8, site n'enyemaka nke ị nwere ike iji ndị egwuregwu mgbasa ozi, dị ka Winamp ma ọ bụ Mixxx jikọọ na ọrụ nkwanye na mgbasa ozi. ndepụta ọkpụkpọ ọdịyo gị nye ndị na-ege ịntanetị.

Ọ bụ ezie na nkuzi a na-ekpuchi naanị SHOUTcastnwụnye ihe nkesa na igwe CentOS 8/7, enwere ike itinye otu usoro ahụ na nkesa Linux ndị ọzọ dị ka RHEL, Fedora, Ubuntu, Debian, Linux Mint, wdg. kwuo na ị ga-emegharị iwu firewall ka ọ dabara nkesa Linux gị.

Kwụpụ 1: Budata ma wụnye SHOUTcast Server

1. Tupu ịga n'ihu na ntinye nke ihe nkesa SHOUTcast, mepụta onye ọrụ mpaghara nke ị ga-esi na-agba ọsọ ihe nkesa ahụ n'ihi na ịgba ọsọ na akaụntụ mgbọrọgwụ nwere ike itinye nnukwu nsogbu nchekwa na sistemụ gị.

Ya mere, jiri akaụntụ mgbọrọgwụ banye na sistemụ gị, mepụta onye ọrụ ọhụrụ, nke a na-akpọ redio, mgbe ịmechara, pụọ na akaụntụ mgbọrọgwụ, wee banye na onye ọrụ gị emepụtara ọhụrụ. Nke a bụ iwu ndị a chọrọ ka e gbuo na ọdụ.

# adduser radio
# passwd radio
# su - radio
$ pwd 

2. Ozugbo ejiri akaụntụ redio banye na sistemụ gị, mepụta akwụkwọ ndekọ aha abụọ download na server, wee gbanwee ka ibudata folda.

$ mkdir download
$ mkdir server
# cd download

3. Ọzọ, jide ụdị ikpeazụ nke SHOUTcast ihe nkesa Archive maka Linux, dabere na usoro nhazi gị, site na ịga na ibe Nbudata Nullsot.

  1. http://download.nullsoft.com/shoutcast/tools

N'aka nke ọzọ, jiri utility wget na-esonụ iji budata ebe nchekwa ahụ site na ahịrị iwu.

--------------- On 64-bit ---------------
$ wget http://download.nullsoft.com/shoutcast/tools/sc_serv2_linux_x64-latest.tar.gz

--------------- On 32-bit --------------- 
$ wget http://download.nullsoft.com/shoutcast/tools/sc_serv2_linux-latest.tar.gz

4. Mgbe nbudata ahụ gwụchara, wepụ faịlụ Archive, depụta ndekọ iji chọta faịlụ ọnụọgụ abụọ nke executable, ma detuo ya na ndekọ nwụnye, nke dị na folda server , wee gaa na ụzọ nwụnye SHOUTcast, site n'inye iwu ndị a.

$ tar xfz sc_serv2_linux_x64-latest.tar.gz
$ ls
$ cp  sc_serv  ../server/
$ cd  ../server/
$ ls

5. Ugbu a ị nọ na ụzọ nrụnye ihe nkesa, mepụta akwụkwọ ndekọ aha abụọ aha ya bụ controlna logs na ịmechara usoro nrụnye n'ezie. Depụta ọdịnaya ndekọ gị iji nyochaa ma ọ bụrụ na ihe niile dị n'iji iwu ls.

$ mkdir control
$ mkdir logs
$ ls

Kwụpụ 2: Mepụta faịlụ nhazi SHOUTcast

6. Iji na-agba ọsọ ma rụọ ọrụ nkesa, ịkwesịrị ịmepụta faịlụ nhazi maka SHOUTcast. Mepee ndezi ederede ọkacha mmasị gị wee mepụta faịlụ ọhụrụ, akpọrọ sc_serv.conf.

Jide n'aka na emepụtara faịlụ a n'otu ụzọ ahụ ka emepụtara faịlụ ọnụọgụ abụọ nwere ike ịmegharị sc_serv e gị. Iji pwd iwu kwesịrị igosi gị ụzọ a zuru oke - /home/radio/server).

$ cd /home/radio/server/
$ pwd
$ vi sc_serv.conf

Tinye nkwupụta ndị a na faịlụ sc_serv.conf (nhazi ihe atụ).

adminpassword=password
password=password1
requirestreamconfigs=1
streamadminpassword_1=password2
streamid_1=1
streampassword_1=password3
streampath_1=http://radio-server.lan:8000
logfile=logs/sc_serv.log
w3clog=logs/sc_w3c.log
banfile=control/sc_serv.ban
ripfile=control/sc_serv.rip

Ụfọdụ ntọala dị mkpa ị kwesịrị ịma maka faịlụ a bụ okwu password, nke a ga-agbanwerịrị ya:

  • adminpassword – Okwuntughe onye nchịkwa chọrọ iji rụọ ọrụ nchịkwa dịpụrụ adịpụ site na interface weebụ na sava ahụ.
  • streampassword_1 – Okwuntughe chọrọ nke ihe ọkpụkpọ mgbasa ozi dịpụrụ adịpụ chọrọ iji jikọọ na ịkwanye ọdịnaya mgbasa ozi na sava ahụ.

N'aka nke ọzọ, ọ bụrụ na ịchọrọ ịmepụta faịlụ nhazi maka ihe nkesa SHOUTcast ị nwere ike ịga na budata ndekọ wee mee builder.sh ma ọ bụ setup.sh scripts.

$ cd ../download/
$ bash setup.sh

nke ga-ahapụ gị ka ị hazie ihe nkesa site na ntanetị weebụ nke enwere ike ịnweta site na adreesị na-esonụ.

http://localhost:8000
OR
http://ipaddress:8000

Ozugbo emepụtara nhazi ahụ, ị nwere ike iṅomi ya na ndekọ nrụnye nkesa.

7. Iji malite ihe nkesa ahụ mebie sc_serv faịlụ sitere na ndekọ ndekọ aha gị ugbu a, nke ga-abụrịrị ihe nkesa ndekọ, tinye ya na ndabere na & onye ọrụ bash, ma duzie ihe nchọgharị gị na http://localhost-or-IP:8000 URL.

Ọzọkwa, jiri iwu netstat hụ ma ihe nkesa na-agba ọsọ yana nọmba ọdụ ụgbọ mmiri ọ na-ege ntị.

$ chmod +x sc_serv
$ ./sc_serv &
$ netstat -tulpn | grep sc_serv

Nzọụkwụ 3: Mepee Firewall Connections

8. Ugbu a ihe nkesa SHOUTcast dị elu ma na-arụ ọrụ mana enweghị ike ịnweta ya site na mpụga ụwa n'ihi mmachi CentOS Firewall. Imepe ihe nkesa na njikọ mpụga nbanye na akaụntụ mgbọrọgwụ wee tinye iwu nke ga-emepe ọdụ ụgbọ mmiri 8000 TCP.

Mgbe agbakwunyere iwu, bugharịa Firewall ka itinye mgbanwe na ọpụpụ na akaụntụ mgbọrọgwụ gị.

$ su -
# firewall-cmd --add-port=8000/tcp --permanent
# firewall-cmd --reload
# exit

9. Wee mepee ihe nchọgharị site na igwe dịpụrụ adịpụ wee pịnye adreesị IP nke ihe nkesa gị na ọdụ ụgbọ mmiri 8000 na URL gbara akwụkwọ - http://192.168.1.80:8000 - na SHOUTcast webụ interface kwesịrị ịpụta dị ka na . nseta ihuenyo n'okpuru, na-enweghị iyi ndụ dị.

Kwụpụ 4: Jikwaa SHOUTcast Server na Mepụta edemede Daemon

10. Iwu eji jikwaa ihe nkesa redio SHOUTcast bụ faịlụ ọnụọgụ abụọ n'onwe ya, nke a ga-agbarịrị site na ebe nrụnye ya ka ọ bụrụ
nwee ike ịgụ faịlụ nhazi. Iji mee ihe nkesa dị ka daemon site na iji daemon nhọrọ iwu.

Ị nwekwara ike ịkụziri ihe nkesa ahụ ka ọ gụọ nhazi ya site na ebe dị iche iche site n'igosi ebe faịlụ nhazi ahụ bi, ma dụnye gị ọdụ na iji nhọrọ a chọrọ ịmepụta ndekọ na akwụkwọ nchịkwa, nke nwere ike ịgbagwoju anya na omume ma nwee ike iduga enweghị ike nkesa. ibido.

$ pwd  ## Assure that you are in the right installation directory - /home/radio/server

$ ./sc_serv   ## Start the server in foreground – Hit Ctrl + c to stop

$ ./sc_serv daemon  ## Start the server as a daemon

$ ps aux | grep sc_serv   ## Get Server PID

$ killall sc_serv  ## Stop server daemon

11. Ọ bụrụ na ịchọrọ iwu dị mfe ka ịmalite ma ọ bụ kwụsị SHOUTcast redio nkesa, banye dị ka mgbọrọgwụ ọzọ wee mepụta ihe na-esonụ executable script na /usr/local/bin/ụzọ dị ka ihe atụ n'okpuru.

$ su -
# vi /usr/local/bin/radio

Ugbu a tinye akụkụ a na faịlụ redio.

#!/bin/bash
case $1 in
                start)
cd /home/radio/server/
./sc_serv &
              ;;
                stop)
killall sc_serv
                ;;
               start_daemon)
cd /home/radio/server/
./sc_serv daemon
               ;;
                *)
echo "Usage radio start|stop"
                ;;
esac

12. Mgbe emechara faịlụ ahụ, mee ka ọ rụọ ọrụ, pụọ na akaụntụ mgbọrọgwụ, na mkpu ọhụrụ dị maka njikwa ihe nkesa redio SHOUTcast gị.

# chmod +x /usr/local/bin/radio
# exit

13. Iji jikwaa ihe nkesa site ugbu a gaa n'ihu, jiri redio iwu na mgba ọkụ ndị a.

$ radio start_daemon		## Starts SHOUTcast server as a daemon

$ radio start                   ## Starts SHOUTcast server in foreground

$ radio stop                    ## Stops SHOUTcast server

14. Ọ bụrụ na ịchọrọ ịmalite ihe nkesa na-akpaghị aka mgbe ịmalitegharịa, ma ọ bụ naanị na nbanye onye ọrụ (na nke a, etinyere ihe nkesa ahụ na onye ọrụ mpaghara aha ya bụ redio) na-enye iwu na-esonụ site na ụlọ akaụntụ redio, wee pụta na banye ọzọ iji nyochaa arụmọrụ, dị ka ewepụtara na nseta ihuenyo n'okpuru.

$ whoami  
$ echo “radio start_daemon” >> ~/.bashrc

Ọ bụ ya! Ugbu a, ihe nkesa SHOUTcast dị njikere ịnata ụda ma ọ bụ listi ọkpụkpọ site na ndị egwuregwu mgbasa ozi dịpụrụ adịpụ dị ka Winamp sitere na Windows na Mixxx sitere na Linux wee gbasaa ọdịnaya ọdịyo niile enwetara na ịntanetị.