SHOUTcast DNAS Server 2.5.5 – Dokumentáció

(Utoljára frissítve: 2025 május 24)

1. Bevezetés (Introduction)


A dokumentum célja, hogy bemutassa a DNAS szerver (sc_serv) által támogatott különböző konfigurációs lehetőségeket, valamint alapvető és haladó konfigurációs példákat adjon annak érdekében, hogy könnyen el lehessen kezdeni használni a szervert, és ki lehessen aknázni a benne rejlő lehetőségeket.

A DNAS szerver célja, hogy továbbfejlesztett kiszolgálási funkciókat nyújtson, és hozzáférést biztosítson az új YP2 infrastruktúrához, miközben a lehető legnagyobb mértékben megőrzi a korábbi DNAS verziókkal való kompatibilitást. Az új funkciók a következők:

  • Több stream kiszolgálása egyetlen szerverpéldányból
  • Több stream továbbítása (relay) egyetlen szerverpéldányból
  • Az összes szervertevékenység multiplexálása egyetlen IP-porton keresztül
  • SHOUTcast 2 „vezetékes protokoll” támogatás forrásokhoz, relékhez és hallgatói kliensekhez
  • SHOUTcast 1.x és 2.x adatok újracsomagolása a hallgatók számára
  • Bármilyen SHOUTcast-kompatibilis forrás használatának lehetősége (1.x vagy 2.x)
  • v2 SHOUTcast Directory (YP2) infrastruktúra támogatása
  • Valós idejű metainformációk és statisztikák jelentése
  • Statikus állomásazonosító támogatása
  • Bővített metainformáció-támogatás, beleértve a képek küldését is
  • UTF-8 és nemzetközi karakterkódolás támogatása
  • Fejlettebb szerver- és stream biztonság
  • DNS-címek használatának támogatása a nyers IP-címek helyett
  • Biztonsági (backup) URL támogatás a folyamatos lejátszáshoz forráskimaradás esetén
  • Fejlettebb intro- és backupfájl-kezelés az 1.x verzióhoz képest

2. Áttekintés (Overview)


A 2.x verziójú DNAS szerver által kínált funkciók teljes kihasználása érdekében ajánlott 2.x-kompatibilis forrás használata, amely képes a szükséges adatok szolgáltatására.

Ez azonban nem zárja ki 1.x-kompatibilis forrás használatát, bár ilyen esetben nem élvezhető minden új funkció.

A 2.4.7-es verziótól kezdve lehetséges 1.x forrás csatlakoztatása bármely konfigurált streamhez, amennyiben a megfelelő jelszó meg van adva.

Ha a hallgatói kapcsolat "SHOUTcast-kompatibilis"-ként észlelt, a DNAS újracsomagolja a streamet és metainformációkat a megfelelő formátumba (1.x vagy 2.x).

3. Kezdő lépések (Getting Started)


A 2.x SHOUTcast Directory infrastruktúrában (amelyet a 2.x DNAS szerver használ) kulcsfontosságú az authhash, amely hitelesíti a szervert, amikor az kapcsolódik a SHOUTcast Directory-hoz.

Miután egy streamhez authhash-t regisztráltunk, az minden, ugyanazt az állomást közvetítő DNAS szerverhez érvényes lesz.

Fontos: Az authhash ingyenes és szabadon létrehozható.

Részletes útmutató az authhash létrehozásáról és kezeléséről a "Server Summary" (Szerverösszegzés) oldalon található (angol, magyar), amennyiben már csatlakozott érvényes forrás a szerverhez. A rendszer automatikusan frissíti a konfigurációs fájlokat az új authhash értékkel, és ha a stream nyilvánosra van állítva, megkísérli azt listázni a SHOUTcast Rádió Könyvtárban.


3.1 A szerver futtatása (Running the Server)


A DNAS szerver futtatható konzolos alkalmazásként, vagy szolgáltatásként (Windows), illetve démonként (Linux / BSD / Raspbian / macOS). Az alábbi szakaszok részletesen bemutatják, hogyan indítható el a DNAS szerver a különböző támogatott operációs rendszereken.

Example of the Windows DNAS server running

3.2 Windows


A DNAS szerver Windows verziója úgy lett kialakítva, hogy működjön teljesen frissített és javított Windows 2000 és újabb rendszereken, beleértve a szerverváltozatokat is.


3.2.1 Telepítés szolgáltatásként (Install as a Service)


sc_serv.exe install [szolgáltatásnév] [felhasználónév] [jelszó] [konfigurációs_fájl]

szolgáltatásnév – Egyedi név a szolgáltatás számára (nem kötelező).

Ha nem adod meg, akkor alapértelmezés
szerint SHOUTcast DNAS Service lesz.

Ha megadod, jegyezd fel, mert az eltávolításkor ugyanazt kell használnod. Ha már létezik ilyen nevű szolgáltatás, akkor a telepítés sikertelen lesz (mint a lenti képen).

felhasználónév – A felhasználó, akinek nevében a szolgáltatás fut (vagy 0, ha helyi rendszerként futtatod – nem kötelező)

jelszó – A felhasználó jelszava (vagy 0, ha nincs jelszó, vagy helyi rendszerként fut)

konfigurációs_fájl – A konfigurációs fájl elérési útja (lehet teljes vagy relatív útvonal - nem kötelező)

Ha nem adsz meg fájlt vagy érvénytelen fájlt adsz meg, akkor a DNAS leáll a betöltés során,
miután megpróbálja betölteni a sc_serv.ini vagy sc_serv.conf fájlt ugyanabból a mappából,
ahol a sc_serv.exe található (először ini, majd conf fájlt keres).

Example Error Registering as a Service

A DNAS-kiszolgáló futtatásához egy olyan konfigurációs fájllal, amely a kiszolgálóval megegyező mappában van, és amely az aktuális helyi rendszerfelhasználó mappájában található, a konzolba a következőt kell beírnia:

sc_serv.exe install sc_serv

vagy

sc_serv.exe install sc_serv 0 0 sc_serv.conf


3.2.2 Szolgáltatás eltávolítása (Uninstall the Service)


sc_serv.exe uninstall [szolgáltatásnév]

szolgáltatásnév – Az a név, amit a telepítésnél megadtál (nem kötelező).

Ha nem adsz meg nevet,
akkor SHOUTcast DNAS Service lesz az alapértelmezett.

Ha a telepítés során megadtál egyedi nevet, ugyanazt kell használnod az eltávolításhoz is, különben a folyamat sikertelen lesz.

A DNAS szerver eltávolításához, feltételezve, hogy a telepítési részben leírtak szerint lett telepítve, a konzolba kell beírnod a következő parancsot:

sc_serv.exe uninstall

vagy

sc_serv.exe uninstall sc_serv


3.2.3 Futtatás konzol módban (Run in the Console)


sc_serv.exe [konfigurációs_fájl]

konfigurációs_fájl – A konfigurációs fájl elérési útja (lehet teljes vagy relatív útvonal - nem kötelező)

Ha nem adsz meg fájlt vagy hibás fájlt adsz meg, a szerver nem indul el,
és megpróbálja betölteni a sc_serv.ini vagy sc_serv.conf fájlt ugyanabból a mappából,
ahol a sc_serv.exe található. Ha egyiket sem találja,
egy fájlválasztó kérés jelenik meg, ahol megadhatod a konfigurációs fájlt.

Prompt for Configuration File

3.3 Linux / BSD / Raspbian / Mac OS X


Ne felejtsd el engedélyezni a szükséges hozzáférést az sc_serv fájlhoz a chmod a+x sc_serv paranccsal, miután kicsomagoltad a fájlt a disztribúciós fájlból. különben az operációs rendszer valószínűleg nem fogja futtatni, és ehelyett a ./sc_serv: Permission denied (Engedély megtagadva) hibaüzenetet jeleníti meg.

Example of the Linux DNAS Server Running

3.3.1 Futtatás démonként (Run as a Daemon)


./sc_serv daemon [konfigurációs_fájl]

konfigurációs_fájl – A konfigurációs fájl elérési útja (lehet teljes vagy relatív útvonal - nem kötelező)

Ha nem adsz meg érvényes fájlt, a szerver nem indul el,
és megpróbálja betölteni a sc_serv.ini vagy sc_serv.conf fájlt az aktuális mappából.

./sc_serv daemon

vagy

./sc_serv daemon ./sc_serv.conf

Ha helyesen futtatod, a következő üzenet jelenik meg:

sc_serv going daemon with PID [XXXX]

ahol XXXX a futó folyamat azonosítója (PID).

Example of the Linux DNAS Server Started as a Daemon

3.3.2 Démon leállítása (End a Daemon)


kill -SIGTERM <pid>

vagy

kill -15 <pid>

vagy

kill -s TERM <pid>

<pid> – A démonként futó példány folyamatazonosítója. Ez az érték elérhető a démon indításakor megjelenő üzenetből, vagy lekérdezhető a ps ax | grep sc_serv segítségével feltéve, hogy az sc_serv fájl volt futtatva. Ha nem ismert a fájlnév, akkor használható a sima ps ax parancs is.

A PID értéke megtalálható a naplófájlban, vagy a konzolon is megjelenik,
ha a szerver démonként lett indítva.


3.3.3 Futtatás nem démonként (Run as a Non-Daemon)


./sc_serv [konfigurációs_fájl]

konfigurációs_fájl – A konfigurációs fájl elérési útja (lehet teljes vagy relatív útvonal - nem kötelező)

Ha nem adsz meg érvényes fájlt, akkor a DNAS szerver megkísérli betölteni
az sc_serv.ini vagy sc_serv.conf fájlok valamelyikét ugyanabból a mappából,
ahol a sc_serv található. Ha egyiket sem találja,
megjelenik egy interaktív kérdés, ahol kiválaszthatod a használni kívánt fájlt.

Prompt for Configuration File

3.3.4 Azonnali összeomlás indításkor (Immediate Segfault on Run)


Bizonyos esetekben előfordulhat, hogy a DNAS szerver azonnali összeomlással (segfault) leáll, amint megpróbálod elindítani (./sc_serv). Ennek leggyakoribb oka, hogy a fájl hibásan került letöltésre vagy átvitelre, például ha FTP-n szövegfájlként került mentésre bináris helyett.

  1. Győződj meg róla, hogy a futtatási jogosultságok helyesek. Az engedélyek beállításához futtasd a chmod a+x sc_serv parancsot.
  2. Könyvtárfüggőségek ellenőrzéséhez futtasd az ldd sc_serv parancsot. Ha a kimenet szerint a fájl "statically linked" (statikusan linkelt), akkor valószínű hiba történt.
  3. Bináris formátum ellenőrzése a readelf -a sc_serv parancs futtatásával.

Ha a fájl sérült, hibaüzeneteket kapsz, például:

readelf: Error: Unable to read in 0x500 bytes of section headers
readelf: Error: Section headers are not available!
Aborted

Ha bármelyik parancs hibát jelez, töltsd le újra a DNAS szervert, és hasonlítsd össze az archív fájl méretét a kicsomagolt verzióval, hogy meggyőződj róla, a letöltés sikeres volt.

Ha a hiba továbbra is fennáll ellenőrizd, hogy a telepített fájl verziója megfelel-e a gép architektúrájának. Ha szükséges, telepíts kompatibilitási réteget (pl. Linux-binaris támogatás BSD rendszeren).


3.4 Futtatás beállítási módban (Run in Setup Mode)


A DNAS szerver egyszerűbb konfigurálása érdekében rendelkezésre áll egy "setup mód", amely megkönnyíti a leggyakoribb beállítások elvégzését.

Windows alatt futtasd a setup.bat fájlt, Linux/macOS alatt futtasd a ./setup.sh fájlt. A fájlokat abban a könyvtárban találod, ahol a sc_serv[.exe] is található.

A beállítási mód használatához szükséges, hogy a setup nevű mappa ugyanabban a könyvtárban legyen, mint a sc_serv[.exe]. Ha ez hiányzik, a program hibaüzenetet ad és nem indul el.

Setup Mode Running Setup Mode Error Loading

3.5 További jelek (Additional Signals)


Linux / BSD / Raspbian / macOS rendszerek alatt a DNAS szerver támogat bizonyos rendszerjelek (signals) használatát, amelyekkel futás közben vezérelhető a démonpéldány működése.

Az alábbi jeleket lehet használni a kill paranccsal a démon futtatott PID azonosítójával kombinálva:

  • SIGKILL, SIGTERM, SIGINT, SIGQUIT: A DNAS szerver azonnali leállítása
  • SIGHUP: Naplófájlok forgatása (log, w3clog, streamw3clog)
  • SIGWINCH: A reserved, banned és blocked user agent listák újratöltése
  • SIGUSR1: Szerver konfigurációs fájl újratöltése
  • SIGUSR2: Szerver konfigurációs fájl kényszerített újratöltése

A SIGHUP eredménye, hogy az aktuális naplófájl tartalma a <logfile>_1 fájlba kerül áthelyezésre, pl. sc_serv_1.log, a <logfile>_1 fájl a <logfile>_2 fájlba kerül áthelyezésre, pl. sc_serv_2.log és így tovább az összes olyan naplófájl esetében, amely megegyezik az aktuális naplófájl nevével. Ez akkor hasznos, ha úgy van időzítve, hogy napra vonatkozó naplófájlokat hozzon létre. Amikor eléri a <logfile>_5 fájlt, az aktuális naplófájl egy GZIP kódolású archívumba kerül, amelynek neve <logfile>_log_<dátum>_<idő>_w3c.gz formátumú, ahol a dátum és az idő az archívum létrehozásának időpontja.

Ezeket a jeleket a DNAS szerver Windows verziója nem támogatja, amely csak az operációs rendszer által biztosított Ctrl+C, Ctrl+Break, illetve a konzol bezárása parancsokra reagál.

4. Konfigurációs fájl (Configuration File)


Ebben a részben megtalálható a DNAS szerver (SHOUTcast) által támogatott összes konfigurációs beállítás, beleértve a naplózással, hálózattal és a streamelés során használt média vezérlésével kapcsolatos opciókat is.

A konfigurációs fájlok egyszerű szövegfájlok,
és bármilyen szövegszerkesztővel szerkeszthetők.

Azok a konfigurációs bejegyzések, amelyeket <MULTI> jelölésűként említenek, lehetővé teszik több kapcsolat vagy több forrás egyidejű kezelését a szerveren. Ezeket úgy kell megadni, hogy az opció nevének végére _# kerül, ahol # egy sorszám, amely eggyel kezdődik. Ha csak egy példányt használsz, akkor nem szükséges a _1 rész, mivel alapértelmezésként azt feltételezi.

A <MULTI> rendszer nem hierarchikus, ezért minden
példányhoz meg kell adni az összes szükséges beállítást.

Például ha két, egymástól eltérő streamhez szeretnél adni hallgatói korlátot:

maxuser=128
streammaxuser_1=32
streammaxuser_2=32

A fenti konfiguráció helyes, viszont a következő már hibás, mivel a második stream a maxuser értékét örökli:

maxuser=128 (ez fog működni)
streammaxuser=32 (nem fog működni)

Ha több adatfolyamot kezelsz egyszerre, minden esetben meg kell
különböztetni a streameket egymástól egy azonosítóval (index).
Ha ezt nem teszed meg a konfiguráció a globális beállítást örökli.

Ha megjegyzést vagy letiltott beállítást szeretnél a sort pontosvesszővel (;) kell kezdeni. Ez minden konfigurációs fájlban így működik. A konfigurációs opciók nem érzékenyek a kis- és nagybetűkre, tehát a maxuser és a MaXuSeR ugyanazt jelenti.

Lehetőség van az egymástól eltérő streameket külön fájlban tárolni, melyeket csak hozzá kell adni az sc_serv.conf fájlhoz:

include=user_1.conf
include=user_2.conf

Több stream hozzáadása esetén elég csak a mappát hozzáadni, illetve a fájlkiterjesztéseket az alábbi módon:

;Fájlok beolvasása
include=players/*.conf

A fenti példa első sora egy megjegyzés, ami megmondja mi fog következni a következő sorokban, míg a második sor egy relatív útvonal (ami az sc_serv.conf fájl mappájában van) alapján keresi meg a .conf fájlkiterjesztéseket a players mappában. Amennyiben a streamek konfigurációs fájljait tartalmazó mappa máshol van, ajánlott a teljes útvonalat megadni.

A konfigurációs fájlban található, ismeretlen vagy megjegyzésként fel nem dolgozott elemekről a következő módon jelentés készül:

<dátum és idő> WARN [CONFIG] Érvénytelen bejegyzés a(z) XX. sorban a <fájl> fájlban → `<opció>`

<dátum és idő> – az esemény időpontja
XX – a hibás sor száma
<opció> – az érvénytelen beállítás neve

Egy megfelelően beállított DNAS szerver nem ad ki figyelmeztetést a konfigurációval kapcsolatban. A figyelmeztetések többnyire elírásokból vagy elavult opciók használatából származnak, amelyeket a hibaüzenet alapján lehet javítani.


4.1 Tiltások (Banning)


banfile: A tiltott IP-címeket tartalmazó fájl. [Alapértelmezett: sc_serv.ban]
savebanlistonexit: A banfile módosításainak mentése kilépéskor. [Alapértelmezett: 1]

Ha egy alkönyvtárba szeretnél menteni, akkor biztosítanod kell, hogy a mappa létezik, mert a DNAS nem hozza létre automatikusan.


4.2 Hallgatói viselkedés (Listener Behaviour)


maxuser: A szerverre csatlakozható maximális hallgatók száma. [Alapértelmezett: 512]

Ez együtt használható a streammaxuser beállítással (lásd 4.12),
ha streamenként szeretnéd korlátozni a hallgatók számát.

listenertime: A hallgatók által eltölthető maximális idő percekben. [Alapértelmezett: 0]

Ha 0, akkor nincs időkorlát.

autodumpusers: Engedélyezi a hallgatók automatikus bontását, ha a forrás megszakad. [Alapértelmezett: 0]
srcip: A szerver oldali IP-cím, amelyhez a forrás csatlakozhat. [Alapértelmezett: <nincs megadva>]
destip: A szerver oldali IP-cím, amelyhez a hallgatók csatlakoznak. [Alapértelmezett: <nincs megadva>]

Megjegyzések:

  • Ha "any" vagy üres érték van megadva, a DNAS minden elérhető IP-címet figyel.
  • A destip értéke megjelenik az adminisztrációs oldalon a lejátszási lista generálásánál, így érvényes URL-t tud generálni. Ha nincs megadva, a DNAS megpróbálja automatikusan kitalálni.
  • A címnek érvényes formátumban kell lennie (pl. http:// kezdetű URL vagy feloldható IP).
  • Ha a megadott cím nem oldható fel vagy már használatban van (pl. másik példány fut), a szerver nem indul el.

publicip: A nyilvánosan listázott streamhez használandó IP-cím. [Alapértelmezett: <nincs megadva>]

Megjegyzések:

  • Ugyanúgy működik, mint a destip, de csak akkor használatos, ha a stream nyilvánosra van állítva.
  • Előnyben részesül a destip értékével szemben, ha meg van adva
  • Hasznos például akkor, ha destip csak helyi (localhost), de a nyilvános listázáshoz szükség van érvényes DNS vagy IP-cím megadására.
  • Ha publicip van megadva, de destip nincs, akkor a nyilvános könyvtár listázáshoz ez lesz használva, de a szerver nem ezen fog hallgatni.

titleformat: Az icy-name (állomás neve) helyett megjelenítendő egyedi szöveg. [Alapértelmezett: <nincs megadva>]
urlformat: A icy-url helyett megjelenítendő egyedi URL. [Alapértelmezett: <nincs megadva>]


4.3 Hibakeresés (Debugging)


A hibakeresési beállítások mostantól módosíthatók a szerver adminisztrációs
oldalán keresztül arra az esetre, ha nincs hozzáférésed a konfigurációs fájlhoz.

Alapértelmezetten a lentebb felsorolt opciókhoz nem tartozik hibakeresési naplózás:

yp2debug: YP2 kapcsolat hibakeresési naplózása
shoutcastsourcedebug: SHOUTcast forráskapcsolatok hibakeresési naplózása
uvox2sourcedebug: SHOUTcast 2 forráskapcsolatok hibakeresési naplózása
shoutcast1clientdebug: SHOUTcast 1.x hallgatói kapcsolatok hibakeresési naplózása
shoutcast2clientdebug: SHOUTcast 2 hallgatói kapcsolatok hibakeresési naplózása
relayshoutcastdebug: SHOUTcast átjátszások hibakeresési naplózása
relayuvoxdebug: SHOUTcast 2 átjátszások hibakeresési naplózása
relaydebug: Általános átjátszási kód hibakeresési naplózása
streamdatadebug: Általános streamelési kód hibakeresési naplózása
httpstyledebug: HTTP típusú kérések hibakeresési naplózása
statsdebug: Statisztikák hibakeresési naplózása
microserverdebug: Általános szervertevékenység hibakeresési naplózása
threadrunnerdebug: Szálkezelő hibakeresési naplózása
flashpolicyserverdebug: Flash policy szerver hibakeresési naplózása<
webclientdebug: Webes klienskapcsolatok hibakeresési naplózása
admetricsdebug: Hirdetési / mérési tevékenységek hibakeresési naplózása


4.4. Flash jogosultsági kiszolgáló (Flash Policy szerver)


Ezek a beállítások lehetővé teszik a Flash Policy Server kérések vezérlését, amely javítja a kompatibilitást Flash lejátszókkal.

flashpolicyfile: A fájl neve, amely tartalmazza a Flash crossdomain szabályzatokat, ha az alapértelmezett nem megfelelő. [Alapértelmezett: crossdomain.xml]

Megjegyzések:

Az alapértelmezett viselkedés az, hogy olyan választ ad vissza, amely engedélyezi a szerverhez való hozzáférést bármely domainről a konfigurált portokhoz (ez attól függ, hogyan van beállítva a portbase, portlegacy és alternateports):

<?xml version="1.0"?>
  <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
    <cross-domain-policy>
      <allow-access-from domain="*" to-ports="portbase,portbase+1"/>
      <!-- or -->
      <allow-access-from domain="*" to-ports="portbase,portlegacy"/>
      <!-- or -->
      <allow-access-from domain="*" to-ports="portbase"/>
    </cross-domain-policy>

flashpolicyserverport: Engedélyezd, hogy a Flash policy szerver a megadott porton visszaadja a flashpolicyfile fájlt. [Alapértelmezett: 0]

A Flash policy szerver kérései általában először a 843-as porton próbálkoznak,
mielőtt a portbase által megadott szerverportot használnák.
Ha ez nem sikerül, akkor közvetlenül a /crossdomain.xml elérésével
próbálják meg meghatározni az engedélyezett hozzáférést.


4.5 Bevezető- és biztonsági fájlok (Introduction and Backup Files)


Fontos megjegyzések:

A bevezető (intro) és biztonsági (backup) fájloknak ugyanabban a formátumban (MP3 / AAC), bitrátával és mintavételezési rátával kell rendelkezniük, mint az élő stream. Ennek elmulasztása hibás lejátszást vagy teljes lejátszás-kiesést okozhat. A DNAS megpróbálja kiszűrni az eltérő fájlokat.

Az ID3v1.x, ID3v2.x, Lyrics3 és Apev2 tag-ek el lesznek távolítva a fájlokból, a kompatibilitás javítása érdekében.

introfile: Fájl, amely lejátszásra kerül, amikor egy hallgató csatlakozik, miközben már van csatlakoztatott forrás. [Alapértelmezett: <nincs megadva>]
backupfile: Fájl, amely lejátszásra kerül, ha a forrás megszakad, de a hallgató továbbra is csatlakozva van, vagy nincs elérhető forrás [Alapértelmezett: <nincs megadva>]

Ha érvényes backupfile van megadva, akkor a stream folyamatos maradhat, még ha a forrás megszakad is.

Ha új forrás csatlakozik, miközben a backupfile szól,
a hallgatót automatikusan átirányítja az új streamre.

backuptitle: Cím, amit akkor mutat, ha nincs forrás, de van backup fájl. [Alapértelmezett: <nincs megadva>]

Ha nincs megadva, a backup fájl neve lesz használva címként.

backuploop: Hányszor játssza le a backup fájlt, ha nincs forrás. [Alapértelmezett: 0 = végtelen ismétlés]
maxspecialfilesize: Az intro- és backup fájlok maximális mérete bájtban. [Alapértelmezett: 30 000 000 bájt]


4.6. Naplózás (Logging)


log: A szerver kimenetének naplózása engedélyezve. [Alapértelmezett: 1]
screenlog: Kimenet naplózása a konzolra. [Alapértelmezett: 1]

Ha log=0, vagy a szerver szolgáltatásként fut,
ez a beállítás figyelmen kívül lesz hagyva.

A naplók színkódolva jelennek meg:
hibák piros, figyelmeztetések sárga/narancs,
hibakeresés zöld, frissítések kék színnel.

logfile: Másik fájl megadása a naplózáshoz. [Alapértelmezett: %temp%\sc_serv.log vagy /tmp/sc_serv.log]

Ha a naplófájl nem hozható létre (ami az alapértelmezett fájl létrehozását kísérli meg,
ha a megadott fájl nem hozható létre), akkor a %temp%\sc_serv_<pid>.log vagy a
/tmp/sc_serv_<pid>.log fájl létrehozását kísérli
meg (ahol a <pid> a futó DNAS-példány folyamatazonosítója).

Ez főként a nem Windows-verziókra vonatkozik, ahol az engedélyütközések
megakadályozhatják a DNAS indítását. Ez azonban hatással lehet a Windows
szolgáltatásokra, ha nincs konfigurálva egy adott naplófájl minden példányhoz.

logrotates: Hány régi naplófájl példány legyen megtartva forgatás után. [Alapértelmezett: 5]
logarchive: Forgatott naplók archiválása GZIP fájlba. [Alapértelmezett: 0]
logclients: Naplózza a hallgatói kapcsolatok eseményeit. [Alapértelmezett: 1]

Ha mappát használsz a naplók mentéséhez, akkor győződj meg arról, hogy a mappa már létezik,
mivel a DNAS-kiszolgáló nem fogja létrehozni a mappát.

rotateinterval: Napló forgatási időköz másodpercben. [Alapértelmezett: 86400 másodperc = 24 óra]

Ha teljesen le szeretnéd tiltani az automatikus naplórotációt, akkor állítsd ezt az értéket 0-ra.
Ez nem akadályozza meg a manuális naplórotációt az adminisztrátori beállításokon keresztül.


4.7. Vegyes (Miscellaneous)


configrewrite: A konfigurációs fájl újraírása a szerver leállításakor. [Alapértelmezett: 0]

A következő értékeket fogadja el:

0 → nem írja újra
1 → csak az eltérő értékeket menti
2 → teljes mentés, még akkor is, ha az érték megegyezik az alapértelmezett értékkel (ez az 1-es értékre állított viselkedésre vonatkozik)

cpucount: Manuálisan megadható CPU-k száma, ha nem nulla. [Alapértelmezett: 0]
unique: A $ karakter helyettesítése adott szöveggel fájlnevek feldolgozásakor. Ha meg van adva, a '$' minden előfordulása a beállított értékre lesz állítva. Ez a következő műveletek feldolgozása során lesz használva:

logfile, introfile, streamintrofile, backupfile, streambackupfile, banfile, streambanfile, ripfile, streamripfile, agentfile, streamagentfile, include, w3clog, streamw3clog, portbase, artworkfile, streamartworkfile

Például ha unique=test és logfile=/usr/local/shoutcast/$.log, akkor a végeredmény: /usr/local/shoutcast/test.log

include: Kiegészítő konfigurációs fájl megadása. [Alapértelmezett: <nincs megadva>]

Megjegyzések:

Többször is meghívhatod ezt a függvényt, így létrehozhatsz egy alapvető konfigurációs fájlt, amelyhez az egyes konfig fájlokban "specifikus" streamkonfigurációk vannak beállítva, bár ügyelned kell arra, hogy ne tartalmazzon hivatkozást ugyanarra a fájlra önmagában.

Megadhatsz egy elérési utat is helyettesítő karakterrel, amelyet a DNAS szerver használ több konfigurációs fájl kereséséhez, pl. include=streams/*.conf. Ez aztán használható a többszörös streamkonfigurációkkal (lásd 4.12. szakasz) és az admin.cgi?mode=reload adminisztrációs paranccsal (lásd 5.1.2. szakasz) együtt streamkonfigurációk hozzáadásához, eltávolításához vagy frissítéséhez anélkül, hogy a szervert be kellene zárni az alkalmazásukhoz.

admincssfile: CSS fájl megadása az admin oldalakhoz. [Alapértelmezett: v2]

A következő paramétereket fogadja el:

  • admincssfile=v1 - régi SHOUTcast 1.x stílus
  • admincssfile=v2 - újabb SHOUTcast 2 stílus (alapértelmezett)
  • admincssfile=saját CSS fájl (pl.: my_index.css)

Egyéni CSS fájl használata esetén, ha az első betöltési kísérletkor nem létezik, a szerver
visszaáll az alapértelmezett CSS stílusra. A stílus a betöltés után gyorsítótárba kerül, így
a változtatásokhoz a gyorsítótár ürítése szükséges az admin.cgi?mode=clearchache
paranccsal (lásd az 5.1.2. szakaszt).

faviconfile: Egyedi a favicon.ico (fejléc ikon) fájl az admin oldalhoz. [Alapértelmezett: <nincs megadva>]

Ha nem adsz meg egyedi ikont az alapértelmezett ikon egy SHOUTcast témájú beépített ikonfájl lesz.

faviconmimetype: A favicon MIME típusa. [Alapértelmezett: image/x-icon]

Győződj meg róla, hogy ez a használt kép típusának megfelelő.

robotstxtfile: A robots.txt fájl megadása keresőrobotok számára. [Alapértelmezett: <nincs megadva>]

Ha nincs megadva, akkor ezt adja vissza:

  • User-agent: *
  • Disallow: /

metainterval: Metaadatok küldésének gyakorisága bájtban. [Alapértelmezett: 16384]

Csak az 1.x alapú kliensek használják, melyek
támogatják az adatfolyamba ágyazott metaadatokat.

uvoxcipherkey: A forrás kapcsolat kezdeti titkosítási kulcsa. [Alapértelmezett: foobar]

Csak a SHOUTcast 2.x funkciója.

Csak akkor módosítsd, ha valóban szükséges, mivel nem minden SHOUTcast 2.x kliens teszi lehetővé az alapértelmezett érték módosítását. Ha a DSP Plugint használosz (például Winamp esetében), akkor a bővítmény 5.0 szakaszban találsz részleteket arról, hogyan módosíthatod egy másik érték használatára.

pidfile: A szerver PID fájl neve. [Alapértelmezett: sc_serv_<portbase>.pid]

Az alapértelmezés szerint az sc_serv_<portbase>.pid
fájl ugyanabban a mappában jön létre, ahonnan a DNAS fut.

Ennek felülbírálásához adja meg a teljes fájlnevet (ha csak a fájl nevét szeretné módosítani), vagy a teljes fájlelérési utat (a névvel együtt) a mentési hely módosításához. A funkció letiltásához adjon meg egy üres pidfile bejegyzést a konfigurációs fájlban, pl. pidfile=


4.8. Hálózatkezelés (Networking)


adminpassword: Ez az adminisztrátor jelszavát határozza meg, amely szükséges a távoli szerverfunkciók eléréséhez. [Alapértelmezett: <nincs megadva>]

Nem egyezhet meg a password mezőben megadott értékkel. Csak a konfigurációs fájl
közvetlen szerkesztésével módosítható, és a módosítás után a szervert újra kell indítani.

password: Ez a jelszó szükséges a műsorszórók (források) számára a szerverhez való csatlakozáshoz. [Alapértelmezett: <nincs megadva>]
portbase: Ez a port az alapértelmezett kapcsolódási pont a hallgatók, források és webes kérések számára a szerverhez. [Alapértelmezett: 8000]

A SHOUTcast 1-es források csak a portbase + 1 porton képesek csatlakozni.
A forrás konfigurációjában viszont a portbase értékét kell megadni (pl. 8000).

publicport: Ez a port lesz jelentve a YP (Yellow Pages) szerver felé, valamint ez szerepel majd a DNAS szerver által generált lejátszási listákban — különösen akkor, ha port-továbbítás van használatban (pl. NAT mögött). [Alapértelmezett: <nincs megadva>]

Ha nincs megadva, akkor az alapértelmezett portbase
kerül használatra (régi DNAS viselkedés).

portlegacy: Ez a port a régi (1.x) forrásokhoz használható, ha a portbase + 1 viselkedést nem kívánjuk alkalmazni vagy le szeretnénk tiltani. [Alapértelmezett: <nincs megadva>]

Csak indokolt esetben használd, mert nem megfelelő
használat esetén működési problémákat okozhat.

Ha ez az opció nincs megadva, akkor marad az alapértelmezett portbase + 1 viselkedés. Ha például portlegacy=8001, akkor a forrásoldali konfigurációban 8000 portot kell megadni (azaz portlegacy - 1).

Ha portlegacy értéke 0, akkor teljesen letiltja az 1.x típusú források csatlakozását, és csak 2.x források tudnak kapcsolódni a portbase porton.

alternateports: További portokat határoz meg, amelyeken keresztül a hallgatók csatlakozhatnak a szerverhez. [Alapértelmezett: <nincs megadva>]

Több port is megadható, vesszővel elválasztva, pl.: alternateports=80,8080. Ezeken a portokon csak a hangstream érhető el, admin felület vagy /index.html nem.

Hasznos lehet tűzfal vagy NAT mögötti hallgatók elérése érdekében.

Ezeket a portokat a DNAS nem használja alapértelmezettként a lejátszási listákban, de te használhatod más szolgáltatásokban vagy weboldalakon.

autodumptime: Meghatározza, hogy egy inaktív kapcsolat hány másodperc után legyen bontva a szerver által. [Alapértelmezett: 30]

0 érték megadásával nincs időkorlát, azaz a kapcsolat nem lesz megszakítva.
Túl alacsony érték esetén előfordulhat, hogy a forrás nem tud megfelelően
csatlakozni, vagy a hallgatók kapcsolata megszakad.

maxheaderlinesize: HTTP fejlécsor maximális hossza bájtban. [Alapértelmezett: 4096]
maxheaderlinecount: HTTP fejlécsorok maximális száma egy kommunikációs ciklus során. [Alapértelmezett: 100]
namelookups: Beállítja, hogy a szerver végezzen-e visszafele DNS-lekérdezéseket a bejövő IP-címekre. [Alapértelmezett: 0]

Ennek bekapcsolása nem garantálja, hogy a hallgatókhoz
tartozó hosztnév megjelenik, gyakran csak az IP-cím látható.

<MULTI> (Több stream konfigurációja):

Erre a részre akkor van szükség, amikor több stream (pl. streampath vagy sid) van konfigurálva.

streamportlegacy: Stream-specifikus portot ad meg, amelyen a régi (1.x) forrás csatlakozik, ha az alap portbase + 1 viselkedést felül kell bírálni. [Alapértelmezett: <nincs megadva>]

Csak akkor használd, ha valóban szükség van rá, mert hibákat okozhat.

Ha a streamportlegacy=8001, akkor a régi forrásoldali beállításnál 8000 portot kell megadni.

Fontos: ez egy kísérleti funkció. Bár működik, a legtöbb
1.x forrás nem tud majd címet (pl. dalcímet) frissíteni, mert
azok továbbra is a portbase portot használják erre.

Ha mégis használod ezt az opciót, a címinformációkat kézzel
kell frissíteni az updinfo metódussal (lásd 5.1.2 fejezet),
vagy frissíteni kell a forrást egy 2.x kompatibilis verzióra.


4.9. Hálózati pufferek (Network Buffers)


buffertype: Meghatározza, hogy a puffer mérete fix legyen [0] vagy adaptív [1]. [Alapértelmezett: 1 (adaptív)]

Ha fix, akkor a puffer méretét bájtban adod
meg ha adaptív, akkor másodpercben.

adaptivebuffersize: Ha a puffer adaptív, akkor itt adható meg, hány másodperc hosszúságú puffer legyen. [Alapértelmezett: 5]
fixedbuffersize: Ha a puffer típusa fix, itt állítható be a puffer mérete bájtban. [Alapértelmezett: 1048576 (1 MB)]
bufferhardlimit: A puffer maximális mérete bájtban, amelyet sosem léphet túl. [Alapértelmezett: 16777216 (16 MB)]


4.10. Relézés (Relaying)


A relay egy olyan folyamat, amikor egy másik szerver (vagy kliens) csatlakozik a streamhez nem hallgatóként, hanem továbbosztóként. Ilyenkor a relay-szerver letölti a streamet, és újra kiszolgálja azt a saját portján vagy URL-jén keresztül.

Ez például akkor hasznos, ha:

  1. A fő szerver túlterhelődne sok hallgatótól, de a relay szerverek megosztják a terhelést.
  2. Különböző földrajzi helyeken akarod tükrözni a streamet, így csökkentve a késleltetést vagy sávszélesség-kihasználást.
  3. Egy másik weboldalon vagy szolgáltatásban akarod újra elérhetővé tenni ugyanazt az élő streamet.

allowrelay: Engedélyezi, hogy relé (relay) kapcsolódjon a szerverhez. [Alapértelmezett: 1]

Ez a beállítás engedélyezi a relézést (relay), vagyis más szerverek,
kliensek vagy szolgáltatások számára lehetővé teszi,
hogy továbbadják (tükrözzék, relay-eljék) az adott streamet.

Ha az allowrelay: 0, akkor megtiltod, hogy más szerverek
vagy kliensek relézzék a streamet. Ez biztonsági vagy
jogosultsági megfontolásból lehet hasznos. Például ha nem
szeretnéd, hogy mások engedély nélkül újraoszthassák a streamet.

allowpublicrelay: Engedélyezi, hogy a relék megjelenjenek a YP könyvtárban (public directory). [Alapértelmezett: 1]

Ez a beállítás engedélyezi, hogy a relék megjelenjenek a SHOUTcast
könyvtárban, ezáltal nyilvánossá téve azokat más hallgatók számára.

relayreconnecttime: Meghatározza, hogy hány másodpercet várjon, mielőtt újracsatlakozna a relé hiba után. [Alapértelmezett: 5]

0 esetén nincs újracsatlakozási próbálkozás.

relayconnectretries: Meghatározza, hányszor próbáljon újracsatlakozni a relé, ha az első próbálkozás sikertelen. [Alapértelmezett: 0]

A 0 érték azt jelenti, hogy nincs korlátozás a
reléforráshoz való újracsatlakozási kísérletek számára.

Ha az adatfolyamhoz minimális vagy maximális bitrátát (minbitrate / maxbitrate vagy streamminbitrate / streammaxbitrate) állítottál be, és a relé nem tud ezeknek megfelelni, csak egy próbálkozást tesz, utána manuálisan kell újracsatlakoztatni.

maxhttpredirects: Az engedélyezett HTTP átirányítások maximális száma relézés során. [Alapértelmezett: 5]

<Régi (legacy) beállítások>

relayport: A relé forrásának portja. [Alapértelmezett: 80]
relayserver: A relé forrásának szervercíme. [Alapértelmezett: <nincs megadva>]

Ezeket már nem javasolt használni. Helyettük a streamrelayurl és társai ajánlottak
(lásd 4.12). Ezek csak a régi konfigurációs fájlok kompatibilitása miatt működnek.


4.11. Foglalt IP-címek listája (Reserved List)


Lehetséges hostnevek és nyers IP-címek használata is, de ehhez
a namelookups=1 engedélyezése szükséges (lásd a 4.8. szakaszt).

riponly: Csak azok a hallgatók csatlakozhatnak, akik benne vannak a foglalt listában. [Alapértelmezett: 0]

A 127.0.0.1 és 127.0.1.1 mindig engedélyezett a helyi
ellenőrzés érdekében, még akkor is, ha nincs a listában.

ripfile: A foglalt IP- és hosztnevek listáját tartalmazó fájl neve. [Alapértelmezett: sc_serv.rip]
saveriplistonexit: Ha be van kapcsolva, akkor a változások mentésre kerülnek kilépéskor a ripfile-ba. [Alapértelmezett: 1]

A mappának, ahová menteni szeretnéd, már
léteznie kell, különben a szerver nem hozza létre.


4.12. Stream konfiguráció (Stream Configuration)


Fontos megjegyzés: Ha nem adsz meg azonosítót (_#) a fenti opciók végén, akkor azt _1-ként kezeli a rendszer (gyakorlatilag úgy viselkedik, mint egy 1.x DNAS). Ezenkívül a _0 nem támogatott azonosító, automatikusan _1 lesz belőle.

requirestreamconfigs: Csak akkor engedélyezi a források csatlakozását, ha a konfigurációs fájlban be van állítva egy stream konfiguráció. [Alapértelmezett: 0]

Ha engedélyezve van, gondoskodnod kell arról, hogy minden forrás
konfigurációs adatai megegyezzenek a konfigurációs fájlban található
adatokkal, különösen a streamid és a password értékekre vonatkozóan.

minbitrate: A minimálisan megengedett bitráta (bit/másodpercben), amit a szerver elfogad egy forráskapcsolatnál. [Alapértelmezett: <nincs megadva>]

Ha ez nincs megadva, akkor a forrás csatlakozásakor nem történik bitráta ellenőrzés.
Ezt a beállítást a streamminbitrate értékkel együtt lehet használni, hogy a bitráta szabályozása
ne csak globálisan, hanem külön-külön minden egyes streamre is érvényes legyen.

maxbitrate: A maximálisan megengedett bitráta (bit/másodpercben), amit a szerver elfogad egy forráskapcsolatnál. [Alapértelmezett: <nincs megadva>]

Ha ez nincs megadva, akkor a forrás csatlakozásakor nem történik bitráta ellenőrzés.
Ezt a beállítást a streammaxbitrate értékkel együtt lehet használni, hogy a bitráta szabályozása
ne csak globálisan, hanem külön-külön minden egyes streamre is érvényes legyen.

Megjegyzések:

Ha meg van adva a minbitrate és maxbitrate érték (pl.: minbitrate=96000, maxbitrate=192000), akkor a broadcaster (lejátszó) bitrate beállításainak a két érték között kell lennie, különben nem fog létrejönni a kapcsolat és a broadcaster csatlakozási hibaüzenetet fog generálni.

Amennyiben csak az egyik érték van megadva, a beállításokat annak tükrében kell finomítani. Például ha a minbitrate=96000, akkor attól nagyobb értéket kell beállítani, ha a maxbitrate=192000, akkor attól kisebb értéket kell beállítani, hogy a kapcsolat létrejöjjön.

A bitrate beállításaira különös figyelmet kell szentelni, mert nagyban befolyásolja a kapcsolat létrejöttét.

Ha a bitrate beállításait streamenként szeretnéd szabályozni, akkor használd a streamminbitrate és streammaxbitrate beállításokat akár együtt vagy külön-külön is a globálisan létrehozott minbitrate és maxbitrate beállításokhoz hasonlóan. Ezek beállítások felülírják a minbitrate és maxbitrate beállításokat.

Ha nem szeretnéd szabályozni a bitrate beállításait, akkor egyszerüen csak hagyd ki a konfigurációs fájlból.

<MULTI> (Több stream konfigurációja):

streamid: A stream azonosítója. Csak 1–2147483647 közötti numerikus érték lehet.

Ha több streamkonfigurációt használsz, akkor gondoskodnod kell arról, hogy az _X rész minden streamkonfigurációs csoporthoz helyesen meg legyen adva, pl.:

  • streamid=1
  • streampath=random
  • vagy
  • streamid_1=1
  • streampath_1=random
  • streamid_2=2
  • streampath_2=another

Helytelen streamkonfiguráció a kapcsolat összeomlásához vezethet.

streamauthhash: Az azonosító kulcs a YP2 könyvtárba történő regisztrációhoz.

Ez szükséges a YP2 rendszer használatához, és enélkül nem fogsz
tudni sikeresen csatlakozni a YP2 könyvtárhoz (lásd a 3.0 fejezetet).

Ez az érték használható több általad közvetített streamhez is, vagy lehet
eltérő is (amennyiben érvényes), így akár több különálló rádióállomást
is kiszolgálhatsz ugyanarról a szerverről, ha szeretnéd.

streampath: Ez határozza meg azt az elérési útvonalat, amit a hallgatóknak meg kell adniuk ahhoz, hogy elérjék az adott streamet

Ha az elérési útvonal elején nincs megadva /, akkor a szerver automatikusan hozzáadja azt,
hogy a http://<szervercím>/<streampath> mindig egy érvényes URL legyen a hallgatók számára.

Ha nincs megadva streampath egy streamhez, akkor a http://<szervercím>/ lesz az alapértelmezett
elérési útvonal az első streamre (streamid=1), míg a többi stream esetén az elérési útvonal
a http://<szervercím>/stream/<streamid> Ez a különbségtétel a régi (legacy) rendszerek és külső
eszközök jobb kompatibilitását segíti. Lásd a 6. fejezetet a szerver stream-címzésének részleteiről.

streamrelayurl: Ha relé szolgáltatást használsz, itt kell megadni a teljes URL-t a forráshoz.

Ha ezt használod, ügyelj arra, hogy a teljes URL-t add meg, mégpedig azt, amelyhez a
hallgatók csatlakoznának a stream hallgatásához, mivel erről fog történni a továbbítás.

streambackupurl: Alternatív stream URL arra az esetre, ha a fő forrás elérhetetlenné válik (legyen az közvetlen kapcsolat vagy egy relé része) .

Győződj meg róla, hogy ha ezt használod, a megadott URL elérhető, és
feltételezhetően megbízható biztonsági mentési forrásként szolgál a streamhez.

A tartalék forrás nem lehet ugyanaz, mint az eredeti relay forrás, de ha mégis, a tartalékot nem fogja használni. Például a szerver:8000/stream/1/ nem lehet tartalékforrás, ha az eredeti stream is szerver:8000/stream/1/.

Ez nem akadályozza meg, hogy ugyanazon a szerveren egy másik stream legyen tartalékként használva, például szerver:8000/stream/2/ mint tartalék az eredeti szerver:8000/stream/1/ mellett.

streammaxuser: Az adott streamhez azonos időben csatlakozható hallgatók maximális száma. [Alapértelmezett: 0]

A streammaxuser értéke nem lehet nagyobb a maxuser értékénél. Ha nullára
van állítva, nincs megadva, vagy nagyobb, mint a maxuser, akkor a maxuser-hez
beállított érték (lásd 4.2. szakasz) lesz használva az összes adatfolyamhoz.

Ha ezt nulla és maxuser közötti értékre módosítja, akkor a megadott streamre érvényesül a hallgatói csatlakozási korlát, pl.:

  • streammaxuser_1 = 8
  • maxuser = 32

Ez összesen 32 hallgatót engedélyez a szerver felé, de az első stream hallgatóinak maximális számát 8-ban határozza meg.

A következő konfigurációval:

  • streammaxuser_1 = 64
  • maxuser = 32

Ez összesen 32 hallgatót tesz lehetővé a szerveren, de ha a streamenkénti korlát meghaladja a maximumot, akkor az első streamcsoporthoz tartozó hallgatót maximális száma 32 lesz. Ez azonban az esetleges más streamkonfigurációktól és azok korlátaitól is függ, hogy 32 hallgatót tud-e csatlakozni a streamhez.

Végül, hacsak nincs megadva érvényes streamkonfiguráció, akkor ez az érték csak az első talált streamkonfigurációra lesz alkalmazva, azaz meg kell adni egy streamid_XXX értéket a streammaxuser_XXX számára (ahol XXX a streamkonfigurációs csoport streamazonosítója).

streamadminpassword: A stream adminisztrációs jelszava, mellyel a távoli szerver funkcióit lehet elérni az stream beállításaihoz. Ha nincs megadva, akkor az adminpassword kerül használatra.

streampassword: Ez a jelszó szükséges a műsorszórók (pl. DJ-k) számára, hogy csatlakozhassanak a szerverhez az adott stream esetén. Ha nem adod meg, akkor az alapértelmezett password lesz használva.

streampublicserver: Ezzel felülírhatod a forrás által küldött nyilvános beállítást, amikor a stream felkerül az YP (nyilvános könyvtár) listába. Ha nincs megadva vagy üres, akkor a publicserver értéke lesz érvényes.

streamallowrelay: Engedélyezi, hogy másik szerver (relay) kapcsolódhasson ehhez a streamhez. Ha nincs megadva, akkor az allowrelay beállítást használja.

streamallowpublicrelay: Engedélyezi, hogy a relay szerverek is megjelenhessenek az YP könyvtárban. Ha nincs megadva, akkor az allowpublicrelay értéke lesz érvényes.

streamriponly: Ha engedélyezve van, akkor csak az előre meghatározott IP-címekről lehet csatlakozni. Ha nincs megadva, akkor a riponly értéke lép érvénybe.

streamautodumptime: Meghatározza, hogy hány másodpercnyi inaktivitás után bontsa a szerver az adott kapcsolatot. A 0 érték azt jelenti, hogy nincs időkorlát. Ha nincs megadva, az autodumpsourcetime értéke lesz használva.

streamautodumpusers: Engedélyezi, hogy a szerver bontsa a hallgatók kapcsolatát, ha a forrás megszakad. Ha nincs megadva, akkor a autodumpusers lesz érvényes.

streamlistenertime: Meghatározza, hány percig hallgathatja egy felhasználó a streamet. A 0 érték korlátlan hallgatási időt jelent. Ha nincs megadva, akkor a listenertime beállítást használja.

streamintrofile: Az a fájl, amit a szerver lejátszik, amikor egy hallgató először csatlakozik. Ha nincs megadva, akkor az introfile lesz érvényes. Részletek a 4.5. pontban.

streambackupfile: Ha a forrás megszakad, ezt a fájlt játssza le a szerver a már csatlakozott hallgatók számára, vagy ha nincs is forrás. Ha nincs megadva, akkor a backupfile lép érvénybe. Lásd a 4.5. pontot.

streambackuptitle: Cím, amit megjelenít a szerver, ha a forrás nem elérhető és a backup fájl aktív. Ha nincs megadva, akkor a backuptitle értéket használja, vagy ennek hiányában a backup fájl nevéből készít egy automatikus címet. Részletek a 4.5. pontban.

streambackuploop: Meghatározza, hányszor játssza le a szerver a backup fájlt, ha nincs csatlakoztatva forrás. Ha nincs megadva, akkor a backuploop érték lép érvénybe. Részletek a 4.5. pontban.

streamagentfile: Ez a fájl tárolja a blokkolt böngészők (user agentek) listáját. Ha nem adod meg, az agentfile érték lesz használva.

streamartworkfile: Fájl, amit a kísérleti "márkajelzés" (artwork) funkcióhoz használ a 1.x típusú streameknél. Ha nincs megadva, akkor az artworkfile lesz használva.

streambanfile: Ez a fájl tartalmazza a letiltott IP-címeket. Ha nincs megadva, akkor a banfile lesz érvényes.

streamripfile: Ez a fájl tartalmazza az előre lefoglalt IP-címeket. Ha nincs megadva, akkor a ripfile értéket használja.

streamw3clog: A webes kapcsolatok naplózására szolgáló fájl. Ha nincs megadva, a w3clog fájl lesz használva.

streamsonghistory: Meghatározza, hány korábban lejátszott számot őrizzen meg a szerver. [Alapértelmezett: 10]

Ha nincs megadva, akkor a songhistory (lásd 4.16. szakasz) lesz
használva az összes ismert streamhez.

Ha nullára van állítva, a megadott streamhez nem kerülnek
mentésre dalelőzmények, és a stream played?sid=# oldala
rejtve lesz a /index.html?sid=# oldal fejlécében.

streamminbitrate: A streamhez engedélyezett legkisebb bitráta (bit/másodpercben), amit a szerver ellenőriz a csatlakozáskor. Ha nincs megadva, akkor a minbitrate lesz érvényes.

streammaxbitrate: A streamhez engedélyezett legnagyobb bitráta (bit/másodpercben), amit a szerver ellenőriz a csatlakozáskor. Ha nincs megadva, akkor a maxbitrate értéket használja.

streamhidestats: Meghatározza, hogy a stream nyilvános oldalai közül melyek legyenek elérhetők.

A következő értékeket fogadja el:

  • streamhidestats=stats → elrejti a /stats?sid=# és /statistics?sid=# oldalakat.
  • streamhidestats=all → elrejti a /index?sid=#, /played?sid=#, /currentsong?sid=#, /nextsong?sid=# és /nextsongs oldalakat is, valamint azokat, amiket a stats opció elrejt.

streamredirecturl: Olyan weboldal címe, ahová átirányítja a felhasználót, ha a statisztikai oldalak rejtve vannak.

streammovedurl: A stream új címének URL-je, amit akkor jelenít meg a hallgatónak, ha a stream már másik szerveren fut, vagy megszűnt. Ezt használva új forrás már nem tud csatlakozni ehhez a streamhez.


4.13. Webkapcsolatok (W3C) naplózása (Web Connection (W3C) Logging)


w3cenable: Bekapcsolja a webkapcsolatok naplózását, amely rögzíti, hogy a hallgató mennyi ideig hallgatott egy adott zeneszámot. [Alapértelmezett: 1]

w3clog: Annak a fájlnak a neve, ahová a webkapcsolatokat naplózza. [Alapértelmezett: sc_w3c.log]

Ha egy mappába szeretnéd menteni ezt a naplófájlt, akkor ügyelj arra, hogy az a mappa már létezzen, mert a DNAS szerver nem hozza létre automatikusan.

Ha minden streamhez külön naplófájlt szeretnél használni, akkor a streamw3clog beállítást kell használnod. Erről bővebben a 4.12-es fejezetben olvashatsz.


4.14. YP szerver működése (YP Server Behaviour)


ypaddr: Ezzel megadhatsz egy másik YP (Yellow Pages) szervert, ha nem a gyári beállítást szeretnéd használni. [Alapértelmezett: yp.shoutcast.com]

ypport: Itt megadhatod a YP szerver portját, ha nem az alapértelmezett 80-as portot akarod használni. [Alapértelmezett: 80]

yppath: Ez határozza meg, hogy a YP2 szolgáltatások milyen útvonalon érhetők el a megadott szerveren. [Alapértelmezett: /yp2]

yptimeout: Megadhatod, hány másodpercig próbálkozzon a szerver a YP elérésével, mielőtt időtúllépést ad. [Alapértelmezett: 30]

A tényleges idő ennél pár másodperccel hosszabb is lehet, attól
függően, hogy mi történik a háttérben, illetve ha hibakezelés történik.

ypmaxretries: Beállíthatod, hogy legfeljebb hányszor próbálja meg a szerver elérni a YP-t, ha az előző kérések sikertelenek voltak. [Alapértelmezett: 10]

Ez azt szabályozza, hányszor próbálkozzon
érvényes HTTP választ kapni a YP szervertől.

ypreportinterval: Megadhatod, legfeljebb hány másodperc telhet el két YP kapcsolódás között. [Alapértelmezett: 300]

ypminreportinterval: Ez a beállítás azt adja meg, hogy legalább mennyi időnek kell eltelnie két YP kapcsolat között. [Alapértelmezett: 10]

publicserver: Ezzel a beállítással felülírhatod a forrás által megadott nyilvánossági beállítást, amikor a szerver a YP könyvtárhoz csatlakozik. [Alapértelmezett: default]

A következő értékeket fogadja el:

  • default - a forrás (pl. AutoDJ vagy encoder) által megadott beállítást használja.
  • always - mindig nyilvánosként szerepeljen a stream.
  • never - soha ne jelenjen meg nyilvánosként, függetlenül attól, mit küld a forrás.

Ha ez a beállítás vagy a stream-specifikus változata aktív, a szerver folyamatosan próbál érvényes választ kapni a YP-től, hogy megjelenhessen a Shoutcast könyvtárban – például akkor is, ha időközben megszakad az internetkapcsolat, vagy a stream éppen hibásnak tűnik a könyvtár tesztje szerint.


4.15. YP szerverhibák (YP Server Errors)


A "yp2" konfigurációs lehetőségek megszüntetése óta itt nincs semmi, amit be kellene állítani. Ez a rész azért maradt meg, hogy segítsen jobban megérteni a SHOUTcast rendszerben előforduló YP (Yellow Pages) hibákat.

Ha egy rádióállomás nyilvános listázásához szükséges adatok közül valamelyik hiányzik vagy hibás, akkor a DNAS szerver hibaüzenetet ad, és megszakítja a próbálkozást, hogy bekerüljön a SHOUTcast könyvtárba. Ilyenkor a szerver egy hibakódot ad vissza, amely segít beazonosítani a problémát.

Ha valami gond adódik a könyvtár frissítése vagy törlése során, a szerver a naplófájlban jeleníti meg a hibát egy alábbi hibakód és üzenet formájában:

Kód Üzenet
400 Általános hiba (belső rendszerhiba, nem részletezett probléma)
457 Nem helyrehozható hiba az állomásinformáció frissítésekor – a DNAS újraindítása szükséges
470 Érvénytelen hitelesítési kulcs
471 Érvénytelen stream típus (például hibás bitráta vagy MIME típus)
472 Hiányzó vagy hibás stream URL
473 A YP szerver nem éri el a szervert
474 A relay (átjátszó) URL nem létezik
475 Érvénytelen szerverazonosító
476 Érvénytelen maximális kliensszám (hiányzik vagy hibás érték)
477 A felhasználási feltételek megsértése – jelentve lettél
478 Nem kompatibilis protokoll
479 A hitelesítést igénylő streamek nem lehetnek nyilvánosak, ezért nem listázhatók itt
480 Nem látni az állomásodat vagy számítógépedet az internetről (URL: <streamurl>). Ellenőrizd a tűzfalat, NAT-ot, megosztást vagy internetszolgáltatód gyorsítótárát
481 A szervert nem lehet ellenőrizni, mert az összes hallgatói hely foglalt – próbáld később
482 Ez a hálózat véglegesen tiltva lett, korábbi szabálysértés miatt
483 Érvénytelen hallgatószám (hiányzik vagy túl magas/hibás érték)
484 Érvénytelen átlagos hallgatási idő (hiányzik vagy hibás)
485 Érvénytelen új kapcsolatok száma (hiányzik vagy hibás)
486 Érvénytelen kapcsolódási érték (hiányzik vagy hibás)
487 A kérés és válasz objektumok null értékűek
488 A kérés XML-je null értékű
489 Nem lett megadva YP parancs
490 Általános hiba XML feldolgozás közben
491 Általános hiba XML kérés olvasásakor
492 Hiba a buffer / HTTP kapcsolat / objektum / utasítás lezárásakor
493 Belső hiba – nem sikerült adatforráshoz hozzáférni
494 Hiba az információ frissítésekor – a DNAS újraindítása szükséges
495 Hiba az állomásazonosító lekérésekor – a DNAS újraindítása szükséges
496 Hiba adattípus átalakításkor
497 Nem következetes stream viselkedés
498 Hibás kérés (érvénytelen kérés érkezett)
499 Hiba információ lekérése közben

4.16. Statisztikák (Statistics)


hidestats: Meghatározza, hogy a nyilvános oldalak közül melyek legyenek elérhetők. [Alapértelmezett: <nincs megadva>]

A következő értékeket fogadja el:

  • hidestats=stats → átirányítja a /stats és /statistics oldalakat.
  • hidestats=all → átirányítja a /index, /played, /currentsong, /nextsong és /nextsongs oldalakat, valamint azokat is, amelyeket a hidestats=stats már tartalmaz.

redirecturl: Megadható egy egyéni oldal, ahová a rendszer átirányítja a látogatót, ha a hidestats vagy az adott streamhez tartozó streamhidestats beállítás engedélyezve van. [Alapértelmezett: <nincs megadva>]

Attól függően, hogy hogyan lettek megadva a hidestats és streamhidestats értékek, ezek egy bizonyos sorrendben kerülnek átirányításra a nyilvános oldalakat elérő hallgatók számára. Az alábbiakban a prioritási sorrend látható a legmagasabbtól (balról) a legalacsonyabbig (jobbra), ahol a streamenkénti beállításoknak mindig a legnagyobb prioritása van.

Ha hidestats=stats vagy streamhidestats=stats van megadva:

streamredirecturl → redirecturl → /index.html (alapértelmezett ismeretlen oldalak esetén)

Ha hidestats=all vagy streamhidestats=all van megadva:

streamredirecturl → streamurl (az aktuális forrásból, ha csatlakoztatva van) → redirecturl → 403 (Hozzáférés megtagadva)

songhistory: Meghatározza, hogy hány előző zeneszám kerüljön megőrzésre. [Alapértelmezett: 20]

Ha 0 - ra van állítva, akkor egyetlen stream esetén sem tárolódik el a lejátszási
előzmény, és a /played.html oldal sem jelenik meg az /index.html oldalak fejlécében.


4.17. Letiltott felhasználói ügynökök (Blocked User Agents)


blockemptyuseragent: Megadható, hogy a szerver engedélyezze-e a kapcsolódást olyan kliensek számára, amelyek nem küldenek felhasználói ügynök (user agent) információt. [Alapértelmezett: 0]

Egyes hardvereszközök (például más szerverek, amelyek továbbítják a streamet) nem
küldenek user agent-et, amikor csatlakoznak. Ha ezt az opciót bekapcsolod (1-re állítod),
győződj meg róla, hogy nem tiltod le vele azokat a hallgatókat, akiket szeretnél engedélyezni.

agentfile: A fájl neve, amelyben a letiltott user agent-ek listája tárolódik. [Alapértelmezett: sc_serv.agent]

saveagentlistonexit: Meghatározza, hogy a program kilépéskor mentse-e a user agent lista módosításait az agentfile-ba. [Alapértelmezett: 1]

Ha mappába szeretnéd menteni ezt a fájlt, akkor a mappának már léteznie
kell, mert a DNAS szerver nem hoz létre új mappát automatikusan.


4.18. Alapértelmezett kép (kísérleti funkció) (Artwork (Experimental))


artworkfile: Az a fájl, amelyet az 1.x alapú streamekhez tartozó, kísérleti "borítókép" funkcióhoz használunk. [Alapértelmezett: <nincs megadva>]

Ez a beállítás lehetővé teszi, hogy régi, 1.x verziójú forrásból származó streamekhez képi tartalom
is társuljon. Ez a kép megjelenhet az 1.x és 2.x verziójú lejátszókban, valamint lekérhető a DNAS
kiszolgálótól a streamart?sid=# híváson keresztül (erről bővebben az 5.1.1-es szakaszban olvashatsz).

A feltölthető kép maximális mérete 523872 bájt (kb. fél megabájt). A fájl formátuma JPEG, PNG, GIF vagy BMP lehet, a megfelelő fájlkiterjesztéssel együtt.

További információ arról, hogyan érhető el ez a képi metaadat az 1.x verziójú hallgatói kliensek számára, megtalálható a SHOUTcast Wiki oldalon.

Fontos megjegyzések:

Ez egy kísérleti funkció. Általában működik, de előfordulhatnak problémák. Például a stream forrását újra kell csatlakoztatni, ha a képet frissíted, és betöltöd az új konfigurációt.

Ez a funkció csak olyan streamekre vonatkozik, amelyek régi, 1.x verziójú forrásklienst használnak (akár közvetlenül, akár átirányítva), és nem használják az 1.x verziójú protokoll saját metaadat-URL támogatását (ami a legtöbb 1.x-es kliensnél alapból elérhető).

Az újabb, 2.x verziójú forrásklienseknél ez a funkció nem kerül alkalmazásra, mert ezek már natívan képesek ilyen képi tartalmakat (márkázási és aktuálisan játszott zenéhez tartozó képek) küldeni – amennyiben a kép mérete nem haladja meg a 523872 bájtot.

Ha az általad használt 2.x forráskliens nem támogatja a márkázási képek használatát, akkor érdemes ezt jelezni a fejlesztőnek, mert ez egy fontos funkció, amely része a 2.x platform lehetőségeinek.

5. Adminisztráció


A DNAS szerver adminisztrációs felületeket biztosít, amelyek lehetővé teszik a szerver távoli elérését és vezérlését. Ezeken keresztül figyelheted és irányíthatod a hallgatók kapcsolatait, valamint elérheted az általános statisztikákat is.

Ez az admin felület mostantól elérhető az /index.html?sid=0 címen található "streamek összesítő oldalon" keresztül, ahol megjelennek az aktív stream(ek) linkjei. Ezen kívül közvetlenül is elérheted az egyes streameket az /index.html?sid=# linken keresztül, ahol a # helyére a stream azonosítóját kell írni (a streamid használatáról a 4.12-es fejezetben olvashatsz többet), p.l. <szervercím>/index.html?sid=1.

Ha nem adsz meg sid paramétert, és csak egy stream van aktívan, akkor automatikusan annak az összesítő oldalára kerülsz. Ha hibás vagy nem létező sid értéket adsz meg, akkor visszakerülsz a fő összesítő oldalra: /index.html?sid=0.

A streamid helyett használhatod a streampath (a 2.x SHOUTcast DNAS verzióknál inkább ez az opció ajánlott) opciót is a streamek eléréséhez. Ha az általad megadott streampath egy létező streamhez tartozik, akkor a megfelelő oldal megnyílik. Ha viszont nem létezik ilyen útvonal, akkor ugyanaz a viselkedés történik, mintha nem adtál volna meg sid-et, vagy az érvénytelen lett volna.

Íme néhány példa ugyanannak az oldalnak az elérésére a kétféle módszerrel:

  • <szervercím>/index.html?sp=/ → ugyanaz, mint <szervercím>/index.html?sid=1
  • <szervercím>/index.html?sp=/stream/2/ → ugyanaz, mint <szervercím>/index.html?sid=2
  • Ha a 3-as számú stream streampath_3=Live néven van beállítva:

  • <szervercím>/index.html?sp=Live → ugyanaz, mint <szervercím>/index.html?sid=3
Example Administration Page Showing the Server Source Connection Page

5.1. Adminisztrációs oldalak (Administration Pages)


Az adminisztrációs funkciók két csoportra oszthatók: nyilvános és privát oldalakra. A privát oldalak eléréséhez minden esetben jelszóra van szükség. A nyilvános oldalak viszont bárki számára elérhetők, kivéve ha ezek le vannak tiltva, vagy átirányításra kerültek – ebben az esetben sem szükséges jelszó, hacsak nincs másképp beállítva.

Ha a nyilvános oldalak letiltása vagy átirányítása megtörtént, akkor még mindig van lehetőség jelszóval hozzáférni ezekhez, ahogy azt a későbbi szakaszok részletesen ismertetik. Emellett bizonyos nyilvános oldalak további információkat is megjelenítenek, ha érvényes jelszót adunk meg.

Bármely nyilvános vagy privát oldal eléréséhez, amely
felhasználónevet igényel, a használatos felhasználónév: admin.


5.1.1. Nyilvános oldalak (Public Pages)


Streamek összesítő oldala:

  • index.html?sid=0 vagy index.html?sp → Megjeleníti az összesítő oldalt, ahol láthatók az éppen aktív stream-ek.
  • currentsong?sid=# vagy currentsong?sp=/# → Visszaadja az aktuálisan szóló zeneszám címét, vagy null értéket, ha nincs elérhető adat.
  • nextsong?sid=# vagy nextsong?sp=/# → Visszaadja a soron következő zeneszám címét (ha ismert), vagy null értéket.

A currentsong és nextsong lekérdezések UTF-8 kódolásban adják vissza a szám címét. Ha nem áll
rendelkezésre adat, akkor gyakorlatilag nem válaszolnak (figyelmen kívül hagyva a http fejlécet).

Streams Summary Page

Következő zeneszám(ok):

  • nextsongs?sid=#
  • nextsongs?sid=#&json=1
  • nextsongs?sid=#&json=1&callback=function
  • vagy streampath (sp) használatával a 2.x DNAS szervereknél

  • nextsongs?sp=/#
  • nextsongs?sp=/#&json=1
  • nextsongs?sp=/#&json=1&callback=function
    Visszaadja a következő zeneszám(ok) címét a kívánt formátumban. Akkor működik, ha 2.x-es forrásból érkezik a stream. További részletek a válasz formátumáról az 5.2-es pontban találhatók.

Egy adott stream részletes adatai:

  • index.html?sid=#
  • vagy streampath (sp) használatával a 2.x DNAS szervereknél

  • index.html?sp=/#
    Megjeleníti a kiválasztott stream aktuális állapotát. A # helyett a stream azonosítóját kell megadni.
Stream Summary Page

Lejátszási előzmények:

  • played.html?sid=#
  • played?sid=#
  • played?sid=#&type=xml
  • played?sid=#&type=json
  • played?sid=#&type=json&callback=function
  • vagy streampath (sp) használatával a 2.x DNAS szervereknél

  • played.html?sp=/#
  • played?sp=/#
  • played?sp=/#&type=xml
  • played?sp=/#&type=json
  • played?sp=/#&type=json&callback=function
    A megadott stream lejátszási előzményei a kiválasztott formátumban. Ha nincs megadva type, akkor HTML formátumban jelenik meg. A válasz formátumáról az 5.2-es pontban találsz részleteket.

A lekérdezéshez, illetve megjelenítéshez az alábbiakban néhány valós példa látható:

https://freestream.hu:8000/index.html?sp
https://freestream.hu:8000/index.html?sid
https://freestream.hu:8000/played?sid=11&type=json

vagy streampath (sp) használatával a 2.x DNAS szervereknél:

https://freestream.hu:8000/played?sp=/ebm_radio&type=xml
https://freestream.hu:8000/currentsong?sid=11&type=xml
https://freestream.hu:8000/currentsong?sp=/ebm_radio&type=json

Az összesítő oldal megjelenítése csak HTML formátumban lehetséges (/index.html?sp vagy /index.html?sid), ezért a type opció megjelenítése nem szükséges, mivel a böngésző figyelmen kívül fogja hagyni.

Csatlakozási linkek (lejátszó fájlok):

  • listen.pls?sid=#
  • listen?sid=#
  • listen.m3u?sid=#
  • listen.asx?sid=#
  • listen.xspf?sid=#
  • listen.qtl?sid=#
  • vagy streampath (sp) használatával a 2.x DNAS szervereknél

  • listen.pls?sp=/#
  • listen?sp=/#
  • listen.m3u?sp=/#
  • listen.asx?sp=/#
  • listen.xspf?sp=/#
  • listen.qtl?sp=/#
    Ezek a linkek különböző lejátszóformátumokat (PLS, M3U, ASX stb.) adnak vissza, melyeket a lejátszóprogramok használhatnak a stream eléréséhez.

A listen típusú oldalak használatához vagy meg kell adni a destip címet
(lásd 4.2 pont), vagy üresen hagyva a szerver megpróbál automatikusan
címet generálni. Ha a stream listázva van a Shoutcast könyvtárban, és van
tartalék szerver (backupserver), akkor ez második bejegyzésként szerepelni fog.

Stream weboldala:

  • home.html?sid=#
  • home?sid=#
  • vagy streampath (sp) használatával a 2.x DNAS szervereknél

  • home.html?sp=/#
  • home?sp=/#
    Megnyitja a streamhez tartozó weboldalt új ablakban vagy fülön (böngészőtől függően). Ha nincs beállítva webcím (streamurl), akkor a felhasználót átirányítja a shoutcast.com főoldalára.

Stream statisztikák:

  • stats?sid=#
  • stats?sid=#&json=1
  • stats?sid=#&json=1&callback=function
  • stats?sid=#&json=1&callback=function&pass=<jelszó>
  • vagy streampath (sp) használatával a 2.x DNAS szervereknél

  • stats?sp=/#
  • stats?sp=/#&json=1
  • stats?sp=/#&json=1&callback=function
  • stats?sp=/#&json=1&callback=function&pass=<jelszó>
    Áttekintést ad a stream állapotáról. Ez ugyanaz, mint az admin felületen elérhető admin.cgi?sid=#&mode=viewxml&page=1 lekérdezés. Ha nincs megadva sid, akkor az első vagy az egyetlen aktív stream adatai térnek vissza.

Ez a modern megfelelője a korábbi 1.x-es DNAS szerverek 7.html
oldalának. A válasz részletes formátumáról az 5.2 pontban olvashatsz.

Régi statisztika formátum (1.x kompatibilis):

  • 7.html?sid=#
  • 7.html?sid=#&pass=<jelszó>
  • vagy streampath (sp) használatával a 2.x DNAS szervereknél

  • 7.html?sp=/#
  • 7.html?sp=/#&pass=<jelszó>
    Csak alapinformációkat ad vissza a streamről, kompatibilis a régi (1.x-es) szerverekhez készült jelentéskészítő eszközökkel. Részletesebb adatokhoz a stats hívást kell használni.

Összesített statisztika:

  • statistics
  • statistics?json=1
  • statistics?json=1&callback=function
  • statistics?json=1&callback=function&pass=<jelszó>
    Áttekintést ad az összes ismert és csatlakoztatott stream állapotáról. Ugyanazt az információt tartalmazza, mint a stats?sid=# vagy stats?sp=/#, de ezen felül összesített adatokat is tartalmaz (pl. a szerverhez csatlakozott kliensek összlétszáma).

A stats, statistics és 7.html típusú lekérdezések támogatják a &pass=<jelszó> paramétert is.
Ez lehetővé teszi a statisztikák elérését akkor is, ha a hidestats opció engedélyezve van – feltéve,
hogy a megadott jelszó jogosultságot ad az admin oldalak vagy forráskapcsolatok elérésére.

Album borító megjelenítése:

  • streamart?sid=#
  • playingart?sid=#
  • vagy streampath (sp) használatával a 2.x DNAS szervereknél

  • streamart?sp=/#
  • playingart?sp=/#
    Megjeleníti a zeneszámhoz tartozó borítóképet, ha a 2.x-es forrás ezt biztosítja, és a kliens (pl. Winamp 5.64 vagy újabb) támogatja.

Flash lejátszó:

  • shoutcast.swf
    Ha megtalálható ugyanabban a mappában, ahol az sc_serv[.exe] fut, akkor ezt a fájlt biztosítja a saját Flash lejátszókhoz, megkönnyítve a hozzáférést ugyanazon domain-en belül.

A modern böngészők már nem támogatják a Flash-t, így a shoutcast.swf fájl,
illetve bármilyen Flash-alapú lejátszó nem fog működni a mai rendszerekben.
Ha van shoutcast.swf a rendszeredben, nyugodtan törölheted, nem fogod
tudni használni mai környezetben. Inkább állj át egy HTML5-lejátszóra.


5.1.2. Privát oldalak (Private Pages)


Szerver összefoglaló oldal:

Ha az URL-ben megadod a jelszót a &pass=<jelszó> opcióval, ahol a jelszó
az "adminpassword", (lásd 4.8. pont), akkor közvetlenül elérheted az
adminisztrációs oldalt. A jelszó base64-kódolt változata is használható, ha
előtte YWRtaW46 van pl. &pass=changeme ugyanaz, mint &pass=YWRtaW46Y2hhbmdlbWU=.

  • admin.cgi → A szerver által kezelt streamek összefoglaló oldalát mutatja, beleértve bizonyos információs oldalakra mutató közvetlen hivatkozásokat is (további információkért lásd az admin.cgi?sid=#&mode=viewxml parancsról szóló megjegyzéseket).
Server Summary Page

Stream adminisztrációs oldalak:

  • admin.cgi?sid=0
  • admin.cgi?sid=#
  • vagy streampath (sp) használatával a 2.x DNAS szervereknél

  • admin.cgi?sp
  • admin.cgi?sp=/#
    A megadott stream adminisztrációs oldalát jeleníti meg (a # a stream azonosítója).

A szerver által kezelt streamek teljes összefoglalóinak megtekintéséhez, nem szükséges
megadni a =0 opciót, mivel minden adat lekérdezésre kerül. Például: admin.cgi?sid vagy admin.cgi?sp.
Az oldal megtekintéséhez minden esetben szünség van az adminisztrátori bejelentkezéshez.
Kijelentkezéskor az összesítő (http://<servercím>:<port>/index.html) oldalra irányítja az adminisztrátort.

Stream adatok frissítése:

  • admin.cgi?sid=#&mode=updinfo&song=cím → A stream aktuális címének frissítése.
  • admin.cgi?sid=#&mode=updinfo&url=webcím → A streamhez tartozó URL frissítése.
  • admin.cgi?sid=#&mode=updinfo&dj=DJnév → Az aktuális DJ nevének frissítése.

Ezeket a paramétereket egyszerre is meg lehet adni, és a beállítások addig érvényesek, amíg új adat nem érkezik a forrástól. A rendszer automatikusan kezeli a különböző formátumokat (2.x XML vagy 1.x szöveg).

Stream Admin Page

Naplófájl megtekintése:

  • admin.cgi?sid=#&mode=viewlog → Napló megtekintése.
  • admin.cgi?sid=#&mode=viewlog&viewlog=tail → Folyamatosan frissülő naplónézet.
  • admin.cgi?sid=#&mode=viewlog&viewlog=save → Napló mentése tömörített (gzip) fájlba.
Server Log Page

Tiltólista, foglalt IP-k, blokkolt felhasználói ügynökök:

  • admin.cgi?sid=#&mode=viewban → Tiltott IP-k listája, IP-k vagy IP-tartományok tiltása.
Stream Ban List Page
  • admin.cgi?sid=#&mode=viewrip → Foglalt IP-címek listája.
Stream Reserved List Page
  • admin.cgi?sid=#&mode=viewagent → Blokkolt felhasználói ügynökök listája.
Stream Blocked User Agent List Page

Lejátszott szám borítóképe (Artwork):

  • admin.cgi?sid=#&mode=art → Az aktuálisan játszott stream borítójának megjelenítése (ha elérhető és a forrás támogatja).
  • admin.cgi?sid=#&mode=art&art=playing → Kifejezetten a lejátszott zeneszám borítóképét jeleníti meg.

Ha az &art= paraméter nincs megadva, vagy nem egy ismert opció, akkor az adott
streamhez tartozó borítókép (ha van ilyen) jelenik meg. Ha pedig az &art=playing
nincs megadva, akkor a lejátszott fájl borítóképe (ha van) kerül megjelenítésre.

Stream információk lekérése (XML / JSON):

  • admin.cgi?sid=#&mode=viewxml → Részletes stream információk lekérése XML formátumban.
  • admin.cgi?sid=#&mode=viewjson → Részletes stream információk lekérése JSON formátumban.
  • admin.cgi?sid=#&page=# → Szűkíti a megjelenített adatokat az alábbiak szerint:
    1. Stream összefoglaló (mint a stats?sid=#)
    2. Nem használt (régebbi Webdata statisztikákhoz)
    3. Hallgatói statisztikák
    4. Lejátszási előzmények
    5. Stream metaadatok (pl. cím, ha támogatott)
    6. Stream konfigurációk (csak admin CGI-n keresztül)
  • admin.cgi?sid=#&iponly=1 → Csak IP-címek jelennek meg a hallgatói adatoknál.

Stream újratöltés / forrás vagy kliens eltávolítása:

  • admin.cgi?sid=#&mode=resetxml → Stream adatok frissítése (gyorstár kiürítése).
  • admin.cgi?sid=#&mode=kicksrc → A jelenleg csatlakozott forrás lecsatlakoztatása.
  • admin.cgi?sid=#&mode=kickdst&kickdst=<kliensek> → Meghatározott kliensek lecsatlakoztatása.
  • admin.cgi?sid=#&mode=kickdst&kickdst=all → Minden kliens lecsatlakoztatása.
  • admin.cgi?sid=#&mode=ripdst&ripdst=<IP> → IP-cím vagy host fenntartása.
  • admin.cgi?sid=#&mode=unripdst&ripdst=<IP> → IP-cím vagy host feloldása a fenntartásból.
  • admin.cgi?sid=#&mode=unbandst&bandst=<IP>.0&banmsk=0 → Egy IP-tartomány feloldása a tiltásból.
  • admin.cgi?sid=#&mode=unbandst&bandst=<IP>&banmsk=255 → Egy konkrét IP tiltásának feloldása.

Felhasználói ügynökök tiltása vagy engedélyezése:

  • admin.cgi?sid=#&mode=agent&agent=<user_agent> → Megadott felhasználói ügynök tiltása.
  • admin.cgi?sid=#&mode=unagent&agent=<user_agent> → Megadott felhasználói ügynök tiltásának feloldása. (A tiltás azonnali bontást is eredményezhet, ha a kliens csatlakozva van.)

Listák újratöltése újraindítás nélkül:

  • admin.cgi?mode=bannedlist → Tiltott IP-k listájának újratöltése.
  • admin.cgi?mode=reservelist → Fenntartott IP-k listájának újratöltése.
  • admin.cgi?mode=useragentlist → Blokkolt felhasználói ügynökök listájának újratöltése.

Naplófájlok forgatása:

  • admin.cgi?mode=rotate → Az összes naplófájl forgatása (új fájlok kezdése).
  • admin.cgi?mode=rotate&files=log → Csak a log típusú naplók forgatása.
  • admin.cgi?mode=rotate&files=w3c → Csak a w3c típusú naplók forgatása.

Gyorsítótár törlése:

  • admin.cgi?mode=clearcache → Az alábbi fájlok gyorsítótárának ürítése:
    index.css, shoutcast.swf (a modern böngészők már nem támogatják), crossdomain.xml, robots.txt, favicon.ico.

Lejátszási előzmények:

  • admin.cgi?sid=#&mode=history → A megadott stream lejátszási előzményeinek megtekintése (ugyanaz, mint a played.html?sid=#).

Sávszélesség adatok:

  • admin.cgi?mode=bandwidth → Szerver sávszélesség-információi (mennyi adatot küldött a klienseknek).
  • admin.cgi?mode=bandwidth&type=xml → Adatok lekérése xml formátumban
  • admin.cgi?mode=bandwidth&type=json → Adatok lekérése json formátumban
  • admin.cgi?mode=bandwidth&type=json&callback=function → Adatok lekérése jsonp formátumban, külső forrásból.
  • admin.cgi?sid=0&mode=bandwidth&refresh=XX → Automatikus frissítési idő megadása.
Server Bandwidth Page

A kiszolgáló sávszélesség-információit jeleníti meg, pl. az ügyfeleknek küldött adatok mennyiségét.
Egy formázott táblázatot vagy egy kért formátumú int fájlt tartalmazó oldalt jelenít meg.
A visszaadott válasz formátumával kapcsolatos további részletekért lásd az 5.2. szakaszt.

A sávszélesség frissítési ideje (refresh=XX) az url - t automatikusan kiegészíti sid=0 - ra még akkor is, ha nincs megadva stream
azonosító. Például ha az url https://<szervercím>:<port>/admin.cgi?mode=bandwidth&refresh=5, akkor az 5 másodperces frissítési
idő után az url az alábbiakban fog kinézni: https://<szervercím>:<port>/admin.cgi?sid=0&mode=bandwidth&refresh=5. Ez abban az
esetben is érvényes, ha a stream azonosító egy létező állomásé, mivel a sávszélesség az összes állomásra vonatkozik.
A frissítési idő csak HTML megjelenítésnél alkalmazható. XML és JSON formátumnál nem működik.

Közvetítés állapota:

  • admin.cgi?mode=ypstatus&type=xml → A közvetítések nyilvános listázási állapotának lekérdezése xml formátumban.
  • admin.cgi?mode=ypstatus&type=json → A közvetítések nyilvános listázási állapotának lekérdezése json formátumban.
  • admin.cgi?mode=ypstatus&type=json&callback=function → A közvetítések nyilvános listázási állapotának lekérdezése jsonp formátumban, külső forrásból.

Relék kezelése:

  • admin.cgi?sid=#&mode=startrelay → Megpróbálja elindítani a megadott streamhez beállított relay-t (átjátszást). Ha nincs relay URL megadva ehhez a streamhez, vagy már fut egy relay, akkor nem történik semmi.
  • admin.cgi?sid=#&mode=startrelays → Megpróbálja elindítani az összes beállított relay-t (átjátszást). Ha egy vagy több streamhez nincs megadva relay URL, vagy már futnak a relay-ek, akkor nem történik semmi.
  • admin.cgi?sid=#&mode=kicksources → Leállítja az összes relay-t, és megszakítja az összes közvetlen forrás (pl. DJ vagy AutoDJ) kapcsolatát az éppen aktív streamekből.

5.1.2.1. Konfiguráció újratöltése (Configuration Reload)


  • admin.cgi?mode=reload
  • admin.cgi?mode=reload&force=1
    Ez a parancs újratölti a fő konfigurációs fájlban található adatokat, amelyeket a szerver induláskor használt. Csak az adminisztrátori összefoglaló oldalon érhető el, és csak a mester admin jelszóval lehet végrehajtani.

A parancs az egész szerverre vonatkozik (ezért nincs szükség sid paraméterre), és az összes elérhető stream konfigurációt frissíti, hozzáadja vagy eltávolítja. Ennek következtében az érintett források (pl. AutoDJ-k) és hallgatók (kliensek) bontásra kerülnek, ha szükséges – például ha egy stream konfiguráció törlésre került.

A rendszer képes felismerni az include utasítással hivatkozott konfigurációs fájlokat is. Például, ha a fő fájlban van ilyen sor: include=streams/*.conf, akkor a szerver az összes ebben a mappában található konfigurációt figyelembe veszi az újratöltés során.

Ha a parancshoz hozzáadod a &force=1 paramétert, akkor az aktív streamek frissítését úgy kezeli, mintha azok teljesen eltávolításra kerülnének, majd újra létrejönnének. Ez eltér a normál működéstől, ahol a szerver megpróbálja frissíteni az adatokat anélkül, hogy megszakítaná a streamet – például nem növeli meg a streammaxuser értéket, még ha meg is lehetne.

Az alábbi konfigurációs beállítások frissülnek ezzel a parancssal:

<< Globális beállítások >>
password (*) jelszó
admetricsdebug reklámbejátszások naplózása
publicserver nyilvános szerverként szerepeljen-e
minbitrate minimális bitsebesség
maxbitrate maximális bitsebesség
maxuser maximális hallgatók száma
ypport YP (szerverlista) port
ypaddr YP (szerverlista) cím
yptimeout időtúllépés YP kapcsolatnál
destip cél IP cím
hidestats statisztikák elrejtése
redirecturl átirányítási URL
riponly sak stream felvétel engedélyezése
autodumptime automatikus bontás ideje
autodumpusers automatikus bontás, ha nincs forrás
namelookups névfeloldás engedélyezése
configrewrite konfigurációs fájl újraírása
requirestreamconfigs szükségesek-e külön stream konfigurációk
cdn tartalomelosztás
relayreconnecttime újracsatlakozási idő
relayconnectretries újracsatlakozások száma
agentfile kliensazonosítók fájlja
blockemptyuseragent üres felhasználói ügynök tiltása
publicip nyilvános IP megadása
artworkfile borítókép fájl
songhistory lejátszási előzmények
backuploop tartalék hurok

A modern böngészők már megkövetelik a titkosított kapcsolat használatát, ezért ajánlott a streameket is https kapcsolaton keresztül futtatni. Ehhez még két opció hozzáadása szökséges a Globális konfigurációhoz:

  • sslcertificatefile → SSL tanúsítvány fájl elérési útja.
  • sslcertificatekeyfile → Az SSL kulcs fájlja.

Ahhoz, hogy az SSL tanúsítvány fájljait biztosan megtalálja a konfigurációs fájl, használj abszolut útvonalat, mint ahogy azt a következő példa is mutatja.

Példa:

include=streams/*.conf
admetricsdebug=1
adminpassword=hackme
password=hackme2
banfile=control/sc_serv.ban
configrewrite=0
flvclientdebug=1
httpclientdebug=1
httpsourcedebug=1
httpstyledebug=1
logrotates=2
minbitrate=96000
maxbitrate=320000
maxuser=500
songhistory=10
microserverdebug=1
publicserver=default
relaydebug=1
relayshoutcastdebug=1
relayuvoxdebug=1
ripfile=control/sc_serv.rip
shoutcast2clientdebug=1
shoutcastsourcedebug=1
sslcertificatefile=/home/admin/conf/web/<szervercím>/ssl/<szervercím>.pem
sslcertificatekeyfile=/home/admin/conf/web/<szervercím>/ssl/<szervercím>.key
statsdebug=1
streamdatadebug=1
threadrunnerdebug=1
uvox2sourcedebug=1
w3clog=logs/sc_w3c.log
webclientdebug=1
yp2debug=1
streamdatadebug=1
<< Streamhez kötött beállítások >>
streampassword (*) stream jelszó
streamadminpassword (#) admin jelszó a streamhez
streamallowrelay engedélyezett-e a relay
streamauthhash hitelesítési kulcs
streamautodumptime automatikus bontás ideje
streamautodumpusers automatikus bontás, ha nincs forrás
streambackupfile tartalék fájl
streambackupurl tartalék URL
streambanfile tiltott felhasználók fájlja
streamid stream azonosító
streamintrofile bemutatkozó fájl
streamlistenertime hallgatási idő korlátozása
streamminbitrate minimális bitsebesség
streammaxbitrate maximális bitsebesség
streammaxuser maximális hallgatók száma
streampath elérési út (DNAS 2.x)
streamallowpublicrelay nyilvános relay engedélyezése
streampublicserver nyilvános stream beállítás
streamrelayurl relay URL
streamripfile felvétel fájl
streamriponly csak felvétel engedélyezett
streamsonghistory lejátszási előzmények
streamredirecturl átirányítás URL
streamhidestats statisztikák elrejtése
streammovedurl áthelyezés URL
streamagentfile felhasználói ügynök fájl
streamartworkfile borítókép fájl
streambackuploop tartalék hurok
cdnmaster CDN mester
cdnslave slave szerepkör

Példa (streams/1_stream.conf):

streamid_1=1
streamadminpassword_1=stream_admin_password
streampassword_1=stream_password
streampath_1=/stream
streammaxuser_1=5000
streammaxbitrate_1=192000
streamsonghistory_1=20
streamauthhash_1=C05R3E9E-B80A-90SD-N80C-F7F8179RB01C
streampublicserver_1=always

Továbbá minden hibakeresési beállítás is frissül (részletek a 4.3-as szakaszban).

(*) A jelszavak frissítése csak akkor történik meg, ha az új érték különbözik a régitől.

(#) A fő adminisztrátori jelszó (adminpassword) csak a szerver újraindítása után változtatható meg.


5.2. XML / JSON / JSON-P válaszok (XML / JSON / JSON-P Responses)


Ahogy azt a korábbi szakaszokban részleteztem, bizonyos adminisztrációs műveletek az eredményt XML, JSON vagy JSON-P formátumú válaszban adják vissza. Az XML válaszok tartalmáról bővebben a Szerver XML válaszok (angol) című részben, míg a JSON / JSON-P válaszok részleteiről a Szerver JSON válaszok (angol) című részben találhatsz információt.

6. Stream címek


A hallgatók többféleképpen is csatlakozhatnak a DNAS szerver által biztosított streamekhez, attól függően, hogyan lettek beállítva a streamek és hány stream érhető el.

A hallgatók leggyakrabban az alábbi módokon tudnak csatlakozni egy streamhez:

  • <szervercím>/stream/<streamazonosító>/
  • vagy
  • egyszerűen <szervercím>/ (ha az alapértelmezett streamazonosítót, azaz az 1-es számot használjuk)
  • vagy
  • vagy <szervercím>/<streampath> (azaz egyedi elérési út alapján)
Ne felejtsd el, hogy önmagában a szervercím csak akkor elég, ha
a webszerver konfigurációs fájlban be van állítva az átirányítás.
Nginx átirányítás:
server { { ... } location /stream { return 301 https://<szervercím>:<port>/stream; } }
Nginx Proxy:
server { { ... } location /stream { proxy_pass http://<szervercím>:<port>/stream; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Apache átirányítás:
<VirtualHost *:443> { ... } RewriteEngine On RewriteRule ^/stream$ <szervercím>:<port>/stream [R=301,L] </VirtualHost>
Apache Proxy:
<VirtualHost *:443> { ... } ProxyPass /ebm https://<szervercím>:<port>/stream ProxyPassReverse /ebm https://<szervercím>:<port>/stream # Opciók a fejléc kezeléséhez (nem mindig szükséges, de ajánlott) <Proxy *> Require all granted </Proxy> </VirtualHost> }

Mit jelentenek ezek?

  • <szervercím> → általában így néz ki: https://szerver_ip vagy https://domain_name. Átirányításhoz a fenti példák segítenek, hogy tiszta URL - en keresztül lehessen elérni a rádióállomást. A konfigurációs fájl is tartalmaz(hat) hasonló beállítást. Ebben az esetben a szervercím https://szerver_ip:port vagy https://domain_name:port (lásd a 4.2 és 4.8 pontokat).
  • <streamazonosító> → az a szám, amit a stream konfigurációjában állítottunk be (lásd a 4.12 pontot)
  • <streampath> → az az elérési út, amit szintén a stream konfigurációjában adtunk meg (lásd a 4.12 pontot)

Ha a hallgató a csatlakozáshoz megadott URL-ben nem ad meg sem streampath-t, sem streamazonosítót — vagy ha csak egyetlen stream érhető el — akkor a szerver automatikusan az első aktív streamet fogja alapértelmezetten kiszolgálni. Ez lehetővé teszi, hogy a hallgató érvényes kapcsolódást hozzon létre, és ugyanúgy működik, mint a régebbi, 1.x-es DNAS szerver verziók esetében.

Fontos szem előtt tartani, hogyan kezeled a stream címeket, főleg ha több streamet kínálsz. Például ha szeretnéd, hogy a mobilos hallgatók egy kisebb sávszélességű (azaz „könnyebb”) streamhez csatlakozzanak, akkor számukra külön elérési útvonalat adhatsz meg, pl. <szervercím>/mobile.


6.1. HTTP protokoll kompatibilitás (HTTP Protocol Compatibility)


A 2.2.2-es DNAS szerver verziótól kezdve az alapértelmezett működés
az, hogy a szerver HTTP-kompatibilis válaszokat ad, nem pedig a régi,
1.x-es DNAS szervereknél használt ICY típusú válaszokat.

A 2.4.1-es DNAS szerver verzió óta az ICY protokoll támogatása teljesen megszűnt (egyetlen kivétel van: a Windows Media Player kompatibilitási igénye), és az összes régi, 1.x-es kliens HTTP válaszokat kap, mint például HTTP/1.0 200 OK a sikeres csatlakozás esetén, a korábbi ICY 200 OK helyett.

Erre azért volt szükség, hogy javítsák a kompatibilitást az HTML5-alapú audio lejátszókkal és más hallgatói szoftverekkel, amelyek korábban nehezen boldogultak az ICY protokollal (ami hasonlított a HTTP-hez, de nem volt széles körben támogatott).

A DNAS szerver továbbra is képes „beágyazott” metaadatokat küldeni azoknak a hallgatói klienseknek, amelyek csatlakozáskor jeleznek egy icy-metadata:1 fejlécet. Ha ez nincs megadva, akkor a szerver csak a nyers (metaadat nélküli) hangfolyamot küldi, ezzel biztosítva a lehető legjobb kompatibilitást az olyan kliensekkel, amelyek nem tudnak megbirkózni a plusz adatokkal (például HTML5 lejátszók).

Minden olyan beállítási és stream URL-paraméter, amit a DNAS korábban
az ICY–HTTP átállás idején biztosított, már el lett távolítva, és ha ilyeneket
talál a rendszer, egyszerűen figyelmen kívül hagyja őket.

7. Maximális hallgatói kapcsolati korlátok (Maximum Listener Connection Limits)


A DNAS szerver futó példányához csatlakozó hallgatók maximális számának vannak beépített korlátai. Ezeket befolyásolhatják a konfigurációs beállítások (például a maxuser érték), az operációs rendszer korlátai vagy az elérhető sávszélesség korlátai.

Az első két tényező (konfigurációs és rendszerkorlátok) viszonylag egyszerűen megoldható, viszont ha a sávszélesség a szűk keresztmetszet, akkor általában csak úgy lehet növelni a kapacitást, ha több tárhelyet bérelsz, vagy nagyobb sávszélességért fizetsz.

Ha az operációs rendszer korlátja miatt akad meg a kapcsolat, az általában abban nyilvánul meg, hogy a szerver sosem lépi túl egy fix számú maximális klienst még akkor sem, ha a sávszélesség és a szerver beállításai engednék. Ilyenkor a DNAS szerver a naplófájlokban hibákat fog jelezni. Ez tipikusan kb. 300 egyidejű hallgatót jelent maximum, bár ez kicsit eltérhet attól függően, hogyan működnek a hallgatói kapcsolatok.

Ha nem Windows rendszert használsz, a ulimit -n xxxx parancs segítségével tudod növelni a fájlkezelési (és ezzel együtt a kapcsolati) korlátot. Az aktuális értéket a ulimit -n paranccsal nézheted meg. Például ha 4096 kapcsolatra akarod állítani a maximumot, akkor a következő parancsot kell futtatnod:

ulimit -n 4096

Általános szabályként érdemes a limitet legalább a konfigurációban megadott maxuser érték négyszeresére állítani.

Ha Windows rendszert használsz, ott sajnos nincs igazán mód ezeknek a korlátoknak a módosítására, mivel az operációs rendszer remélhetőleg eleve olyan határokkal van beállítva, amik nem okoznak problémát a DNAS szerver használatakor. Ha bizonytalan vagy, érdemes megnézni a Microsoft hivatalos dokumentációját az adott Windows-verzióhoz.

8. Példa konfigurációk (Example Configurations)


A DNAS szerver telepítőcsomagjában több példakonfiguráció is megtalálható, amelyek segítségével gyorsan elindulhatsz, ha inkább kézzel szeretnéd beállítani a dolgokat ahelyett, hogy a beépített „setup” (beállító) módot használnád (lásd 3.4-es szakasz). Ezeket a példafájlokat az examples (példák) mappában találod:

Alap konfiguráció

  • sc_serv_basic.conf → Ez az alapkonfiguráció, egy kiinduló pont. Egy helyi (local) szervert indít el, amely nem jelenik meg a nyilvános Shoutcast listákban (Directory/YP), tehát csak azok tudják hallgatni, akik ismerik a szervered címét.

Mikor használd?

Ha privát streamet akarsz futtatni, például csak tesztelésre, barátoknak, vagy belső hálózaton. Ez a legjobb alap, ha saját magad akarod beállítgatni a többi dolgot.

Publikus konfiguráció

  • sc_serv_public.conf → Ez a fájl az alapkonfiguráció (sc_serv_basic) egy továbbfejlesztett változata, amely nyilvános módba állítja a szervert. Ilyenkor a szerver csatlakozik a Shoutcast központi könyvtárához (Directory), így a stream megjelenik a nyilvános listákban, amit bárki elérhet a világon.

Mikor használd?

Ha nyilvános rádióadást akarsz, amit szeretnél, hogy mások is megtaláljanak (például a Shoutcast.com-on vagy a Winamp rádiólistákban).

Átjátszó (Relay) konfiguráció

  • sc_serv_relay.conf → Ez a konfiguráció egy relay (átjátszó) szervert hoz létre. Ez azt jelenti, hogy a szerver nem saját forrásból (pl. Winamp vagy AutoDJ) játssza a zenét, hanem egy másik Shoutcast szerverhez kapcsolódik, és annak a streamjét továbbítja.

Mikor használd?

Ha át akarod venni egy másik rádióadó streamjét, és azt sugározni a saját szervereden — például ha több relay szervert szeretnél üzemeltetni a terhelés elosztására, vagy ha egy másik rádióval együttműködve közvetítesz.

Minimális konfiguráció

  • sc_serv_simple.conf → Ez a legegyszerűbb, minimális konfiguráció. Úgy van megírva, hogy gyakorlatilag azonnal működjön, módosítás nélkül. Használja a Shoutcast alapbeállításait, csak néhány fájlútvonalat igazít, hogy beleilleszkedjen a meglévő példák közé.

Mikor használd?

Ha nagyon gyorsan el akarsz indítani egy működő szervert, például kipróbálni a rendszert vagy kísérletezni anélkül, hogy mélyen belemennél a konfigurációba.

Az összes példafájl részletesen dokumentálva van, és a dokumentációban a megfelelő részekhez kapcsolódnak. Fontos, hogy néhány részletet, például a jelszavakat, neked kell átírnod a saját beállításaidnak megfelelően (lásd lejebb vagy a 3.0-ás szakaszt). Ezeket a fájlokat úgy tervezték, hogy ugyanabból a telepítési mappából fussanak, ahova a DNAS szervert telepítetted, ha bemásolod őket a gyökérmappába (ahol a sc_serv vagy sc_serv.exe található).

Ha nem szívesen szerkesztesz szövegfájlokat, vagy túl bonyolultnak találod, akkor használhatod a "setup" módot is (lásd 3.4-es szakasz).


8.1. sc_serv_basic


Ez az alapkonfiguráció, amelyre a többi példafájl is épül. Ezzel egy helyi DNAS szerver példányt indíthatsz el, amely nem kapcsolódik a központi könyvtárhoz (Directory), tehát a stream nem jelenik meg a listázott nyilvános állomások között.

Ezek az elemzések az alapértelmezett példafájlokra vonatkoznak.
Ha már módosítottad őket, lehet, hogy nálad kicsit eltérnek.

Konfiguráció

  • adminpassword → Ez a jelszó kell az adminfelület eléréséhez.
  • password → Ezt a jelszót kell megadnia a forrásnak (pl. Winamp DSP plugin, AutoDJ), hogy csatlakozni tudjon.
  • maxuser → Maximális hallgatószám (pl. 100).
  • portbase → A szerver portja (pl. 8000).
  • logfile → A logfájl helye, ahová a naplózást menti.
  • publicserver → 0, azaz privát módban fut (nem listázza a könyvtárban).
  • w3clog → Ez határozza meg, hogy a szerver hova menti a W3C formátumú logokat.
  • banfile → Ez a fájl tartalmazza azoknak az IP-címeknek a listáját, akik ki vannak tiltva a szerverről.
  • ripfile → Ez a fájl tartalmazza azoknak az IP-címeknek a listáját, akik rippelők, azaz próbálják lementeni vagy rögzíteni a streamet.

Ezzel egy saját, privát szervert kapsz, amit
csak az ér el, aki tudja a szerver címét.


8.2. sc_serv_public


Ez a konfiguráció az sc_serv_basic fájl beállításait módosítja úgy, hogy a szerver nyilvános üzemmódban működjön, és csatlakozzon a központi könyvtárhoz, hogy a stream megjelenjen a nyilvános listákban. Bemutatja az „include” (beillesztés) opció használatát is (lásd 4.7-es szakasz), illetve azt, hogy ha ugyanazt a beállítást többször is megadod, akkor az utoljára megadott érték fog számítani.

A konfiguráció a basic - re épül, néhány kiegészítéssel

  • include = sc_serv_basic.conf → Beolvassa az alapfájlt, és azon felül érvényesíti az új beállításokat.
  • publicserver = always → Mindig nyilvános, bekerül a Shoutcast könyvtárba.
  • streamid → Ha több stream van, itt adsz meg egyedi azonosítót.

Ha publikus rádiót akarsz indítani, amit a
Shoutcast oldalán is láthatnak, ezt használd.


8.3. sc_serv_relay


Ez a konfiguráció az sc_serv_public fájlon alapul, de úgy módosítja a szükséges beállításokat, hogy a szerver relay (átjátszó) módban működjön, azaz a streamet nem közvetlen forrásból, hanem egy másik relay szerverről veszi át.

Ez a konfiguráció egy átjátszó (relay) szerver beállításaira fókuszál:

  • include=sc_serv_public.conf → Beolvassa a nyilvános fájlt, és azon felül érvényesíti az új beállításokat.
  • streamid → Relay esetén is egyedi azonosító.
  • publicserver = always → Az átjátszott stream is bekerül a könyvtárba.
  • streamrelayurl=http://<relay_utl:relax_port/streampath> → Ezzel a beállítással lehet megadni egy másik (külső) stream URL-t, amit a szerver továbbít (relay-el), vagyis átvéve tőle a tartalmat, onnan húzza be a zenét/adást, nem pedig saját forrásból.
  • allowrelay=1 → Engedélyezi, hogy relé (relay) kapcsolódjon a szerverhez.
  • allowpublicrelay=1 → Engedélyezi, hogy a relék megjelenjenek a YP könyvtárban (public directory).

Ha egy meglévő rádió streamjét szeretnéd továbbítani
(például a saját hallgatóid felé), ezzel a fájllal indítod.


8.4. sc_serv_simple


Ezt akkor használd, ha csak egy nagyon alap szervert szeretnél elindítani, vagy türelmetlen vagy, esetleg nem boldogultál az előző példákkal. Ez a fájl úgy lett megírva, hogy módosítás nélkül is használható legyen. Ez a legegyszerűbb konfiguráció, amivel már elindíthatsz egy szervert, amely megjelenik a központi könyvtárban (YP). A szerver alapértelmezett beállításait használja, bár néhány fájlútvonalat módosít, hogy illeszkedjen a többi példában használt felépítéshez.

Ez a konfiguráció csak minimális beállításokat tartalmaz:

  • password → Forrásjelszó.
  • adminpassword → Adminfelület jelszava.
  • publicserver → Publikus módban fut (általában 1 vagy always).
  • logfile → A logfájl helye, ahová a naplózást menti.
  • w3clog → A W3C formátumú logok helye.
  • banfile → A kitiltott IP-címk listájának helye.
  • ripfile → Azoknak az IP-címeknek a listáját tartalmazza ez a fájl, akik próbálják lementeni vagy rögzíteni a streamet.

Ha egyszerű konfigurációt akarsz, mellyel gyorsan futtathatsz egy
szervert, használd ezt a fájlt. A legkevesebb dolgot igényli, viszont
a haladóknak nem ajánlott, mert kevés finombeállítás van benne.


Fontos: a magyar fordítás az eredeti dokumentáció alapján készült, melyek saját tapasztalattal, észrevétellel lettek kiegészítve. Előfordulhatnak fordítási, illetve nyelvi hibák, amiért előre is elnézést kérek! Eredeti nyelven a dokumentáció itt érhető el.