Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Page 2 of 4 < 1 2 3 4 >
Topic Options
#273251 - 06/11/2007 16:54 Re: Slimserver Instructions [Re: julf]
andym
carpal tunnel

Registered: 17/01/2002
Posts: 3995
Loc: Manchester UK
I've finally found a use for my 5 rio recievers! Slimserver is good, but AlienBBC turns it into a must have.
_________________________
Cheers,

Andy M

Top
#273252 - 07/11/2007 08:32 Re: Slimserver Instructions [Re: gerald_clark]
julf
veteran

Registered: 01/10/2001
Posts: 1307
Loc: Amsterdam, The Netherlands
Quote:
When reducing the bitrate, the server must transcode the file.
It may not be able to keep ahead of the receiver.
If the server is busy or under powered, reducing the bitrate may cause the glitches.


But the absolute regularity of the glitches would indicate a buffer problem. With 320K I get them every 5 sec (approx), with metronome regularity. Lowering bit rate makes the intervals correspondingly longer, definitely pointing to buffer issues.

On the other hand, strangely enough, I don't get the glitches on shoutcast "stations", but I *do* get them using AlienBBC to listen to BBC.

No glitches using any other client on the rio.

Top
#273253 - 07/11/2007 15:10 Re: Slimserver Instructions [Re: julf]
andym
carpal tunnel

Registered: 17/01/2002
Posts: 3995
Loc: Manchester UK
Quote:
On the other hand, strangely enough, I don't get the glitches on shoutcast "stations", but I *do* get them using AlienBBC to listen to BBC.


The shoutcast stuff is MP3 and the BBC stuff is Realaudio. One of the things AlienBBC runs is an instance of mplayer to do the transcoding. I suppose there are several buffers in that chain that could underrun?
_________________________
Cheers,

Andy M

Top
#273254 - 25/11/2007 18:47 Re: Slimserver Instructions [Re: caederus]
elperepat
enthusiast

Registered: 11/01/2002
Posts: 211
Loc: Qc, Canada
Woohoo!

I just installed slimserver and slimrio on my server machine and it work s like a charm. One less reason to keep windows ;-)

I experienced some glitches too, but I transcode back to 128kpbs and lowered scroll rate. Haven't touched UDP size. I can sync 2 receivers together. I'll try more intense tests next week.

Thanks for the head-up!
_________________________
Patrick

Top
#305199 - 17/12/2007 18:19 Re: Slimserver Instructions [Re: elperepat]
LittleBlueThing
addict

Registered: 11/01/2002
Posts: 612
Loc: Reading, UK
very nice - 'just worked' \:\)
_________________________
LittleBlueThing Running twin 30's

Top
#305731 - 04/01/2008 12:06 Re: Slimserver Instructions [Re: ramiles]
Raymond Day
new poster

Registered: 04/01/2008
Posts: 5
Loc: Michigan
I spent about a hole day installing this on Ubuntu Linux server. I all ready have Slimserver running on it.

I had to stop the DHCP server on my router then my RIO got a IP after I got DHCP working on Ubuntu.

I wanted to try and make it easy for some one else. It took me all day and made a list of commands I did. I will put them in here. But others will have to change the IP's and MAC addrss's. Just edit the code before you copy and paste each line in the command prompt of you Ubuntu server. I was logged in as root when I did this.

Code:
apt-get install dhcp3-server

rv /etc/dhcp3/dhcpd.conf~ /etc/dhcp3/dhcpd.conf

rm /etc/dhcp3/dhcpd.conf

echo "authoritative;
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.3 192.168.2.100;
option domain-name-servers 192.168.2.1, 192.168.2.1;
option routers 192.168.2.1;
option static-routes 192.168.2.101 192.168.2.230;
option broadcast-address 192.168.2.255;
}
host HP-Photo-smart-2610-printer {
	hardware ethernet 00:0d:9d:12:52:43;
	fixed-address 192.168.2.2;
	}
host RIO {
	hardware ethernet 00:90:00:11:47:fc;
	fixed-address 192.168.2.125;
	}" >> /etc/dhcp3/dhcpd.conf

cd /

mkdir tftpboot

cd tftpboot

mkdir 192.168.2.125

cd 192.168.2.125

wget http://empeg.org.uk/slimrio/ssdp.c

wget http://empeg.org.uk/slimrio/download/slimrio-0.7-root.tar.gz

tar -xzf slimrio-0.7-root.tar.gz

apt-get install nfs-kernel-server nfs-common

echo "tftpboot/192.168.2.125 *(ro,sync,subtree_check,insecure,no_root_squash)" >> /etc/exports

exportfs -a

echo "while true; do /bin/slimrio -s 192.168.2.109; done" >> tftpboot/192.168.2.125/sbin/init


It be nice if some one could put this in a script and have it ask for the numbers. Then all you have to do is run it and turn on your RIO.

I had to set the "reduce the audio bit rate (Player settings - Audio - Bitrate limiting). You'll need to have the LAME encoder installed first." to 128. Now it don't studder the music. I guess some of the RIO code should be made in fast assembly code so it can do faster bitrates.

I all ready had a LAME encoder installed. If you don't I guess all you have to do is this command:

Code:
apt-get install liblame0


It's super to have the RIO display look like the slimp3 player. To bad the display is not wide like the slimp3.

I am happy got this working. My RIO was just stitting there for years.


Edited by Raymond Day (04/01/2008 12:19)

Top
#305782 - 05/01/2008 20:58 Re: Slimserver Instructions [Re: Raymond Day]
LittleBlueThing
addict

Registered: 11/01/2002
Posts: 612
Loc: Reading, UK
Does this work with an infra red remote?

Mine ignores my SlimDevices remote and my empeg ones don't have batteries at the moment...
_________________________
LittleBlueThing Running twin 30's

Top
#305798 - 06/01/2008 13:35 Re: Slimserver Instructions [Re: LittleBlueThing]
Raymond Day
new poster

Registered: 04/01/2008
Posts: 5
Loc: Michigan
Hi LittleBlueThing.

It does work with the remote. The RIO works with the RIO remote and my Slimp3 works with it's remote. Before I had this working so my RIO would play music. The remote did not work. So you have to have the RIO working before the remote will work.

I seen I have at lest one error in the code to copy and paste it's the last line. It should look like this:

echo "while true; do /bin/slimrio -s 192.168.2.109; done" >> /tftpboot/192.168.2.125/sbin/init

The 1st IP in that line is your RIO's ip and the 2nd IP is the servers IP were SlimServer is running on.

-Raymond Day



Edited by Raymond Day (06/01/2008 14:12)

Top
#305799 - 06/01/2008 13:52 Re: Slimserver Instructions [Re: Raymond Day]
Raymond Day
new poster

Registered: 04/01/2008
Posts: 5
Loc: Michigan
Just seen another error on the 2nd line. It should look like this:

mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf~

You don't need the next line:

rm /etc/dhcp3/dhcpd.conf

Looks like some one will have to test this out to make sure it works for them. To make it easy some one should make a script out of it. That would ask you the SlimServer IP, MAC address of RIO, DHCP IP you want to do between. Thanks like that.

If any one does this please post back here that it worked or not.

-Raymond Day

Top
#305800 - 06/01/2008 14:08 Re: Slimserver Instructions [Re: Raymond Day]
Raymond Day
new poster

Registered: 04/01/2008
Posts: 5
Loc: Michigan
Seen yet one more error. The 1st echo don't save the /etc/dhcp3/dhcpd.conf file right. The Fixed IP's of the printer and RIO will not format right. I guess you will have to use vi to it it right. Or if some one knows how to do the echo command to save it right.

-Raymond Day

Top
#305805 - 06/01/2008 16:00 Re: Slimserver Instructions [Re: Raymond Day]
LittleBlueThing
addict

Registered: 11/01/2002
Posts: 612
Loc: Reading, UK
I should have said, I don't have a Rio Receiver remote.

Not sure what you mean when you say "The RIO works with the RIO remote and my Slimp3 works with it's remote." smile

Do you mean the Rio Receiver, running slimrio, works with the Rio Receiver remote or it works with a squeezebox3/slimdevices remote?

Looking at the source code, slimrio includes the slimdevices IR codes - yet it doesn't work for me using the slimdevices remote.

A simple nc and then killing slimrio and running 'cat /dev/ir' doesn't show anything (so I'm guessing a HW problem).
_________________________
LittleBlueThing Running twin 30's

Top
#305809 - 06/01/2008 16:42 Re: Slimserver Instructions [Re: LittleBlueThing]
Raymond Day
new poster

Registered: 04/01/2008
Posts: 5
Loc: Michigan
I ment each remote to each system works on it's system.

Top
#307447 - 19/02/2008 17:48 Re: Slimserver Instructions [Re: julf]
wfaulk
carpal tunnel

Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
Originally Posted By: julf
But the absolute regularity of the glitches would indicate a buffer problem. With 320K I get them every 5 sec (approx), with metronome regularity. Lowering bit rate makes the intervals correspondingly longer, definitely pointing to buffer issues.

Has anyone tried increasing the buffer size and recompiling? The source code has a RECV_BUF_SIZE #define. I don't have a crosscompiler handy to give it a shot myself.
_________________________
Bitt Faulk

Top
#307448 - 19/02/2008 17:53 Re: Slimserver Instructions [Re: wfaulk]
LittleBlueThing
addict

Registered: 11/01/2002
Posts: 612
Loc: Reading, UK
I'm working on it (not tonight - tango)
_________________________
LittleBlueThing Running twin 30's

Top
#308451 - 21/03/2008 22:18 Re: Slimserver Instructions [Re: LittleBlueThing]
mardibloke
addict

Registered: 14/08/2000
Posts: 468
Loc: Penarth, UK
Tried the 3 suggestions but I still get gaps in playback.

Can someone confirm they have it working fine and if so make a sample MP3 file available that they have working?

_________________________
- --
Rod, UK

Top
#308454 - 22/03/2008 08:00 Re: Slimserver Instructions [Re: mardibloke]
julf
veteran

Registered: 01/10/2001
Posts: 1307
Loc: Amsterdam, The Netherlands
My whole music collection works OK downscaled to 128K, but I get glitches with every song in original 256K Lame VBR.

Top
#308457 - 22/03/2008 14:30 Re: Slimserver Instructions [Re: julf]
gerald_clark
new poster

Registered: 08/10/2003
Posts: 30
Loc: IL, U.S.A.
All my 64K files work.
Some of my LAME VBR files have problems.

Top
#308462 - 22/03/2008 20:18 Re: Slimserver Instructions [Re: gerald_clark]
mardibloke
addict

Registered: 14/08/2000
Posts: 468
Loc: Penarth, UK
Shame my whole collection I encoded with Lame at max VBR frown
_________________________
- --
Rod, UK

Top
#308466 - 22/03/2008 21:54 Re: Slimserver Instructions [Re: wfaulk]
LittleBlueThing
addict

Registered: 11/01/2002
Posts: 612
Loc: Reading, UK
Try this attached slimrio
Overwrite /tftpboot/<IP>/bin/slimrio

I just did:
#define RECV_BUF_SIZE 262144

it seemed to help me - but I just played for a couple of mins without any glitches (different room, Mrs lbt calling... gotta go smile )


Attachments
slimrio (1024 downloads)
Description: slimrio arm executable with #define RECV_BUF_SIZE 262144


_________________________
LittleBlueThing Running twin 30's

Top
#308474 - 23/03/2008 08:29 Re: Slimserver Instructions [Re: LittleBlueThing]
julf
veteran

Registered: 01/10/2001
Posts: 1307
Loc: Amsterdam, The Netherlands
For me it unfortunately didn't help.

Top
#308476 - 23/03/2008 11:10 Re: Slimserver Instructions [Re: julf]
LittleBlueThing
addict

Registered: 11/01/2002
Posts: 612
Loc: Reading, UK
OK, I'm not using mine at the moment and I'm on holiday for a couple of weeks RSN so it won't be until I get back.

However you can just use Mark's cross-compiler suite from the hijack site. Preset the PATH to include /usr/local/arm... and change the CC in the Makefile (I'm not sure if it was preset correctly actually)

There are a couple of typedef's that declare data[] and need to be changed to *data but then it just compiles.

I also plan on allowing the IR controls to be redefined and changing the rotary knob to default to volume and seeing how to toggle the current 'settings' mode.
_________________________
LittleBlueThing Running twin 30's

Top
#308488 - 23/03/2008 19:41 Re: Slimserver Instructions [Re: LittleBlueThing]
gerald_clark
new poster

Registered: 08/10/2003
Posts: 30
Loc: IL, U.S.A.
Originally Posted By: LittleBlueThing
Try this attached slimrio
Overwrite /tftpboot/<IP>/bin/slimrio

I just did:
#define RECV_BUF_SIZE 262144

it seemed to help me - but I just played for a couple of mins without any glitches (different room, Mrs lbt calling... gotta go smile )


Which core, lib, and toolchain did you use?
I used:
scratchbox-core-1.0.8-i386.tar.gz
scratchbox-libs-1.0.8-i386.tar.gz
scratchbox-toolchain-arm-gcc3.4-uclibc0.9.28-1.0.4-i386.tar.gz

My binary did not run.

Top
#308490 - 23/03/2008 21:26 Re: Slimserver Instructions [Re: gerald_clark]
LittleBlueThing
addict

Registered: 11/01/2002
Posts: 612
Loc: Reading, UK
click on hijack link above.
Scroll down to : Download Pre-Built Kernels and/or Source Code:
look for the toolchain.

Scratchbox is excellent - but quite heavy and it's a bit like using eclipse to compile helloworld.
_________________________
LittleBlueThing Running twin 30's

Top
#308492 - 23/03/2008 23:59 Re: Slimserver Instructions [Re: LittleBlueThing]
gerald_clark
new poster

Registered: 08/10/2003
Posts: 30
Loc: IL, U.S.A.
I was able to compile using scratchbox version 0.9.8.

I agree it is rather like pounding tacks with a sledge, but I cannot find a working link to arm-linux-toolchain.tgz

What is the hijack link?

[edit]
Never mind. I see it.


Edited by gerald_clark (24/03/2008 00:04)

Top
#309598 - 29/04/2008 11:06 Re: Slimserver Instructions [Re: gerald_clark]
mardibloke
addict

Registered: 14/08/2000
Posts: 468
Loc: Penarth, UK
Such a shame about the stuttering playback.

Could someone thats not experiencing stuttering download and try this file, that stutters for me, and report back.

Slim Rio Test MP3 File

Thanks.
_________________________
- --
Rod, UK

Top
#309605 - 29/04/2008 18:11 Re: Slimserver Instructions [Re: julf]
andy
carpal tunnel

Registered: 10/06/1999
Posts: 5914
Loc: Wivenhoe, Essex, UK
Originally Posted By: julf
For me it unfortunately didn't help.

Nor me I'm afraid, 200k+ VBR files still glitch every few seconds.

Unless that is I set SqueezeCenter to transode everything down top 128k, but I don't really want to do that smile

So close.
_________________________
Remind me to change my signature to something more interesting someday

Top
#309606 - 29/04/2008 18:14 Re: Slimserver Instructions [Re: mardibloke]
andy
carpal tunnel

Registered: 10/06/1999
Posts: 5914
Loc: Wivenhoe, Essex, UK
Originally Posted By: mardibloke

Could someone thats not experiencing stuttering download and try this file, that stutters for me, and report back.

As far as I can tell everyone with no stutters at all is limiting to 128k. I did some testing with that today and sure enough when I limit the bit rate to 128k it doesn't stutter anymore. Unfortunately 128k is just too low for me.

I tested with you file and it has the same issues as the VPR files I have been testing with, stutters with anything over 128k transcoding.
_________________________
Remind me to change my signature to something more interesting someday

Top
#309607 - 29/04/2008 18:54 Re: Slimserver Instructions [Re: LittleBlueThing]
andy
carpal tunnel

Registered: 10/06/1999
Posts: 5914
Loc: Wivenhoe, Essex, UK
Originally Posted By: LittleBlueThing

I just did:
#define RECV_BUF_SIZE 262144

Looking at the code I don't think that increasing the size of that buffer was ever going to change anything. I'm not a C coder myself, but looking at the code I think increasing that buffer size would only ever have helped deal with single large packets (which should never occur anyway, as SqueezeCenter is supposed to limit them to 1400 bytes).

As I see it read_packet() is called every time the UDP socket is polled and the following happens:

- xcalloc is called to allocate a chunk of memory to match the buffer size
- recvfrom() is called to fill the buffer from the UDP socket
- we inspect the first byte of the buffer to determine the packet's type
- if it is an MP3 data packet we send it off to receive_mpeg_data() for processing
- if it is not an MP3 packet we do other stuff with it

And that is it. Given that SqueezeCenter is already set to limit each UDP packet to 1400 bytes upping the buffer size. Unless...

...I don't know much about C/Unix socket stuff. Is expected to return the data for a single UDP packet or all the data that is waiting on the socket ?


If recvfrom() can return more than one packet then the code in read_packet() is very broken. At worst if two MP3 packet were waiting we would send an extra byte of duff data (the identifying byte on the front of the second packet) to the MP3 decoder. At worst MP3 packets would get missed if there was one queued up behind another packet type.


Also, the code never appears to free up the memory, surely it should be calling xfree() or something ?

Finally, the buffer is allocated within the read_packet function, which is called for each and every packet. Would it not be better to allocate the buffer in main() and pass the pointer through to read_packet() ?

No doubt I've got the wrong end of the stick though, probably best if I stick to C# wink

Edit: my research suggests that recvfrom() only returns one packet, so I think that side of it is a non-issue. I still think that raising the buffer size was still a non-starter though frown


Edited by andy (29/04/2008 19:12)
_________________________
Remind me to change my signature to something more interesting someday

Top
#309608 - 29/04/2008 19:01 Re: Slimserver Instructions [Re: andy]
peter
carpal tunnel

Registered: 13/07/2000
Posts: 4172
Loc: Cambridge, England
Originally Posted By: andy
Is expected to return the data for a single UDP packet or all the data that is waiting on the socket?

UDP preserves packet-boundaries, and returns at most one packet per call to read(). TCP doesn't preserve the boundaries, and returns everything that's available.

Peter

Top
#309612 - 29/04/2008 20:55 Re: Slimserver Instructions [Re: andy]
andy
carpal tunnel

Registered: 10/06/1999
Posts: 5914
Loc: Wivenhoe, Essex, UK
Originally Posted By: andy

Finally, the buffer is allocated within the read_packet function, which is called for each and every packet. Would it not be better to allocate the buffer in main() and pass the pointer through to read_packet() ?

Sure enough the slimp3slave code that read_packet was borrowed from declares the buffer globally.
_________________________
Remind me to change my signature to something more interesting someday

Top
Page 2 of 4 < 1 2 3 4 >