Transitioning to 1.6 for our local LP-FM
  • Hi,

    Hoping I can get some of the Sourcefabric folks on here.

    We run an WGOT-LP 94.7FM in Gainesville, FL and have been using campcaster 1.2 since we started broadcasting back in Jan '08. Campcaster has served us well but we need to upgrade to Airtime as CC is showing its age. Once we have Airtime 1.6 running on a new system we're prepping, we're going to switch it out with the current broadcast computer.

    We have a unique setup in that we don't yet have a proper studio so everything is done remotely (which is why campcaster has been ideal for us). All our DJs record their shows and then we use dropbox to synchronize uploads; the schedulers (we have 2-4 of them) have access to campcaster and they then set up the schedule according to our programming.

    I have a few questions:

    1. Getting audio out of the soundcard.

    Audio is working fine with other apps but I can't seem to be getting audio out of Airtime. According to

    http://wiki.sourcefabric.org/display/CC/Installing+Airtime+% 28v1.6%29

    to listen to audio we need to run

    mplayer http://localhost:8000/airtime.mp3

    Is this really the only way to handle it? We normally don't have a user logged into the PC as it is sitting in a shack at the tower with the rest of the broadcast equipment.

    Regardless, even if I try to run that command, I get 404 error from the server. Looking at the /var/log/icecast2/error.log, I see that it's actively checking for listeners:

    [2011-02-20 13:58:17] INFO connection/_handle_source_request Source logging in at mountpoint "/airtime.mp3"
    [2011-02-20 13:58:17] INFO source/get_next_buffer End of Stream /airtime.mp3
    [2011-02-20 13:58:17] INFO source/source_main listener count on /airtime.mp3 now 0
    [2011-02-20 13:58:17] INFO source/source_shutdown Source "/airtime.mp3" exiting

    However, when I try to connect, it throws:

    [2011-02-20 17:54:50] INFO fserve/fserve_client_create checking for file /airtime.mp3 (/usr/share/icecast2/web/airtime.mp3)
    [2011-02-20 17:54:50] WARN fserve/fserve_client_create req for file "/usr/share/icecast2/web/airtime.mp3" No such file or directory

    I'm pretty sure I followed all the steps and also rebooted the system but this was a system on which I'd been trying to get Campcaster 1.4 running so perhaps something in the install didn't get correctly set. Any input would be greatly appreciated.

    2. This is not so important for us as we use dropbox along with the import script to handle uploads however, I can't seem to upload files over the web interface. The apache2 error logs report the following continuously as the web interface tries to redo the upload over and over again:

    [Sun Feb 20 15:22:15 2011] [error] [client 10.0.1.5] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 86499732 bytes) in Unknown on line 0, referer: http://tower2.local/Plupload/plupload
    [Sun Feb 20 15:22:16 2011] [notice] child pid 24053 exit signal Segmentation fault (11)

    BTW, the size limits in php.ini are set to 150MB and the file I'm trying to upload is 82MB.

    3. Can't right-click from Safari (at least on Mac).

    I can't seem to right-click to add content to a show and I know at least 1 of our schedulers will be using a Mac. This seems to be working from Firefox so it won't be a problem to get them switched however, just thought you should know in case other people bring it up.

    Thank you for any feedback on this. We really appreciate all the hard work.

    -e
  • 16 Comments sorted by
  • Vote Up0Vote Down Daniel JamesDaniel James
    Posts: 844Member, Sourcefabric Team
    Hi Ed,

    > to listen to audio we need to run
    >
    > mplayer http://localhost:8000/airtime.mp3
    >
    > Is this really the only way to handle it?

    The default setting is that Airtime outputs to an Icecast server on the
    same machine (localhost). For an FM station where the Airtime machine is
    at the tower, I guess you want to output direct to a soundcard, and then
    on to your stereo encoder etc. Liquidsoap has an option output.alsa that
    should do what you need; this will be documented shortly.

    > [2011-02-20 17:54:50] WARN fserve/fserve_client_create req for file
    > "/usr/share/icecast2/web/airtime.mp3" No such file or directory

    What does your Icecast status page on port 8000 say? e.g.
    http://tower2.local:8000/

    > [Sun Feb 20 15:22:15 2011] [error] [client 10.0.1.5] PHP Fatal error:
    > Allowed memory size of 134217728 bytes exhausted (tried to allocate
    > 86499732 bytes) in Unknown on line 0, referer:
    > http://tower2.local/Plupload/plupload
    > [Sun Feb 20 15:22:16 2011] [notice] child pid 24053 exit signal
    > Segmentation fault (11)
    >
    > BTW, the size limits in php.ini are set to 150MB and the file I'm trying
    > to upload is 82MB.

    134217728 bytes is 128MB rather than 150MB, so perhaps your intended PHP
    settings aren't being applied. Even so, this should work - are you
    uploading multiple files at once perhaps?

    > I can't seem to right-click to add content to a show and I know at least
    > 1 of our schedulers will be using a Mac.

    Does the Mac have a two-button mouse, or are you doing a click and hold,
    to emulate a right button?

    Cheers!

    Daniel
  • (Can one reply via email? Guess I'll find out) :)

    On Feb 21, 2011, at 12:04 PM, Daniel James wrote:
    > The default setting is that Airtime outputs to an Icecast server on the
    > same machine (localhost). For an FM station where the Airtime machine is
    > at the tower, I guess you want to output direct to a soundcard, and then
    > on to your stereo encoder etc. Liquidsoap has an option output.alsa that
    > should do what you need; this will be documented shortly.

    Great. Thank you.

    > What does your Icecast status page on port 8000 say? e.g.
    > http://tower2.local:8000/

    I get an Icecast status page:

    http://dl.dropbox.com/u/540179/airtime/icecast_status.png

    I just saw some other comments about problems on 32-bit systems; could this be related to that?

    > 134217728 bytes is 128MB rather than 150MB, so perhaps your intended PHP
    > settings aren't being applied. Even so, this should work - are you
    > uploading multiple files at once perhaps?

    I originally had it to 100MB as per the wiki (and our original campcaster install). I've tried uploading files from ~28MB to ~80MB and they all have the same problem. I've restarted the apache server several times for various other reasons (removing the default site-enabled, etc.) and have also rebooted the computer a couple of times since. Is there any other reason you could think the apache2/php.ini settings would not be getting applie?

    > Does the Mac have a two-button mouse, or are you doing a click and hold,
    > to emulate a right button?

    I'm trying with control-click. It works fine on Firefox and also worked fine on campcaster with both firefox and safari, if that helps.

    -e
    --
    Ed Porras
    http://www.digressed.net/

  • > > [Sun Feb 20 15:22:15 2011] [error] [client 10.0.1.5] PHP Fatal error:
    > > Allowed memory size of 134217728 bytes exhausted (tried to allocate
    > > 86499732 bytes) in Unknown on line 0, referer:
    > > http://tower2.local/Plupload/plupload
    > > [Sun Feb 20 15:22:16 2011] [notice] child pid 24053 exit signal
    > > Segmentation fault (11)
    > >
    > > BTW, the size limits in php.ini are set to 150MB and the file I'm trying
    > > to upload is 82MB.

    Hi Daniel,

    I stand corrected: I thought I'd seen the 27MB file fail but it didn't. At least not today when I retried it:

    http://dl.dropbox.com/u/540179/airtime/airtime_upload.mp4

    So now I'm thinking this has to do more with the memory_limit php value which, what do you know, it's set to... 128M.

    Ugh. So, what's odd is that the current broadcast computer has this value set to 8M (!!) so obviously we didn't mess with that before. Any reason why you think this is suddenly a problem?

    I'll play with increasing this value a bit more to support our 1-hour programs.

    -e
    --
    Ed Porras
    http://www.digressed.net/

  • > [Sun Feb 20 15:22:15 2011] [error] [client 10.0.1.5] PHP Fatal error:
    > Allowed memory size of 134217728 bytes exhausted (tried to allocate
    > 86499732 bytes) in Unknown on line 0, referer:
    > http://tower2.local/Plupload/plupload

    So if I actually took the time to read the above error log Smile this actually doesn't seem to make sense. It's reporting the correct amount of memory given to php as 128M but it's stating that it's not able to allocate the amount equivalent to the file size (82.5MB).

    As if that wasn't enough excitement, the problem is on line 0 of Unknown. Will the universe swallow itself next? One can only hope not.

    Help me, Obi Wan Kenobi; you're my only hope.
  • Vote Up0Vote Down Andrey PodshivalovAndrey Podshivalov
    Posts: 1,526Member, Administrator, Sourcefabric Team
    hi,

    you should change memory_limit in the /etc/php5/apache2/php.ini file then restart apache

    try memory_limit = 256M

  • I tried up to 200M so I'll try this next. However, just saw another post stating the minimum system requirements as 512MB ram. Should this be higher then?

    Our system currently has 512MB but I'm planning on upgrading that once we've confirmed everything is working well with the hardware.

    Thanks,

    -e
    --
    Mobile Ed

    On Feb 21, 2011, at 4:28 PM, Andrey Podshivalov <airtime-support@lists.sourcefabric.org> wrote:

    >
    > hi,
    >
    > you should change memory_limit in the /etc/php5/apache2/php.ini file then restart apache
    >
    > try memory_limit = 256M
    >
    >

  • Hi Ed,

    Regarding problem #1 in your original post.

    Please provide us with /etc/service/pypo-liquidsoap/log/main/current and I will try to troubleshoot your issue.
    Airtime Pro Hosting: http://airtime.pro
  • Hi Martin,

    Here's the full log:

    http://dl.dropbox.com/u/540179/airtime/pypo-ls.log

    Thanks.
  • Hi Andrey,

    Got the uploads to work with memory_limit = 256M.

    Thank you.
  • Hi Ed,

    It looks like liquidsoap cannot access your soundcard.

    Can you try running

    /opt/pypo/bin/liquidsoap/liquidsoap 'out(sine())'

    and confirm if you can hear anything?

    Airtime Pro Hosting: http://airtime.pro
  • Ed,

    Please try the following steps to ensure you liquidsoap is communicating correctly with your soundcard.

    http://forum.sourcefabric.org/index.php/mv/msg/3369/9457/#ms g_9457
    Airtime Pro Hosting: http://airtime.pro
  • Thanks, Martin. I'll give it a shot on Saturday and will report back.

    -e
    --
    Mobile Ed

    On Feb 24, 2011, at 11:35 PM, Martin Konecny <airtime-support@lists.sourcefabric.org> wrote:

    >
    > Ed,
    >
    > Please try the following steps to ensure you liquidsoap is communicating correctly with your soundcard.
    >
    > http://forum.sourcefabric.org/index.php/mv/msg/3369/9457/#ms g_9457
    >

  • Hi Martin,

    I was getting an error when trying to run the command with the sine() argument. I saw somewhere that there was a problem with liquidsoap on 32-bit systems and that we should compile it from source. I also noticed there was a 1.6.1 release.

    Thus, I uninstalled 1.6.0, installed 1.6.1 and then grabbed liquidsoap from svn as instructed on another thread. For some reason, my users were no longer on the audio group so I readded them and now I get the sine wave.

    I then scheduled a show and I'm able to listen to it via mplayer / vlc but I was expecting it to be sending it directly to the soundcard since alsa support was built in. I need to run so I can't look but I imagine there's discussion on how to do this in one of the threads but, if not, could you point me to it? I'll take a look tomorrow otherwise.

    One other thing: how should I manage updates with a separate build of liquidsoap? And should I switch to git for updating airtime?

    I'm going to be setting this up as a month-trial for our schedulers to get familiar with it. Plus I need to configure auto-import of files from dropbox, etc.

    Thanks for all the help
  • Ed,

    One of this issues we noticed with 1.6.0 is that a lot of people did not have a sound device and therefore Airtime and Liquidsoap refused to start-up.

    For 1.6.1 we have disabled ALSA output by default. You may enable it my changing

    output_sound_device = false


    to


    output_sound_device = true


    in

    airtime/pypo/scripts/ls_config.liq



    The official announcement for 1.6.1 will be Monday, so we should have the wiki updated by then.
    Airtime Pro Hosting: http://airtime.pro
  • Hi all,

    I've got both local audio from the soundcard and the icecast stream working. A few observations:

    I. I tried following the instructions to run the server on a different port (1000) but could never get audio so I must be missing something. I modified:

    1. ./application/configs/conf.php

    and changed both instances of 80 to 1000.

    2. ./pypo/config.cfg

    and updated base_url to "http://localhost:1000/"

    3. /etc/apache2/ports.conf

    and now have two Listen directives:

    Listen 80
    Listen 1000

    4. /etc/apache2/sites-available/airtime

    and changed the virtual host to:

    <VirtualHost *:1000>

    I re-installed airtime, restarted the PC.. nothing. We're assigned port 1000 externally so we don't really have the option to run on 80.

    II. Moving location of the storage archive.

    I would prefer to keep the file stor on /opt but it's currently set up to stay in my home directory. I looked at application/configs/conf.php and see this:

    'baseFilesDir' => __DIR__."/../../files",

    but the problem is none of the subsequent variables use this directive but rather continue using "../../files" for the path:

    'storageDir' => __DIR__.'/../../files/stor',
    'bufferDir' => __DIR__.'/../../files/stor/buffer',
    'transDir' => __DIR__.'/../../files/trans',

    Could you modify this to allow relocation? I realize I could just extract the airtime files to /opt but I'd rather start keeping files separate when it comes to runtime-files vs. install packages. Plus there's also file ownership, etc.

    III. How do you envision upgrades being handled?

    Running airtime-uninstall.php is not optimal as the database gets wiped out every time.

    IV. Twitter integration?

    The install scripts seem to be broken now. Any plans to get that back in?

    I'll be traveling most of next week but will have remote access to the computer to test things. Plus, I'm now ready to provide access to the schedulers so they can start playing with it.

    Thank you for everything. We're really looking forward to the switch.
  • Ed,

    -I will get back to you on how to change the port.

    -Regarding the storage archive, this has now been fixed in the latest nightly. You should be able to specify any folder to store your audio.

    -Upgrades will be managed with a database migration tool. This is actually my top priority for the next release

    -I created a ticket for fixing twitter integration. Not sure what release we will have this ready for though.

    Thanks for the feedback Smile
    Airtime Pro Hosting: http://airtime.pro