× Warning! This forum is in archival status. New contributions may not work.
Airtime fine - IceCast fine - but stream sound?
  • Everything appears to checkout fine:

    root@vps[/email]:~# sudo airtime-check-system
    CPU = Intel(R) Xeon(R) CPU X3450 @ 2.67GHz
    Total RAM = 524288 kB
    Free RAM = 107372 kB
    OS = Ubuntu 10.04.2 LTS Intel 80386
    AIRTIME_CONFIG_FILES = OK
    POSTGRESQL_DATABASE = OK
    PYTHON_KOMBU_VERSION = 1.1.6
    PYTHON_POSTER_VERSION = 0.8.1
    RABBITMQ_SERVER = OK
    AIRTIME_VERSION_URL = http://localhost:80/api/version/api_key/%%api_key%%
    APACHE_CONFIGURED = YES
    AIRTIME_VERSION = 1.8.2
    PLAYOUT_ENGINE_PROCESS_ID = 6072
    PLAYOUT_ENGINE_RUNNING_SECONDS = 609
    LIQUIDSOAP_PROCESS_ID = 5568
    LIQUIDSOAP_RUNNING_SECONDS = 615
    ICECAST_PROCESS_ID = 5836


    Front end is up and running
    http://69.90.148.151/login


    IceCast2 appears to be mounted and connected:
    http://69.90.148.151:8000/


    But not getting any sound on the streams:

    http://69.90.148.151:8000/airtime.mp3.m3u
    http://69.90.148.151:8000/airtime.ogg.m3u



  • 5 Comments sorted by
  • Pypo log is below.

    Does the inability to detect the Airtime version impact this?

    @400000004dfc14be18d54eb4 2011-06-18 07:00:04,408 ERROR - [api_client.py : __get_airtime_version() : line 172] - Unable to detect Airtime Version - [Errno socket error] [Errno 111]

    API URL reads:

    {"version":"1.8.2"}

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    400000004dfc14be1259ea04 *** Daemontools: starting daemon
    @400000004dfc14be18d5141c ###########################################
    @400000004dfc14be18d51bec # *** pypo *** #
    @400000004dfc14be18d51bec # Liquidsoap Scheduled Playout System #
    @400000004dfc14be18d51fd4 ###########################################
    @400000004dfc14be18d523bc 2011-06-18 07:00:04,406 DEBUG - [cue_file.py : __init__() : line 20] - init
    @400000004dfc14be18d527a4 2011-06-18 07:00:04,406 DEBUG - [api_client.py : __get_airtime_version() : line 143] - Trying to contact http://69.90.148.151:80/api/version/api_key/%%api_key%%
    @400000004dfc14be18d54eb4 2011-06-18 07:00:04,408 ERROR - [api_client.py : __get_airtime_version() : line 172] - Unable to detect Airtime Version - [Errno socket error] [Errno 111] Connection refused, Response: None
    @400000004dfc14be18d5529c Unable to get Airtime version number.
    @400000004dfc14be18d55684
    @400000004dfc14bf130e884c *** Daemontools: starting daemon
    @400000004dfc14bf19318bfc ###########################################
    @400000004dfc14bf193193cc # *** pypo *** #
    @400000004dfc14bf193197b4 # Liquidsoap Scheduled Playout System #
    @400000004dfc14bf193197b4 ###########################################
    @400000004dfc14bf19346674 2011-06-18 07:00:05,422 DEBUG - [cue_file.py : __init__() : line 20] - init
    @400000004dfc14bf1944028c 2011-06-18 07:00:05,423 DEBUG - [api_client.py : __get_airtime_version() : line 143] - Trying to contact http://69.90.148.151:80/api/version/api_key/%%api_key%%
    @400000004dfc14bf19577704 2011-06-18 07:00:05,425 ERROR - [api_client.py : __get_airtime_version() : line 172] - Unable to detect Airtime Version - [Errno socket error] [Errno 111] Connection refused, Response: None
    @400000004dfc14bf195f3764 Unable to get Airtime version number.
    @400000004dfc14bf195f3f34
    @400000004dfc14c0144e3c0c *** Daemontools: starting daemon
    @400000004dfc14c01a1c9fac ###########################################
    @400000004dfc14c01a1ca77c # *** pypo *** #
    @400000004dfc14c01a1ce5fc # Liquidsoap Scheduled Playout System #
    @400000004dfc14c01a1ce9e4 ###########################################
    @400000004dfc14c01a1f9964 2011-06-18 07:00:06,438 DEBUG - [cue_file.py : __init__() : line 20] - init
    @400000004dfc14c01a22643c 2011-06-18 07:00:06,438 DEBUG - [api_client.py : __get_airtime_version() : line 143] - Trying to contact http://69.90.148.151:80/api/version/api_key/%%api_key%%
    @400000004dfc14c01a39091c 2011-06-18 07:00:06,439 ERROR - [api_client.py : __get_airtime_version() : line 172] - Unable to detect Airtime Version - [Errno socket error] [Errno 111] Connection refused, Response: None
    @400000004dfc14c01a39479c Unable to get Airtime version number.
    @400000004dfc14c01a395f0c
    @400000004dfc14c1158b8a84 *** Daemontools: starting daemon
    @400000004dfc14c11be8b104 ###########################################
    @400000004dfc14c11be8c48c # *** pypo *** #
    @400000004dfc14c11be8c874 # Liquidsoap Scheduled Playout System #
    @400000004dfc14c11be8cc5c ###########################################
    @400000004dfc14c11beb7fc4 2011-06-18 07:00:07,468 DEBUG - [cue_file.py : __init__() : line 20] - init
    @400000004dfc14c11bed603c 2011-06-18 07:00:07,468 DEBUG - [api_client.py : __get_airtime_version() : line 143] - Trying to contact http://69.90.148.151:80/api/version/api_key/%%api_key%%
    @400000004dfc14c11c01d29c 2011-06-18 07:00:07,469 ERROR - [api_client.py : __get_airtime_version() : line 172] - Unable to detect Airtime Version - [Errno socket error] [Errno 111] Connection refused, Response: None
    @400000004dfc14c11c021cd4 Unable to get Airtime version number.
    @400000004dfc14c42963ae24 Airtime version: 1.8.2
    @400000004dfc14c42963d91c pypo is at version 1.8.2 and is compatible with this version of Airtime.
    @400000004dfc14c42963dd04
    @400000004dfc14c4296701b4 2011-06-18 07:00:10,694 DEBUG - [cue_file.py : __init__() : line 20] - init
    @400000004dfc14c4296b438c 2011-06-18 07:00:10,694 DEBUG - [cue_file.py : __init__() : line 20] - init
    @400000004dfc14c4296caed4 2011-06-18 07:00:10,694 INFO - [pypofetch.py : __init__() : line 64] - Initializing RabbitMQ stuff
    @400000004dfc14c429b0fb34 2011-06-18 07:00:10,699 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc14c429e1949c 2011-06-18 07:00:10,701 DEBUG - [pypopush.py : push() : line 135] - Notifying Liquidsoap to stop playback.
    @400000004dfc14c42a3b3dbc 2011-06-18 07:00:10,708 DEBUG - [connection.py : _start() : line 648] - Start from server, version: 8.0, properties: {u'platform': 'Erlang/OTP', u'product': 'RabbitMQ', u'version': '1.7.2', u'copyright$
    @400000004dfc14c42cad04f4 2011-06-18 07:00:10,749 DEBUG - [connection.py : _open_ok() : line 494] - Open OK! known_hosts [vps.radio4life.com:5672]
    @400000004dfc14c42caf8594 2011-06-18 07:00:10,749 DEBUG - [channel.py : __init__() : line 70] - using channel_id: 1
    @400000004dfc14c42cb83824 2011-06-18 07:00:10,750 DEBUG - [channel.py : _open_ok() : line 484] - Channel open
    @400000004dfc14c42cd2b564 2011-06-18 07:00:10,751 INFO - [pypofetch.py : __init__() : line 73] - PypoFetch: init complete
    @400000004dfc14c42cd666b4 2011-06-18 07:00:10,752 INFO - [api_client.py : get_schedule() : line 219] - Fetching schedule from http://69.90.148.151:80/api/schedule/api_key/%%api_key%%
    @400000004dfc14c43750c24c 2011-06-18 07:00:10,927 DEBUG - [pypofetch.py : prepare_playlists() : line 151] - Schedule is empty.
    @400000004dfc14c437a0fd5c 2011-06-18 07:00:10,933 INFO - [pypofetch.py : run() : line 348] - Bootstrap complete: got initial copy of the schedule
    @400000004dfc14c437a2745c 2011-06-18 07:00:10,933 INFO - [pypofetch.py : run() : line 352] - Loop #1
    @400000004dfc14c62a732a24 2011-06-18 07:00:12,711 DEBUG - [pypopush.py : push() : line 72] - Received data from pypo-fetch
    @400000004dfc14c62a7335dc 2011-06-18 07:00:12,711 DEBUG - [pypopush.py : push() : line 76] - schedule []
    @400000004dfc14c62a7339c4 2011-06-18 07:00:12,712 DEBUG - [pypopush.py : push() : line 77] - playlists {}
    @400000004dfc14e22c59ff0c 2011-06-18 07:00:40,743 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc15002c7c447c 2011-06-18 07:01:10,746 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc151e2c9c20bc 2011-06-18 07:01:40,748 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc153c2cbcfecc 2011-06-18 07:02:10,750 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc155a2cc0331c 2011-06-18 07:02:40,750 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc15782cc1e89c 2011-06-18 07:03:10,750 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc15962cd44ba4 2011-06-18 07:03:40,751 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc15b42cd610c4 2011-06-18 07:04:10,752 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc15d22ce7143c 2011-06-18 07:04:40,753 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc15f02ce9bbec 2011-06-18 07:05:10,753 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc160e2cfb1554 2011-06-18 07:05:40,754 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc162c2d0bf5a4 2011-06-18 07:06:10,755 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc164a2d0f35ac 2011-06-18 07:06:40,755 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc16682d21082c 2011-06-18 07:07:10,756 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc16862d235604 2011-06-18 07:07:40,757 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc16a42d25a3dc 2011-06-18 07:08:10,757 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc16c22d280924 2011-06-18 07:08:40,757 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc16e02d392fc4 2011-06-18 07:09:10,758 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc16fe2d3b52a4 2011-06-18 07:09:40,758 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc171c2d3dc3a4 2011-06-18 07:10:10,758 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc173a2d3fb7a4 2011-06-18 07:10:40,759 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc17582d42539c 2011-06-18 07:11:10,759 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc17762d544d2c 2011-06-18 07:11:40,760 INFO - [pypopush.py : run() : line 234] - heartbeat
    @400000004dfc17942d560a7c 2011-06-18 07:12:10,760 INFO - [pypopush.py : run() : line 234] - heartbeat

  • Please remove username/password/apikey from your previous messagges !!! It's not safe to post those information here!

    please post here your /etc/airtime configuration files...

  • Here are the /etc/airtime/ config files

    Note: the apache.vhost.tpl file was empty


    airtime.conf

    [database]
    host = localhost
    dbname = airtime
    dbuser = airtime
    dbpass = airtime

    [rabbitmq]
    host = 127.0.0.1
    port = 5672
    user = guest
    password = guest
    vhost = /

    [general]
    api_key = ------------------- (redacted this)
    web_server_user = www-data
    airtime_dir = /var/www/airtime
    base_files_dir = /srv/airtime
    base_url = localhost
    base_port = 80

    [soundcloud]
    connection_retries = 3
    time_between_retries = 60


    - - - - - - - - - - - - -

    liquidsoap.cfg

    ###########################################
    # liquidsoap config file #
    ###########################################


    ###########################################
    # general settings #
    ###########################################

    log_file = "/var/log/airtime/pypo-liquidsoap/<script>.log"
    log_level = 3

    ###########################################
    # stream settings #
    ###########################################
    icecast_host = "127.0.0.1"
    icecast_port = 8000
    icecast_pass = "hackme"

    ###########################################
    # webstream mountpoint names #
    ###########################################
    mount_point_mp3 = "airtime.mp3"
    mount_point_vorbis = "airtime.ogg"

    ###########################################
    # webstream metadata settings #
    ###########################################
    icecast_url = "http://airtime.sourcefabric.org"
    icecast_description = "Airtime Radio!"
    icecast_genre = "genre"

    ###########################################
    #liquidsoap output settings #
    ###########################################
    output_sound_device = false
    output_icecast_vorbis = true
    output_icecast_mp3 = true


    #audio stream metadata for vorbis/ogg is disabled by default
    #due to a large number of client media players that disconnect
    #when the metadata changes to that of a new track. Some versions of
    #mplayer and VLC have this problem. Enable this option at your
    #own risk!
    output_icecast_vorbis_metadata = false


    pypo.cfg


    ###########################################
    # pypo - configuration #
    ############################################

    # Set the type of client you are using.
    # Currently supported types:
    # 1) "obp" = Open Broadcast Platform
    # 2) "airtime"
    #
    api_client = "airtime"

    ############################################
    # Cache Directories #
    # *include* trailing slash !! #
    ############################################
    cache_dir = '/var/tmp/airtime/pypo/cache/'
    file_dir = '/var/tmp/airtime/pypo/files/'
    tmp_dir = '/var/tmp/airtime/pypo/tmp/'

    ############################################
    # Setup Directories #
    # Do *not* include trailing slash !! #
    ############################################
    cache_base_dir = '/var/tmp/airtime/pypo'
    bin_dir = '/usr/lib/airtime/pypo'
    log_base_dir = '/var/log/airtime'
    pypo_log_dir = '/var/log/airtime/pypo'
    liquidsoap_log_dir = '/var/log/airtime/pypo-liquidsoap'

    # Hostname
    base_url = 'localhost'
    base_port = 80

    ############################################
    # Liquidsoap settings #
    ############################################
    ls_host = '127.0.0.1'
    ls_port = '1234'

    ############################################
    # RabbitMQ settings #
    ############################################
    rabbitmq_host = 'localhost'
    rabbitmq_user = 'guest'
    rabbitmq_password = 'guest'

    ############################################
    # pypo preferences #
    ############################################
    prepare_ahead = 24 #in hours
    cache_for = 24 #how long to hold the cache, in hours

    # Poll interval in seconds.
    #
    # This will rarely need to be changed because any schedule changes are
    # automatically sent to pypo immediately.
    #
    # This is how often the poll script downloads new schedules and files from the
    # server in the event that no changes are made to the schedule.
    #
    poll_interval = 3600 # in seconds.


    # Push interval in seconds.
    #
    # This is how often the push script checks whether it has something new to
    # push to liquidsoap.
    #
    # It's hard to imagine a situation where this should be more than 1 second.
    #
    push_interval = 1 # in seconds

    # 'pre' or 'otf'. 'pre' cues while playlist preparation
    # while 'otf' (on the fly) cues while loading into ls
    # (needs the post_processor patch)
    cue_style = 'pre'


    ############################################################ ####################
    # Uncomment *one of the sets* of values from the API clients below, and comment
    # out all the others.
    ############################################################ ####################

    #####################
    # Airtime Config #
    #####################
    # Value needed to access the API
    api_key = 'TU3093CV88AW7WNG6255'

    # Path to the base of the API
    api_base = 'api'

    # URL to get the version number of the server API
    version_url = 'version/api_key/%%api_key%%'

    # Schedule export path.
    # %%from%% - starting date/time in the form YYYY-MM-DD-hh-mm
    # %%to%% - starting date/time in the form YYYY-MM-DD-hh-mm
    export_url = 'schedule/api_key/%%api_key%%'

    get_media_url = 'get-media/file/%%file%%/api_key/%%api_key%%'

    # Update whether a schedule group has begun playing.
    update_item_url = 'notify-schedule-group-play/api_key/%%api_key%%/schedule_id/ %%schedule_id%%'

    # Update whether an audio clip is currently playing.
    update_start_playing_url = 'notify-media-item-start-play/api_key/%%api_key%%/media_id/% %media_id%%/schedule_id/%%schedule_id%%'

    # ???
    generate_range_url = 'generate_range_dp.php'


    ##############
    # OBP config #
    ##############
    # Value needed to access the API
    #api_key = 'AAA'

    #base_url = 'http://localhost/'

    # Path to the base of the API
    #api_base = ''

    # URL to get the version number of the server API
    #version_url = 'api/pypo/status/json'

    # Schedule export path.
    # %%from%% - starting date/time in the form YYYY-MM-DD-hh-mm
    # %%to%% - starting date/time in the form YYYY-MM-DD-hh-mm# Update whether an item has been played.
    #update_item_url = 'api/pypo/update_shedueled_item/$$item_id%%?played=%%played% %'

    # Update whether an item is currently playing.
    #update_start_playing_url = 'api/pypo/mod/medialibrary/?playlist_type=%%playlist_type%%& amp;export_source=%%export_source%%&media_id=%%media_id% %&playlist_id=%%playlist_id%%&tran$

    # ???
    #generate_range_url = 'api/pypo/generate_range_dp/'








  • Hi!,

    I tried accessing your server and everything looks fine. Looks like you need to access the URLs sans the .m3u suffix.

    http://69.90.148.151:8000/airtime.mp3
    http://69.90.148.151:8000/airtime.ogg
    Airtime Pro Hosting: http://airtime.pro
  • Odd ... OnAir light was not lighting before but now is ... didn't make any changes ... all is well - great!