# cd /usr/ports/audio/icecast # make clean # make install
# cd /usr/ports/audio/shout # make clean # make install
# cd /usr/local/etc/icecast/conf/ # cp icecast.conf.dist icecast.conf # cp mounts.aut.dist mounts.aut # cp users.aut.dist users.aut # cp groups.aut.dist groups.aut
################################## # icecast.conf # ################################## # Definindo a sua localização fisica location "São Paulo - Brasil" # Definindo o e-mail do responsável pelo servidor rp_email webmaster@fugspbr.org # Definindo a url do servidor server_url http://icecast.fugspbr.org ################################## # Limites # ################################## # Definindo o numero maximo de conexões simultaneas # permitidas no servidor (clients+source+admin+oper) max_clients 10 # Definindo o numero maximo de clientes simultaneos # que cada source pode ter. max_clients_per_source 2 # Definindo o numero maximo de sources simultaneos # permitidos, se vc vai fazer stream de 5 generos # de musica vc precisa de 1 source para cada. max_sources 5 # Define o numero maximo de aministradores que podem # se conectar simultaneamente ao servidor max_admins 2 # Define a banda maxima que pode ser consumida em MB/s # pelo icecast (source+clients). Se essa banda for # ultrapassada, nao sera permitida nenhuma nova conexão # ate que a utilização diminua a baixo deste limite. throttle 1.0 ################################## # Limites # ################################## # Define se o servidor irá ou não utilizar title streaming. # Recomendo deixar desabilitado. use_meta_data 0 streamurllock 0 # Define o template de titulo a ser enviado ao cliente, no # caso abaixo o %s sera substituido pelo nome do arquivo atual. streamtitletemplate %s # Define o template para o nome de cada stream nametemplate %s # Define o template para a descrição de cada stream desctemplate %s # Define a url default de cada stream streamurl http://icecast.fugspbr.org:8000 ################################## # Mountpoint fallback # ################################## # Por default sempre que alguem solicitar um stream # que nao existe no servidor, o usuario ira ouvir o # stream default. se vc setar como 0 o usuario ira # receber um erro 404 Stream not found. mount_fallback 1 ################################## # Senhas do servidor # ################################## # Passord utilizado pelos sources (por ex. o shout), # para enviar streams ao servidor encoder_password senha1 # Password do administrador admin_password senha2 # Passowrd dos operadores oper_password senha3 ################################## # IPs/portas do servidor # ################################## # IP no qual o icecast vai ficar listen hostname 192.168.20.20 # Portas a serem usadas pelo Icecast port 8000 port 8001 # Nome do servidor server_name icecast.fugspbr.org # Força a utilização do server_name ao inves do hostname. # Deixe desabilitado. force_servername 0 ################################## # Logs do servidor # ################################## logfile icecast.log accessfile access.log usagefile usage.log logfiledebuglevel 0 consoledebuglevel 0 logdir /usr/local/icecast/logs stats_log stats.log statshtml_log stats.html stats_time 60 ################################## # Parametros Gerais # ################################## # Desabilita a resolução do reverso dos IPs dos Clientes reverse_lookups 0 # Define que o icecast vai rodar em background console_mode 3 # Define o time out p/ os clients client_timeout 30 # Define o que sera feito com um client caso o source que ele # estava conectado se desconectar da rede. # 0 - Move o client para outro stream # 1 - desconecta o cliente kick_clients 0 # Define a localização dos templates do icecast templatedir /usr/local/etc/icecast/templates # Habilita o uso de acls de acesso. acl_policy 1 deny all * allow all 192.168.20.* # FIM
/admin /oper
# Exemplo de configuração para o shout # Servidor ao qual o shout vai se conectar server_name eros.fugspbr.org # Porta do Servidor que o shout vai se conectar. port 8001 # Password definido na variavel encoder_password do icecast.conf password senha1 # Mount atraves do qual este stram podera ser acessado mount rock70 # Nome da sua Radio name Radio FUGSPBR # Descrição da sua Radio desc A radio power to fuck # Genero das musicas deste stream genre Musicas para todos os gostos # URL associada a este stream url http://www.fugspbr.org # Nao listar a sua radio no ycast.icecast.org public no # Parametros de stream dos titulos das musicas short_titles yes title_streaming yes id3 yes # Habilita correção do bitrate de transmissao dos arquivos autocorrect yes # playlist a ser usada neste stream, o arquivo deve ficar # em /usr/local/etc/icecast playlist rock70 # Tocar a playlist em loop loop yes # Transmitir de forma randomica shuffle yes # Verifica o bitrate do arquivo antes de efetuar o stream. # E transmite no bitrate adequado autodetect yes # Define o bitrate padrao default_bitrate 56000 # Se estiver habilitado e os arquivos da sua playlist que nao corresponderem # ao bitrate padrao serão ignorados. force no # Executa o shout em background daemon yes # Habilita o verbose do shout verbose no # FIM
# find /disco2/mp3 -name *.mp3 -print > /usr/local/etc/icecast/rock70O comando acima vai gerar um arquivo do tipo:
/disco2/mp3/chubby_checker/Dancin_party-Chubby_Checker.mp3 /disco2/mp3/chubby_checker/Loddy_Lo-Chubby_Checker.mp3 /disco2/mp3/chubby_checker/Lets_Twist_Again-Chubby_Checker.mp3 /disco2/mp3/chubby_checker/Birdland-Chubby_Checker.mp3 /disco2/mp3/chubby_checker/Twenty_Miles-Chubby_Checker.mp3 ... ...Pronto :-)
# icecast -c /usr/local/etc/icecast/conf/icecast.conf # shoutPara ouvir a sua radio execute:
# shout -C /usr/local/etc/icecast/shout2.conf
# telnet icecast.fugspbr.org 8000
Trying 192.168.20.20...
Connected to icecast.fugspbr.org.
Escape character is '^]'.
ADMIN senha2 Pressionar Enter
Pressionar Enter
OK
-> help
Available commands:
alias : Add an alias for a mount point
allow : Add hostmask for allowed host
deny : Add hostmask for denied host
acl : List all access controls
admins : Show all connected admins
dir : Add, delete or remove directory servers
dump : Dump a source to a specified file
help : Display this text
kick : Kick client, admin, or source
listeners : Show connected listeners
modify : Change the audiocast data for a source
oper : Obtain operator privileges
pause : Put a client or source on hold
quit : Leave remote admin console
rehash : Parse the config file
select : Select encoder for clients
sources : Show connected encoders
shutdown : Shutdown the server
set : Set var to arg
stats : Show server statistics
tail : Start tailing the logfile
tell : Tell other admins
touch : Touch the directory server
unpause : Unpause a client or source
untail : Stop tailing the logfile
uptime : Show server uptime
list : List all current connections
relay : Pull or push a server relay
threads : Show all program threads
locks : Show status of all locks
status : Turn status info on/off (for you)
debug : Set debugging output level for this connection.
mem : Another debug function, shows mem usage.
streamtitle : Set and/or lock streamtitle for a source.
streamurl : Set and/or lock streamurl for a source.
describe : Show detailed view on a connection.
auth : Show authorization groups, users, or mountpoints.
scheme : Change output format.
server_info : Display runtime information.
resolv : Resolv given ip or hostname.
ping : Connect to given icecast server and check if it's alive.
sock : List or close sockets.
run : Let interpreter run a file.
For slighly more detailed help on each command, try 'help '
->
Observações: