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:
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).
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.
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.
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.
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).
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
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
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.
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.
./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).
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.
./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.
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.
chmod a+x sc_serv parancsot.ldd sc_serv parancsot. Ha a kimenet szerint a fájl "statically linked" (statikusan linkelt), akkor valószínű hiba történt.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).
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.
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:
log, w3clog, streamw3clog)reserved, banned és blocked user agent listák újratöltéseA 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.
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őpontjaXX – 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.
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.
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:
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.http:// kezdetű URL vagy feloldható IP).publicip: A nyilvánosan listázott streamhez használandó IP-cím. [Alapértelmezett: <nincs megadva>]
Megjegyzések:
destip, de csak akkor használatos, ha a stream nyilvánosra van állítva.destip értékével szemben, ha meg van advadestip csak helyi (localhost), de a nyilvános listázáshoz szükség van érvényes DNS vagy IP-cím megadására.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>]
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
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.
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]
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.
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:
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:
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=
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.
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)]
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:
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.
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.
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.:
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.:
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:
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:
/stats?sid=# és /statistics?sid=# oldalakat./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.
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.
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:
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.
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 |
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:
/stats és /statistics oldalakat./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.
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.
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.
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:
Ha a 3-as számú stream streampath_3=Live néven van beállítva:
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.
Streamek összesítő oldala:
null értéket, ha nincs elérhető adat.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).
Következő zeneszám(ok):
vagy streampath (sp) használatával a 2.x DNAS szervereknél
Egy adott stream részletes adatai:
vagy streampath (sp) használatával a 2.x DNAS szervereknél
# helyett a stream azonosítóját kell megadni.
Lejátszási előzmények:
vagy streampath (sp) használatával a 2.x DNAS szervereknél
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):
vagy streampath (sp) használatával a 2.x DNAS szervereknél
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:
vagy streampath (sp) használatával a 2.x DNAS szervereknél
streamurl), akkor a felhasználót átirányítja a shoutcast.com főoldalára.Stream statisztikák:
vagy streampath (sp) használatával a 2.x DNAS szervereknél
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):
vagy streampath (sp) használatával a 2.x DNAS szervereknél
stats hívást kell használni.Összesített statisztika:
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:
vagy streampath (sp) használatával a 2.x DNAS szervereknél
Flash lejátszó:
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.
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=.
Stream adminisztrációs oldalak:
vagy streampath (sp) használatával a 2.x DNAS szervereknél
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:
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).
Naplófájl megtekintése:
Tiltólista, foglalt IP-k, blokkolt felhasználói ügynökök:
Lejátszott szám borítóképe (Artwork):
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):
stats?sid=#)Stream újratöltés / forrás vagy kliens eltávolítása:
Felhasználói ügynökök tiltása vagy engedélyezése:
Listák újratöltése újraindítás nélkül:
Naplófájlok forgatása:
log típusú naplók forgatása.w3c típusú naplók forgatása.Gyorsítótár törlé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:
played.html?sid=#).Sávszélesség adatok:
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:
Relék kezelése:
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:
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.
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.
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:
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?
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).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.
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.
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.
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ó
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ó
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ó
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ó
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).
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ó
Ezzel egy saját, privát szervert kapsz, amit
csak az ér el, aki tudja a szerver címét.
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
Ha publikus rádiót akarsz indítani, amit a
Shoutcast oldalán is láthatnak, ezt használd.
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:
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.
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:
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.