Béláim az Úrban!
Történt, hogy fölraktam egy shoutcast streaming szervert (sc_trans_linux)
Különböző folder-ekben lévő mp3-akat játszik, playlist alapján, véletlen sorrendben.
Csináltam egy script szerűséget, ami módosítja a playlist-et, aztán újratölti úgy, hogy az éppen aktuális számot nem bántja.
Ez _néha_ viszont beakad, holott a playlist cserélődik, az USR1 singnal-t megkapja, tehát újra is tölti.
Ha beakad, akkor folyamatosan ugyanazt a zenét játssza körbe-körbe. F@szé' csinálja ezt má'?
Az elv:
- módosítja a playlist-et
- az sc_trans_linux pid-jének küld egy USR1 signal-t, amitől az újratölti a playlist-et.
----------------------------------------------------------------------------
#!/bin/bash
/usr/bin/find $1 -type f -name "*.mp3" > /home/radio/playlist.lst
kill -s USR1 `ps aux | grep sc_trans |grep -v grep |grep -v SCREEN |awk '{print $2}'`
----------------------------------------------------------------------------
Hol szabhattam el?
Pl. így néz ki egy beakadás:
<10/08/09@23:45:01> [MAIN] SIGUSR1; Reload Playlist
<10/08/09@23:45:01> [MAIN] Reloading playlist
<10/08/09@23:45:01> [MAIN] Loading playlist (playlist.lst)
<10/08/09@23:45:01> [MAIN] Found (96) entries in playlist
<10/09/09@00:58:11> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3
<10/09/09@00:58:28> [MAIN] Title Updated
<10/09/09@02:09:07> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3
<10/09/09@02:09:23> [MAIN] Title Updated
<10/09/09@03:20:03> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3
<10/09/09@03:20:20> [MAIN] Title Updated
<10/09/09@04:30:58> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3
<10/09/09@04:31:15> [MAIN] Title Updated
<10/09/09@05:41:54> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3
<10/09/09@05:42:10> [MAIN] Title Updated
<10/09/09@06:52:50> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3
Mint az látható:
- USR1 singal: OK
- 96 entries: 96 filé van a playlist-ben, és nem mind ua.
Hm???
- 1734 megtekintés
Hozzászólások
Sőt, úgy látom, hogy a WINCH, azaz 'jump to next song' signal esetén is ugyanaz a track kerül elő.
X-akta...
- A hozzászóláshoz be kell jelentkezni
Érdekes. Ilyet még nem láttam mióta ezt használom, kb 2 éve. Ha megtalálod a választ engem is érdekel mi volt a gond...
127.0.0.1 SWEET 127.0.0.1
- A hozzászóláshoz be kell jelentkezni
Lehet, hogy a signal-t olyan pillanatban kapja az sc_trans, amikor éppen nem tartalmaz semmit a playlist?
Próbálkoztam olyannal is, hogy a playlist felülírás és a signal között nyomok egy sync-et, de az sem segített.
Már kiraktam a fehér X-et az ablakba, hátha jön a morcona feka csávó és megsúgja a megoldást. :-)
- A hozzászóláshoz be kell jelentkezni
Sőt, jelenleg kétszer váltok playlist-et/nap, de mindig csak az egyik váltásnál lép fel ez a hiba.
Ilyenkor leállítom a folyamatot, újra elindítom és akkor jó lesz.
- A hozzászóláshoz be kell jelentkezni
Nekem Ices 0.4-el van hasonlo szivasom:
Eredetileg HUP szignallal tolti ujra a playlistet es USR1 szignallal valt a kovetkezo zenere. Ha kezzel inditom a programot akkor ez tokeletesen mukodik.
Viszont az Icecast2-ben be lehet allitani, hogy csatlakozaskor es szakadaskor futtasson le egy scriptet.
Az en esetemben ha szakadas van (tehat valami miatt elszall az Ices) akkor ujrainditja az Ices-t.
Na es innentol teljesen hatastalan a HUP es az USR szignal, hiaba killelem nem tortenik semmi, ugyanugy megy tovabb. Loggolasat atallitottam debug modra de ott sincs nyoma annak hogy ment volna valamelyik signal. Ha rootkent probalom akkor is ugyanaz. kill -9 ertelemszeruen mukodik.
- A hozzászóláshoz be kell jelentkezni