[icecast] No encoder

Gregory Bouckhuyt the.dude at softhome.net
Tue Mar 5 08:50:44 UTC 2002



Hi ...

I've installed and configured icecast following the readme and manual 
but can't connect from my windows client, I get this message in the logs:
[05/Mar/2002:09:28:50] [5:Connection Handler] Kicking unknown 1 
[172.16.141.52] [No encoder], connected for 1 seconds
To test it, I've placed demo.mp3 in /usr/local/icecast/static/ and try 
http://172.16.150.253:8000/demo.mp3 with winamp
Anyone knows where the problem comes from?
Here are my conf files:

icecast.conf:

# This be a comment, I like comments.
# To use this file, copy it to etc/icecast.conf in the icecast base 
directory

################################################################################
# I suggest you read this file carefully, and don't do anything silly
# cause the configuration file parser is pretty lame.
# If not stated otherwize, you can change these while the server is
# running (through the admin console). Or by changing this file
# and using the rehash command (or (if supported) sending SIGHUP)
# Please use the admin console though, cause that's what its there for :)
################################################################################

############### Server Location and Resposible Person 
##########################
# Server meta info, please fill out these.
# They get displayed when listing directories, streams, and
# if the client supports it, among the other stream headers.
# You can put anything here, it's just for show.
###############

location Higgins
rp_email the.dude at softhome.net
server_url http://172.16.150.253/

########################### Server Limits 
######################################
# These describe the maximum number of simultaneous connections allowed.
# When reached, the server will refuse access.
# There is a builtin bandwidth measuring tool inside the icecast server,
# and when icecast thinks that it is using more than "throttle" MB/s, then
# no clients or sources will be allowed until the bandwidth usage goes back
# down below the limit. Use this with caution, since the bandwidth 
measurement
# is in no way an exact science.
###########################

max_clients 2
max_clients_per_source 2
max_sources 2
max_admins 2
throttle 10.0

########################## Stream Meta Data 
####################################
# This is a experimental feature, at best.
# When it does not work, it will put the whole stream out of synk on the 
client
# side, and you will get a big mess.
# use_meta_data controls whether this icecast server will use title 
streaming at
#               all. It's turned off by default, cause it creates chirps 
in the
#               stream if you're not careful.
# streamtitletemplate is a the template for creating the title that gets 
sent to
#                     the client and the directory server. %s will be
#                     substituted for the actual filename.
# streamurl is the default url for each stream.
# nametemplate is a template for the name of each stream.
# desctemplate is a template for the description of each stream.
##########################
use_meta_data 0
streamurllock 0
streamtitletemplate %s
streamurl http://yp.icecast.org
nametemplate %s
desctemplate %s

<p>######################## Mountpoint fallback 
###################################
# By default, if a user requests a stream that is not found, this user 
will be
# given the default stream instead. The default stream is per default 
the oldest
# stream on the server, but this can be changed with the priority value 
in the
# 'modify' command.
# If you don't want the user to get the default mount, but instead a
# HTTP 404 Stream Not Found, then set this to 0
########################

mount_fallback 1

######################### Server passwords 
#####################################
# Unless you've compiled icecast with crypt support,
# i.e with --with-crypt as an argument to the configure script,
# then these are in cleartext. If you _do_ have crypt support, then
# you have to create a crypted version of the password. You can do this
# with the included mkpasswd.c program. Just compile it with
# "gcc -o mkpasswd mkpasswd.c", perhaps with the -lcrypt option.
#########################

encoder_password hackme
admin_password hackme
oper_password hackme

######################## Directory servers 
#####################################
# A directory server is a "meta-server" where you, for free, can list
# your own icecast server. This is a great way of getting more listeners.
# The touch_freq is how often to "update" the directory server with 
information
# from your server. (e.g number of listeners, stream info, etc..)
########################

#icydir yp.shoutcast.com
#icydir yp.breakfree.com
#icydir yp.musicseek.net
#icydir yp.van-pelt.com
#icydir yp.radiostation.de
#directory yp.icecast.org
#directory yp.mp3.de
touch_freq 5

############# Server IP/port configuration (IMPORTANT) 
#########################
# If no hostname is specified, icecast will listen on all available 
interfaces,
# i.e INADDR_ANY. This is probably what you want.
# If you want icecast to _only_ listen on a specified ip, then change the
# "hostname" parameter. The "port" parameter is rather self-explanatory.
# As of icecast 1.3, all connections use port 8000. Admins, encoders, 
clients,
# the whole thing. So no more messing with 3 different ports in the firewall
# rules.
# The server_name can currently ONLY be specified here, and ONLY when 
you start
# the server. Changing it later on will not have the desired effect.
# The server_name specifies the hostname of the server, don't set it to 
an ip,
# and don't even THINK about setting it to a hostname not pointing to 
your ip.
# - WARNING - WARNING - WARNING - (important, get it?)
# It is VERY important that this server_name does actually resolv to the 
ip you
# are running your server at. If not, BAD THINGS<tm> will happen.
# E.g localhost is definately probably not what you want :)
# Using your ip will probably work.. but it will look nicer with your 
hostname.
# The problem is that if you specify something that doesn't resolve to 
yourself,
# then virtual host support will get fscked up, and default server action
# might not work either.
# Also, changing the port here will not affect the server when doing a 
'rehash'
# since binding to a port is done only once, when the server is started.
# server is started.
# Users on dialup connections with dynamic ip:s are in trouble here, I know.
# You will just have to live without the virtual hosts support, cause 
there is
# no portable way of getting all the ip:s the process is binding to. Either
# edit this file before starting icecast and fill in the current ip, or just
# live with it. Setting the value to "dynamic", will tell the icecast server
# that there is no reliable hostname for this machine.
#
# you can now use multiple ports.  the default port is the first one 
defined.
# define PORT, and PORT+1 for shoutcast compatibility.
#############

hostname 172.16.150.253

port 8000
port 8001

erver_name 172.16.150.253

####################### Directory server options 
##############################
# You can now force the directory server to use the server_name value 
instead
# of the originating ip. For most people this is unnecessary, since it 
is the
# same. But for people behind proxies, this should be very useful.
# Set it to 1 if you want to force use of the server_name variable.
#######################

force_servername 0

######################## Main Server Logfile 
##################################
# This is the file where icecast prints all the information about
# connections, warnings, errors, etc...
# You cannot change this in the admin console, but changing it here
# and then rehashing the server will work.
# logfiledebuglevel is the debugging level for all output to the main 
logfile.
# consoledebuglevel is the debugging level to the icecast console.
# accessfile is the file where all connects/disconnects goes
# usagefile is a file for periodic bandwidth and usage information goes
########################

logfile icecast.log
accessfile access.log
usagefile usage.log
logfiledebuglevel 0
consoledebuglevel 0

########################## Reverse Lookups 
####################################
# Set this to 1 if you want ip:s to be looked up (using reverse lookup)
# or 0 if you just want the ip:s (which is slightly faster)
##########################

reverse_lookups 1

############################ Console mode 
#####################################
# Use 0 if you want stdin to become a local admin console with log tailing
# Use 1 if you want stdin to become a local admin console
# Use 2 if you just want the console to become a log window
# Use 3 if you want the icecast server to be launched in the background 
(not available for Win32)
############################

console_mode 0

########################### Client Timeout 
####################################
# (How to deal with clients when no encoder is connected)
# A negative value means keep them forever
# 0 (zero) means kick them out instantly
# X > 0 means keep them X seconds
###########################

client_timeout 30

######################### Kicking clients 
#####################################
# If set to 1, then clients whose source has disconnected will
# be kicked. If set to 0, they will simply be moved to another
# stream. This only has an effect if client_timeout is <= 0.
#########################

kick_clients 0

###################### Static file directory 
##################################
# This enables the http-server file streaming support in icecast.
# If you don't want to go through the trouble of setting up apache
# or roxen or whatever, then you can just specify a directory here,
# and then http://your_server:port/file/file.mp3 will be equivalent
# to /staticdir/file.mp3
# The http server support is of course very limited, don't try to
# do anything fancy. Also, only .mp3 files will be displayed.
######################

#staticdir c:\windows\desktop
staticdir /usr/local/icecast/static

############################# Templates 
######################################
# the icecast server uses templtes to format output for list.cgi and
# various errors.  you can specify the directory that these are read from
# please use absolute paths if possible
#############################

templatedir /usr/local/icecast/templates

############################# Statistics 
######################################
# The icecast server dumps statistics to a file on a regular basis.
# You can specify how often (stats_time), and to what file (stats_log)
# StatsTime (how often to dump stats, in seconds)
# 0 (zero) means to not dump stats
# X > 0 means dump stats every X seconds to the file specified by stats_log
#############################

logdir /usr/local/icecast/logs
stats_log stats.log
statshtml_log stats.html
stats_time 60

############# Aliases (including virtual host support) 
########################
# In icecast servers prior to the 1.3 release, you could run a icecast
# server as a relay for another icecast server, simply acting as a
# client on the other server and serving the local clients. This was
# of course a neat way of increasing the number of possible listeners
# for your broadcast. You could build a tree-like structure of relays
# and broadcast to 1000 listeners without problem with the originating
# stream on a cable modem or whatever.
# In icecast 1.3.0 and above, we make this procedure much simpler.
# If you want to relay a stream from another server, simply add an
# alias for that server. Say you want to relay the broadcast originating
# from my machine (laika.linux.tm:8000/laika), on your machine, do this:
# alias laika http://laika.linux.tm:8000/laika
# What happens is that when a listeners connects to your server and
# requests the /laika stream, then your icecast server will connect
# as a client to my machine, and then feed my stream to the listener.
# All subsequent requests for /laika will use the same feed (i.e only
# one connect will be made to my machine). Icecast will automagically
# shut the link from my machine down when no one is listening. I.e
# no bandwidth will be wasted.
# The old functionality (i.e adding a more or less static relay) is still
# there, but you have to do it from the admin console. Just do
# relay pull http://laika.linux.tm:8000, and that will be accessible as
# http://your_machine:port/laika.linux.tm:8000/ (you can change this with
# the -m option to relay pull.
# There is also a possibity to do it the other way around, starting at
# the originating server. Just do "relay push <source_id> host:port", and
# your stream will be relayed to the remote server.
# In theory, this should enable virtual host support, cause you can
# specify an alias like so:
# alias http://virtual.host.com:port/whatever /something
# This will make all requests to virtual.host.com:port/whatever use the
# stream /something. This is not really thorougly tested, but it should
# work if your server_name is correctly set, and the client is sending
# the valid Host: <host:port> http header.
#############

alias radiofri http://195.7.65.207:6903

############################ Kick Relays 
######################################
# How long to keep aliased sources when no clients are left listening to it.
############################
kick_relays 10

############################ Transparent proxy 
################################
# This is somewhat equivalent to making _all_ request to aliased sources. So
# instead of adding an alias for all streams in the world, turn on the
# transparent proxy support. Using this on a server that has streams of it's
# own can be quite tricky, and then, as usual it is _very_ important that
# the server_name is correct.
# Most mp3 playing clients have support for a http proxy
# (afaik x11amp and winamp do, anyway). If listeners set your machine as 
this
# proxy, and you turn on transparent_proxy, then when a client requests
# http://whatever.com:port/whatever, then your icecast server will connect
# to whatever.com and feed the whatever-stream to the client. All subsequent
# request for this stream will use the same feed, just as if it was an 
alias.
# When running icecast with your own broadcasts, then you should turn 
this off,
# or anyone can bring your network down with a lot of relaying connects.
# Don't turn this on if you don't have a server_name set
############################
transparent_proxy 0

<p>######################## Access Control Lists 
##################################
# Perhaps you don't care who connects to your server, but I guess most 
people
# do. Icecast has 2 different ways of keeping people out. The first is using
# libwrap (tcpd, tcp wrappers, whatever you want to call it). It is a 
separate
# library written by Wietse Venema that over the years has become more 
or less
# a security standard in Unix. It should compile on every sane and 
unsane unix
# platform, and perhaps other platforms as well, I don't know.
# libwrap uses the files hosts.deny and hosts.allow, usually found in /etc
# or /usr/local/etc. You probably have to be root to edit these files.
# Try the man pages for tcpd and hosts_access for more information.
# There are 4 different icecast control thingies to use in hosts.deny/allow.
# First just "icecast", which controls _all_ connections, and kick in before
# anything is written or read on the socket. If a connection is denied here
# then it's bye bye. If it is allowed then depending on the type of the
# connection (admin/client/source), the controls "icecast_client",
# "icecast_admin", "icecast_source" describe who gets in.
# So to deny all clients except those matching *.se, add
# "icecast_client: ALL EXCEPT *.se" to hosts.deny. There are millions of
# variations on how to build a complete defence, and it's quite simple too.
# libwrap is a very powerful tool, consult the manpages for more 
information.
####
# The second way (which is always available) is using icecast's internal
# acl lists. The functionality is the same, but it is not as powerful 
when it
# comes to configuration and flexibilty as libwrap.
# You can specify acl rules either here in icecast.conf, or using the
# admin console. The syntax in icecast.conf is:
# allow <all|client|source|admin> <hostmask>
# deny <all|client|source|admin> <hostmask>
# So, using the same rule as above (allowing only clients from *.se)
# deny <client> *
# allow <client> *.se
# When using the internal acl rules, you need to specify a policy.
# This rule kick in when no allow or deny rule affects a connection.
# If you set acl_policy to 0, then connections who are not allowed by any
# allow rule will be denied, and the other way around if you set it to 1.
#########################

acl_policy 1
#deny all *
#allow all *.ryd.student.liu.se

################################################################################

users.aut:

# This is the user authentication file.
# To use this file, copy it to etc/users.aut in the icecast base directory
# The syntax is simple, one user and password per line.
# Separate the user from the password with a colon.
# The password should be in cleartext unless you've compiled
# icecast with crypt support.
# Example:
# eel:mypassword
# you:yourpassword
greg:QONJH4LT7xRZE

groups.aut:

# This is the group authentication file.
# Copy this file to etc/groups.aut in the icecast directory
# Here you list all groups and their members.
# The syntax is simple, one group with all its members on one line.
# Separate the group name from the users with a colon, and the users
# with commas.
# Example:
# all:him,her,it,me,you,they,and,we
# enterprise:spock,kirk,mccoy,uhura,scott,chekov
all:greg

mounts.aut:

# This is the mount authentication file.
# To use this file, copy it to etc/mounts.aut in the icecast base directory
# You specify which group(s) have access to which mountpoints
# Groups are specified in the groups.aut file.
# Note that you CANNOT specify users, only groups
# Separate the mountpoint from the groups with a colon, and the
# groups with commas
# Example:
# /monkey:enterprise,bandcamp
# There are two special keywords, "all" and "rest", if you specify
# "all" as the mountpoint (without slash), all other mountpoint
# authorization lines are ignored and only the groups specified
# on the "all" line are used.
# The mountpoints /admin and /oper specify which users and groups can
# use the WWW admin interface command, and operator commands. Don't
# remove these, or anyone will have full access to the server.
# The groups specified on the "rest" line are used to authorize
# the mountpoint for which there are no lines.
# Note that you DO NOT have to specifiy "rest" or "all". In fact
# I suspect most people will not want this feature.
# Example:
# /reggae:reggaegroup,bandcamp
# rest:enterprise
/admin:greg
/oper:greg
all:greg

<p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Icecast mailing list