Menu

Someone got Icecast2 & Gjukebox right?

Help
joopsiroop
2007-09-20
2015-10-03
  • joopsiroop

    joopsiroop - 2007-09-20

    I configured my GJukebox to work with Icecast 2.3.1

    I have 2 issues with this:
    1. It is playing songs, but there seems to be no relation between waht is displayed on the jukebox website, and what is being send to the icecast server.
    2. I had to hack the playit.pl to get the steam working.

    Someone has this setup working right?

    More in detail:

    1.) The website shows a queu with songs, wich is being emptied an refilled very fast. Like each song needs only a second to play. The songs it shows are not the songs Icecast is getting. Skipping tracks does not work either.
    Setting a ridiculous low buffer size in WinAmp does noet help.

    2.)
    The only way I can get it working is by hacking the playit.pl and define values for  $orguser and $icequeue just before the line containing:
    exec ("$JUKEBOXBIN/globecomice
    like:
    $orguser="source"; and $icequeue="GJukebox";
    exec ("$JUKEBOXBIN/globecomice

    Now when i browse to the icecast server, I get a maount point GJukebox, and winamp will play it.

     
    • joopsiroop

      joopsiroop - 2007-09-20

      An update to the above: After playing for a while all stops.
      The mpg123 process is stopped, and so is the getnextmp3.pl

       
    • Lewis Jardine

      Lewis Jardine - 2007-09-21

      Icecast2 is not version 2 of icecast, but instead a different project by the same people. Thus, it's to be expected that applications written for icecast won't work with icecast2 without modification. I had a nice rant about icecast and icecast2 having confusingly similar names and a library named libshout, but I've misplaced it. Anyways, it would be far easier to use icecast, if that's at all possible.

      These symptoms can occur when you have more than one copy of playit (or globecomice) running: the two (or more) globecomices compete for the queue, but only one of them is playing to the server. The other one tends to spin, and eat its way through the queue at an alarming rate. The working one's selections appear random, because it's only hitting the database when a song ends, but if your machine is fast enough the spinning playit can clean out the entire queue between refreshes of the web interface.

      Looking at your modifications,

      orguser shouldn't be set at all, unless you have a user called source with his own personal queue. When orguser is set to "", it means the player should play the global queue. (you can see this in action by running getnextmp3.pl <orguser>: it should pop the first song off the top of the queue (the global queue if orguser is ""), and print it to the terminal). If you're overriding orguser in some places, this may (I stress 'may') be why your queue is getting munched.

      In icecast, there's a root 'mount point', and that's what gjukebox is expecting to use (I don't think there's an elegant way to move the global queue). Hacking it is probably best done before "$icequeue=fetchsetting("PRIVATEQUEUE");", so that if you do need private queues, they won't all get set to play on "GJukebox".

      Things that you might look through:

      pstree -p, to see how many of each process you've got. I've got one playit.pl and one globecomice, which I'm pretty sure is correct.
      your MySQL debug log (you have to turn it on in my.cnf nowadays)

       
    • joopsiroop

      joopsiroop - 2007-09-21

      Hey, thanks for your quick reply! I really appreciate that.

      I will look into it, this Jukebox is by far the popular one here.

      Because I expected it would last for a while before getting feedback (the forum is not that busy), I installed OTTO Jukebox just to see what it does.
      It is performinf fantastically well.
      Maybe if I can't get Icecast2 to work very well with Globecomice I try to use the shout.pm module with GJukebox.

      I'm very sure I have only one instance of getnetxtmp3 an playit running.
      I killall al jukebox processes if needed before trying, and ps ax serveral times to see what is running.

      But your comment on using private queue could very well be what's the problem here. The username hack maybe not needed, I hacked both parms together and did not test seperatly.
      Seeing shout.pm working like a charm, I will start experimenting with your suggestions, and let you know.

       
  • James Byrne

    James Byrne - 2015-10-03

    I just setup the acropolis community edition from Nutanix.com. I have this juke box running on on debian wheezy (7.9). It works really well.

    I downloaded Danny's version from http://danwood.me/files/gjuke_2.3.tar.gz. I impplemented the changes in this thread and they worked.

    I noticed that after a reboot, the symptom of playit.pl going into an infinite loop, came back. I finally figured out that i needed the dummy sound driver. You can install the driver with the following command.

    modprobe snd-dummy.

    You will notice an instance of mpg123 running as follows.

    usr/bin/mpg123 -q -R dummy

    from pstree -p

    ├─playit.pl(1481)─┬─globecomice(1492)
    │ └─playmp3.pl(1847)───mpg123(1849)

    If the mpg123 dies, because no sound driver is present, playmp3.pl will quit immediately. This results in playit.pl going in a tight loop (CPU at 100%).

    I hope this helps anyone making this jukbox in a virtual environment. I have this running on KVM and I have also gotten this running on vmware.

    Danny did an awesome job tuning up the jukebox software. There is a wheezy-build script you can run on debian 7.9. Works like a charm.

     

Log in to post a comment.