This feed contains pages in the "icecast" category.
The simplest way to accomplish this is via jack:
So configure amarok to use the xine engine with the jack-output. When you are using Ubuntu, you need to make some changes in the "xine-lib" package and rebuild it:
diff xine/xine-lib-1.1.15/debian/libxine1-misc-plugins.install
xine2/xine-lib-1.1.15/debian/libxine1-misc-plugins.install
21c21
< debian/tmp/usr/lib/xine/plugins/*/xineplug_ao_out_jack.so
---
> #debian/tmp/usr/lib/xine/plugins/*/xineplug_ao_out_jack.so
diff xine/xine-lib-1.1.15/debian/rules xine2/xine-lib-1.1.15/debian/rules
57c57
< --with-jack \
---
> --without-jack \
Download edcast-jack, do the usual ./configure, make (and probably make install). Adjust the configuration file in conf/sample.cfg to your needs.
Start jackd: jackd -d alsa
(Re-)Start amarok, play something
Start edcast: ./edcast -c conf/sample.cfg xine:out0 xine:out1
Now you should be able to listen to your music played with Amarok via your icecast stream. If you want to have a bit more control over the stuff, which is streamed, have a look at "jackeq" which basically does the job of a mixer. To control the wirings inside jack you could use "qjackctl".
dass icecast2yp keine Hörerzahlen mehr in die Datenbank schreibt, das wurde irgendwann mal rausgenommen, weil es wohl für dir.xiph.org nicht mehr zweckmäßig war. Wenn man es trotzdem braucht, muss man es selber wieder reinbasteln. Unvollständig sieht das dann so aus:
Index: src/yp_routines.c
===================================================================
--- src/yp_routines.c (Revision 14614)
+++ src/yp_routines.c (Arbeitskopie)
@@ -864,7 +864,7 @@
memset(server_subtype_esc, '\000', strlen(server_subtype)*2 + 1);
mysql_real_escape_string(&dbase, server_subtype_esc, server_subtype, \
strlen(server_subtype));
- sprintf(sql,"update server_details set current_song = \'%s\', server_subtype = \'%s\', \
last_touch = NOW() where id = %s and listing_ip = '%s'", song_esc, \
server_subtype_esc, detail_id, touchip);
+ sprintf(sql,"update server_details set current_song = \'%s\', server_subtype = \'%s\', \
listeners = %d, last_touch = NOW() where id = %s and listing_ip = '%s'", song_esc, \
server_subtype_esc, atol(listeners), detail_id, touchip);
Log(LOG_DEBUG, sql);
if (mysql_real_query(&dbase,sql,strlen(sql))) {
(Unvollständig deshalb, weil es nur eine der beiden Tabellen updatet, in der diese Information steht.)