Requerimientos:
FreeBSD instalado
Guias:
http://www.icecast.org/docs.php
http://www.oddsock.org/guides/video.php
http://www.acooke.org/cute/SettingupR0.html
Instalacion:
1) Instalar icecast2
# whereis icecast2
icecast2: /usr/ports/audio/icecast2
# cd /usr/ports/audio/icecast2
# make install clean
2) Instalar ffmpeg2theora
# whereis ffmpeg2theora
ffmpeg2theora: /usr/ports/multimedia/ffmpeg2theora
# cd /usr/ports/multimedia/ffmpeg2theora
# make install clean
3) Instalar ezstream
# whereis ezstream
ezstream: /usr/ports/audio/ezstream
# cd /usr/ports/audio/ezstream
# make install clean
Archivos de configuracion:
# cp /usr/local/etc/icecast.xml.sample /usr/local/etc/icecast.xml
Crear una carpeta que tendra los videos
# mkdir /usr/home/hd3/streaming/
Crear el archivo con el listado de los videos y su orden
/usr/home/hd3/streaming/playlist.m3u
en este archivo podemos poner los videos por ejemplo:
# cat playlist.m3u
/usr/home/hd3/streaming/telesursoflibre.mpg
Copiar el archivo de
# cp /usr/local/share/examples/ezstream/ezstream_reencode_theora.xml /usr/local/etc/
# mkdir /var/log/icecast
# touch /var/log/icecast/access.log
# touch /var/log/icecast/error.log
# chmod -R 777 /var/log/icecast/
Iniciar el streaming
$ /usr/local/bin/icecast -c /usr/local/etc/icecast.xml >/dev/null 2>&1 &
$ /usr/local/bin/ezstream -c /usr/local/etc/ezstream_reencode_theora.xml >/dev/null 2>&1 &
Pararlo
killall ffmpeg2theora
killall ezstream
killall icecast
Probar que envia
http://192.168.1.1:8000/theora.ogg
Ajustar la resolucion para el streaming
En el archivo /usr/local/etc/ezstream_reencode_theora.xml
hay 2 lineas que tienen estos valores:
se cambian para que queden asi:
Aqui los archivos de configuracion
Nota:
Como los archivos son en un formato XML, el navegador muestra mal el contenido, de click derecho sobre los links y luego Save link as...
Guardelos en su disco y luego los abre con un editor.
icecast.xml
ezstream_reencode_theora.xml
Para hacer relay de alguna emisora, por ejemplo de www.di.fm
Trance Channel - D I G I T A L L Y - I M P O R T E D
en el archivo http://www.di.fm/mp3/trance.pls
vemos esta linea para conectar
http://scfire-ntc-aa06.stream.aol.com:80/stream/1003
entonces en el archivo de Icecast2 ponemos esto:
<relay>
<server>scfire-ntc-aa06.stream.aol.com</server>
<port>80</port>
<mount>/stream/1003</mount>
<local-mount>/different2.ogg</local-mount>
<on-demand>0</on-demand>
<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
</relay>
Y listo, para escuchar, usamos esta direccion:
http://192.168.1.1:8000/different2.ogg.m3u
Nota 2:
El archivo ezstream_reencode_theora.xml es en caso de querer usar archivos en formatos .mpg , si podemos usar directamente archivos de video en formato .ogv debemos usar el archivo ezstream_vorbis.xml con lo que nos ahorraremos procesador ya que no se requiere hacer el reencode, para esto:
# cp /usr/local/share/examples/ezstream_vorbis.xml /usr/local/etc/
Nota:
En este caso el ezstream se debe iniciar con el archivo .xml correcto, en este caso seria:
$ /usr/local/bin/ezstream -c /usr/local/etc/ezstream_vorbis.xml >/dev/null 2>&1 &
Crear el archivo con el listado de los videos .ogv y su orden
/usr/home/hd3/streaming/playlist.m3u
en este archivo podemos poner los videos en formato .ogv por ejemplo:
# cat playlist.m3u
/usr/home/hd3/streaming/otrovideo.ogv
Para verificar que funciona, abrimos en VLC, esta direccion:
http://192.168.1.1:8000/http://alpha:8000/vorbis.ogg.m3u
Nota 3:
Para hacer que el servicio se inicie con el servidor, se debe:
Agregar las lineas en /etc/rc.conf
icecast_enable="YES"
icecast_config="/usr/local/etc/icecast.xml"
Editar el archivo /usr/local/etc/icecast.xml y modificar la linea
<security>
<chroot>0</chroot>
<!--
<changeowner>
<user>nobody</user>
<group>nobody</group>
</changeowner>
-->
</security>
Por
<security>
<chroot>0</chroot>
<!-- -->
<changeowner>
<user>angel</user>
<group>nobody</group>
</changeowner>
<!-- -->
</security>
Donde angel es un usuario creado en el servidor