jeremy@squat.net
2004-Aug-06 14:23 UTC
[icecast] libshout1-based mp3 streaming to icecast2
According to what I've read on this mailing list, it should be possible to stream MP3 data to icecast2 using ices-0.2.3, which I assume also should be the case for any other streaming client based on libshout1. So I decided to test this out to see if we really could dispense with icecast1 altogether on the server I help administer. My results were not promising, to say the least. I wiped out libshout2 and installed libshout 1.0.9 from cvs.icecast.org, which seems to be necessary to compile ices-0.2.3 (it would not compile with libshout2, I assume due to the different structure of shout_t). After compiling and installing ices0, I tried the following command line: ices0 -b 24 -h freeteam.nl -p 9000 -P ****** -m testxyz -F ./playlist>From the streaming end, I got the error:Error during send: Mount failed on http://194.109.209.34:9000/testxyz, error: Could not login on server. Server message: HTTP/1.0 401 Authentication Required In the icecast2 error log, I see: [2003-03-16 02:23:10] INFO connection/_handle_source_request Source logging in at mountpoint "/" [2003-03-16 02:23:10] INFO connection/_handle_source_request Source (/) attempted to login with invalid or missing password In the icecast2 access log: xx.xx.xx.xx - - [16/Mar/2003:02:23:10 +0100] "SOURCE / ICY/666" 401 115 "-" "-" 0 If I add the -i switch to the ices command line to make it icy-compatible, I get: Error during send: Mount failed on http://194.109.209.34:9000/teztxyz, error: Not connected to server. and nothing logged in either the error or access logs of icecast2. Same goes for freestream (http://squat.net/freestream), a perl script we use based on Shout.pm, which in turn is based on libshout1. Interestingly, when I used freestream with a Shout.pm that was compiled with libshout 1.0.5, I was able to log in and stream to icecast2, but when I tried to listen to the stream (at mountpoint /, the mountpoint I specified does not get through to icecast2 in any case), I got HTTP headers from icecast2 and then a disconnect. Any advice? -- jeremy --- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Hi: To stream to icecast2, you need to use ices 0x from CVS (I think it's anoncvs@xiph.org/cvs/ice or something) with libshout2. the decision was made to drop icecast 1 protocol support, given that they have to support shoutcast and icecast2 as it is. Geoff. <p> -- Geoff Shang <gshang@uq.net.au> ICQ number 43634701 Make sure your E-mail can be read by everyone! http://www.betips.net/etc/evilmail.html Please avoid sending me Word or PowerPoint attachments. See http://www.fsf.org/philosophy/no-word-attachments.html <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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
The short answer, as Geoff says, is to use ices 0.x from CVS with libshout 2. The good news is CVS ices 0 has a number of bug fixes. libshout2 may be found at anoncvs@cvs.xiph.org:/usr/local/cvsroot libshout ices is at anoncvs@cvs.xiph.org:/cvs/ice ices Note the different paths above! Now, a little more detail: On Sunday, 16 March 2003 at 02:41, jeremy@squat.net wrote:> ices0 -b 24 -h freeteam.nl -p 9000 -P ****** -m testxyz -F ./playlist > > >From the streaming end, I got the error: > Error during send: Mount failed on http://194.109.209.34:9000/testxyz, > error: Could not login on server. Server message: HTTP/1.0 401 > Authentication Requiredicecast 2 doesn't support x-audiocast, the default protocol in ices and icecast 1.> If I add the -i switch to the ices command line to make it > icy-compatible, I get: > > Error during send: Mount failed on http://194.109.209.34:9000/teztxyz, > error: Not connected to server.The shoutcast protocol ("icy") actually uses two ports for encoders. The base port is used for metadata (song name) updates, but the actual data goes to that port + 1. So, to be fully shoutcast compatible, you have to configure icecast to listen on two ports. In this case, those are 9000 and 9001. The error you see here is because ices cannot connect to port 9001.> and nothing logged in either the error or access logs of icecast2.Naturally.> Interestingly, when I used freestream with a Shout.pm that was compiled > with libshout 1.0.5, I was able to log in and stream to icecast2, butI imagine this is due to a bug in that version of Shout.pm, which connects to the same port for both data and metadata (if Shout.pm supports metadata - I haven't used it).> when I tried to listen to the stream (at mountpoint /, the mountpoint I > specified does not get through to icecast2 in any case), I got HTTP > headers from icecast2 and then a disconnect.Because shoutcast doesn't support mount points, icecast was forced to create on itself. It's probably /icy_0, but you can see for yourself in the icecast 2 logs. When the source successfully logs in, you'll see the mountpoint assigned. -b --- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Sorry to follow up on my own post, but you may find it more convenient to use the nightly snapshots posted at http://www.xiph.org/~brendan/ On Saturday, 15 March 2003 at 21:12, Brendan Cully wrote:> The short answer, as Geoff says, is to use ices 0.x from CVS with libshout 2. > The good news is CVS ices 0 has a number of bug fixes. > > libshout2 may be found at anoncvs@cvs.xiph.org:/usr/local/cvsroot libshout > ices is at anoncvs@cvs.xiph.org:/cvs/ice ices<snip> -b --- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.