2

I have setup icecast 2 server and mpd too.

Both are working fine individually but icecast doesn't show the mpd in the mount list.

Here is my mpd.conf

# See: /usr/share/doc/mpd/mpdconf.example

user "ayush"
pid_file "~/.mpd/mpd.pid"
db_file "~/.mpd/mpd.db"
state_file "~/.mpd/mpdstate"
log_file "~/.mpd/mpd.log"
playlist_directory "~/.mpd/playlists"
music_directory "~/Music"

audio_output {
    type        "shout"
    encoding     "ogg"
    name        "stream"
    host        "localhost"
    port        "8000"
    mount   "/mpd.ogg"
    bind_to_address "127.0.0.1"

# This is the source password in icecast.xml
    password    "pass"

# Set either quality or bit rate
#   quality     "5.0"
    bitrate     "128"

    format      "44100:16:2"

# Optional Parameters
    user        "source"
#   description "here is my long description"
#   genre       "jazz"
} # end of audio_output

# Need this so that mpd still works if icecast is not running
audio_output {
    type "alsa"
    name "fake out"
    driver "null"
}

Also here is the output of my netstat

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      315/sshd            
tcp        0      0 0.0.0.0:17500           0.0.0.0:*               LISTEN      651/dropbox         
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      8006/icecast        
tcp        0      0 0.0.0.0:16001           0.0.0.0:*               LISTEN      1211/pulseaudio     
tcp        0      0 0.0.0.0:57253           0.0.0.0:*               LISTEN      1211/pulseaudio     
tcp        0      0 0.0.0.0:60421           0.0.0.0:*               LISTEN      1211/pulseaudio     
tcp        0      0 0.0.0.0:4713            0.0.0.0:*               LISTEN      1211/pulseaudio     
tcp6       0      0 :::22                   :::*                    LISTEN      315/sshd            
tcp6       0      0 :::16001                :::*                    LISTEN      1211/pulseaudio     
tcp6       0      0 :::36418                :::*                    LISTEN      1211/pulseaudio     
tcp6       0      0 :::32899                :::*                    LISTEN      1211/pulseaudio     
tcp6       0      0 :::6600                 :::*                    LISTEN      8046/mpd            
tcp6       0      0 :::4713                 :::*                    LISTEN      1211/pulseaudio 

My guess is that because mpd is not listening on ipv4 icecast is not able to see the mount point.

But I also don't understand why it doesn;t listen on ipv4 when I have explicitly used bind_to_address option.

Can someone please tell me how to make icecast see the mpd mountpoint. Thanks

ayush1794
  • 101
  • 1
  • 7

2 Answers2

1

I was having the same issue and it seemed to stem from the setting bitrate "128" in mpd.conf. I was able to get the mountpoint to show up when I used quality "5.0".

I also tried bitrate "320" which did not work either, however I was able to see the mount with quality "10.0" as well. From this it seems that only the quality setting works.

I am not entirely sure, but I believe this stems from the way Vorbis is encoded. It seems like the encoders accept flags for quality in the form of -q {quality} where {quality} is any value from 0.0 to 10.0 (including factional values).

Sources:

treePhase
  • 11
  • 1
0

I don't any problems connecting to icecast using the same settings, the only difference I see is the bind_to_address. This is used for connecting mpd clients if I'm not mistaken and not for the streaming server. It doesn't belong under audio_output. Also, is there something in the MPD logs?

Stratos Ion
  • 504
  • 3
  • 18