PDA

View Full Version : Internet radio - is logitechmedia server involved



pkfox
2014-09-30, 00:41
Hi all, when playing Internet radio from a Transporter is the squeeze software involved or does the radio station stream directly to the player ? The reason I ask is I'm experimenting using a Raspberry Pi as my server ( with some success ) and I'm experiencing a lot of re-buffering which tells me the Pi is involved somewhere as it hasn't done this using my existing server.

bpa
2014-09-30, 01:07
If the stream is a format which is "native" to the player and it uses http streaming - then it goes direct from station to player. The SB Transporter it can play native MP3, and WMA. RaspPi with squeezelite can play natively http/MP3 and AAC normally and if you include the ffmpeg libraries also WMA

There are exceptions:
If you have players synced then stream will go through LMS
If you are transcoding or bit rate limiting the stream then stream will go through LMS
if you have enabled proxying in LMS server then stream will go through LMS
Stream that require a plugin or LMS menu to get started probably have some LMS involvement.

pkfox
2014-09-30, 01:41
Hi there and thanks, the station I'm using to test is radioio.com which I believe uses http but I'm not certain.

pippin
2014-09-30, 02:02
My (uneducated) guess would be that it's an AAC stream that needs transcoding.

pkfox
2014-09-30, 07:23
Hi there, how can I find out if it's AAC or any other type ?

toby10
2014-09-30, 09:09
Player > Now Playing Screen > More Info

pkfox
2014-09-30, 09:29
My (uneducated) guess would be that it's an AAC stream that needs transcoding.


Player > Now Playing Screen > More Info


OK thanks.

pkfox
2014-10-01, 03:29
Hi all, I checked and it's AAC - so that means the server is involved in transcoding which means the Pi isn't up to it - ah well thanks for your help. Anyone know of a similar device to the Pi that's capable of doing what I'm attempting - the bottom line is I want a totally silent box - I have a ReadyNas nv but it's a noisy bugger and also uses a lot of power compared to the Pi which is 5 volts ( bless it )

bpa
2014-10-01, 03:44
Hi all, I checked and it's AAC - so that means the server is involved in transcoding which means the Pi isn't up to it - ah well thanks for your help. Anyone know of a similar device to the Pi that's capable of doing what I'm attempting - the bottom line is I want a totally silent box - I have a ReadyNas nv but it's a noisy bugger and also uses a lot of power compared to the Pi which is 5 volts ( bless it )

Transcoding involves AAC to PCM and then PCM to Flac and then sending Flac to player.

AAC to PCM does not require much processing and IIRC LMS faad (transcode app) build for ARm doesn't use Floating point.

PCM to Flac require more processing and this might be the problem - try disabling AAC toi Flac in LMS Settings/Advanced/Filetypes - send PCM will load your network even more so you need a good network.

Another possible problem could be your network if it is not capable of delivering Flac stream to Player. - what is signal quality on SB3 ? Is Pi also wireless to router ?

What OS is on your Pi - are you using the hard float or soft float ?

pkfox
2014-10-01, 04:12
Transcoding involves AAC to PCM and then PCM to Flac and then sending Flac to player.

AAC to PCM does not require much processing and IIRC LMS faad (transcode app) build for ARm doesn't use Floating point.

PCM to Flac require more processing and this might be the problem - try disabling AAC toi Flac in LMS Settings/Advanced/Filetypes - send PCM will load your network even more so you need a good network.

Another possible problem could be your network if it is not capable of delivering Flac stream to Player. - what is signal quality on SB3 ? Is Pi also wireless to router ?

What OS is on your Pi - are you using the hard float or soft float ?

Hi there, my network is well capable of delivering anything - there's no wi-fi involved anywhere it's all gigabit cabled - would LMS need to convert to flac when playing a radio stream ? - the OS on the Pi is Debian Wheezy with all updates applied ( LMS is 7.8 ) - whether it's using soft or hard float I don't know - I have three servers setup on my network and they all work perfectly except the Pi which plays ok for a few minutes ( Flac files or internet radio ) then cuts out (I'm assuming it's buffering ) it's the 512mb of RAM model which I hoped would be up to the job - but it's looking like it's not - I'll try what you suggested and report back - than you very much for your input

pkfox
2014-10-01, 04:38
Hi, the settings were: AAC = native, FLAC = faad/flac, MP3 = disabled, PCM = faad , which doesn't mean anything to me. I tried disabling what you suggested but it's still the same - when the Transporter displays Buffering ... 45% etc is it referring to itself or the server ?

pkfox
2014-10-01, 05:04
Update - taking a break from the Internet radio test and trying it playing flacs from my library and so far it's played for fifteen minutes without a glitch so it's looking like an Internet issue but I have a very good high speed broadband so I'm at a bit of a loss as to what it is causing the rebuffering.

pippin
2014-10-01, 05:33
FLACs don't need to be transcoded for playing, just streamed. A completely different animal.

castalla
2014-10-01, 05:43
Is the buffering evident on other station streams? Maybe it's just radioio ?

pkfox
2014-10-01, 07:50
Is the buffering evident on other station streams? Maybe it's just radioio ?

Hi there, I think it is Radioio as I've tried some others which stream in Mp3 @128 and it seems ok, but Radioio through my ReadyNas ( which is not very powerful ) plays without any rebuffering ( apart from the initial connection which they all do ) so it's got to be the pi. Is the buffering related to the server not the player ?

toby10
2014-10-01, 08:42
Likely the PI is just lacking the processing power to transcode. Unlikely to be your ISP or an internet issue. Simple test to find out.

Player > Internet Radio > Search > Audiophile Classical (this is a 320k MP3 stream)
If that plays without buffering (which I bet it will) then your ISP, internet, network are fine.

wortgefecht
2014-10-01, 09:06
Player > Internet Radio > Search > Audiophile Classical (this is a 320k MP3 stream)
If that plays without buffering (which I bet it will) then your ISP, internet, network are fine.

How can a MP3 stream be "audiophile"? Sorry, scnr ;)

Gesendet von meinem Nexus 4 mit Tapatalk

Julf
2014-10-01, 09:13
How can a MP3 stream be "audiophile"?

It could be an mp3 with Diana Krall... :)

bpa
2014-10-01, 09:40
the OS on the Pi is Debian Wheezy with all updates applied ( LMS is 7.8 ) - whether it's using soft or hard float I don't know -

Debian wheezy comes on hard and soft float depending on when you installed it and where you got the distro.

I think you may have softfloat either in Debian and/or LMS as I feel that Pi could transcode one stream if using hard float but it would need confirmation to prove it ( a few years ago I had a 250Mhz MIPS based NAS which could decode a AAC and encode Flac stream so I think a 700Mhz ARM should be able) .

smiggs
2014-10-01, 15:11
Debian wheezy comes on hard and soft float depending on when you installed it and where you got the distro.

I think you may have softfloat either in Debian and/or LMS as I feel that Pi could transcode one stream if using hard float but it would need confirmation to prove it ( a few years ago I had a 250Mhz MIPS based NAS which could decode a AAC and encode Flac stream so I think a 700Mhz ARM should be able) .

I would agree, if you are going to use Debian on Raspberry Pi use Raspbian. It's their recommended OS should get you the best performance from the box. I'm sure we've had some successful Raspberry Pi users on here.

Links:
http://www.raspberrypi.org/downloads/ http://raspbian.org/

pkfox
2014-10-02, 03:29
Hi all and thanks to all of you for your help - one last question ? When you see the buffering message on your player is it the player buffering or the server ?

bpa
2014-10-02, 05:04
Hi all and thanks to all of you for your help - one last question ? When you see the buffering message on your player is it the player buffering or the server ?

The player even with transcoding - it is when server has determined (from reports from the player) that the player's internal buffer is not full enough to play audio.

If you are using an older player such as SB3/Transporter then you can select from WebUI Settings/Player basic Setting / Now Playing information a "Show buffer fullness" which will give realtime display of player's buffer status. On internet radio streams this fullness is shown as on player display top line RHS "xx.x / yy.y SECONDS" . I think the xx.xx is the current number of estimated seconds in buffer and the yy.y is low threshold and is set by the LMS Radio Station buffer parameters. The XX.X number is usually much larger than YY.Y with transcoded streams.

edit:

Rebuffering means a player does not have enough data to play audio in realtime. If the player audio stream is coming from a server because server is transcoding the internet radio stream then rebuffering means either internet radio stream is "lumpy" or transcoding process is too slow (i.e. it takes processor more than one sec elapsed time to generate 1 sec of playing audio).

If either the the OS is softfloat or OS is hardfloat and LMS is set up for softfloat - then you will probably get rebuffering due to transcoding.

pkfox
2014-10-02, 06:37
The player even with transcoding - it is when server has determined (from reports from the player) that the player's internal buffer is not full enough to play audio.

If you are using an older player such as SB3/Transporter then you can select from WebUI Settings/Player basic Setting / Now Playing information a "Show buffer fullness" which will give realtime display of player's buffer status. On internet radio streams this fullness is shown as on player display top line RHS "xx.x / yy.y SECONDS" . I think the xx.xx is the current number of estimated seconds in buffer and the yy.y is low threshold and is set by the LMS Radio Station buffer parameters. The XX.X number is usually much larger than YY.Y with transcoded streams.

edit:

Rebuffering means a player does not have enough data to play audio in realtime. If the player audio stream is coming from a server because server is transcoding the internet radio stream then rebuffering means either internet radio stream is "lumpy" or transcoding process is too slow (i.e. it takes processor more than one sec elapsed time to generate 1 sec of playing audio).

If either the the OS is softfloat or OS is hardfloat and LMS is set up for softfloat - then you will probably get rebuffering due to transcoding.

Ok thanks, how do I know if my OS is hard or soft float ?

bpa
2014-10-02, 06:42
Ok thanks, how do I know if my OS is hard or soft float ?

I don't know any definitive way for all distros/releases but you could try "uname -a" and post the output.

The name of the distro and version and when and from where you got the distro would also help.

RonM
2014-10-02, 06:43
How can a MP3 stream be "audiophile"? Sorry, scnr ;)

Gesendet von meinem Nexus 4 mit Tapatalk

I'll agree with this sentiment, but only when a so-called audiophile can actually demonstrate in a properly controlled study that he or she can tell the difference between a 320 mp3 stream and a lossless stream. I don't actually think that this has yet been demonstrated. Perhaps by a very small minority with extra-good hearing and proper training.

pkfox
2014-10-02, 06:46
I don't know any definitive way for all distros/releases but you could try "uname -a" and post the output.

The name of the distro and version and when and from where you got the distro would also help.

Hi and thanks for your patience apparently if you have a folder on Raspbian called /lib/arm-linux-gnueabihf ( and I do ) you have hard float. So I now need to know what LMS is using I'm running 7.8

bpa
2014-10-02, 07:07
Hi and thanks for your patience apparently if you have a folder on Raspbian called /lib/arm-linux-gnueabihf ( and I do ) you have hard float. So I now need to know what LMS is using I'm running 7.8

How did you instyall LMS ? used debian package or download tgz ?

The LMS 7.8 for Arm in the Download directory of slimserver.com looks like it has softfloat version of faad.

If you have readelf installed you should check on the version of faad in the LMS Bin/arm-linux directory

see http://www.cnx-software.com/2013/04/22/how-to-detect-if-an-arm-elf-binary-is-hard-float-armhf-or-soft-float-armel/

edit:

AFAICT all version of arm faad on Logitech source sites (svn, git) are soft-float. I thought there was a LMS hardfloat build somewhere.

It's possible that hard float versions of faad (with the necessary LMS patches) must have been built by users or else user used images such as Squeezeplug7

wortgefecht
2014-10-02, 07:15
I'll agree with this sentiment, but only when a so-called audiophile can actually demonstrate in a properly controlled study that he or she can tell the difference between a 320 mp3 stream and a lossless stream. I don't actually think that this has yet been demonstrated. Perhaps by a very small minority with extra-good hearing and proper training.

I am on your side here, at least if we are talking about radio streams. I would neither call myself an audiophile, nor do I think I have excellent hearing, but I made a test recently with my Reson PR80s, which is basically a 10 year old, proprietary cd player/ripping station/UPnP client box similar to a VortexBox. Even though it is proprietary, it runs on Linux and can be accessed via telnet--and therefore be hacked and modded. I ripped the same song (Jazz, heavy on sax, drums and male/female voice; not my style, but for the purpose ok) as mp3 (192, 256, 320) and flac and played it on my system (Reson > DAC > vintage high-end amp and matching speakers). mp3 192 sounded bad, especially when played on low volume. 320 mp3 and flac were almost indistinguishable for me, but when I listened to those two without knowing which was which, flac came out on top most of the times.

Again, this was on my dedicated setup for listening. On my Boom or Radio, lossy or lossless does not make any difference, in my opinion. But I think, that is way off-topic here ;)

toby10
2014-10-02, 07:21
When you see the buffering message on your player is it the player buffering or the server ?

Is it buffering only when playing from your music library? How about when playing the 320k internet stream mentioned before?

pkfox
2014-10-02, 09:27
Is it buffering only when playing from your music library? How about when playing the 320k internet stream mentioned before?

Hi there no it only buffers when playing internet stream it plays my flac files ok

pkfox
2014-10-02, 09:30
How did you instyall LMS ? used debian package or download tgz ?

The LMS 7.8 for Arm in the Download directory of slimserver.com looks like it has softfloat version of faad.

If you have readelf installed you should check on the version of faad in the LMS Bin/arm-linux directory

see http://www.cnx-software.com/2013/04/22/how-to-detect-if-an-arm-elf-binary-is-hard-float-armhf-or-soft-float-armel/

edit:

AFAICT all version of arm faad on Logitech source sites (svn, git) are soft-float. I thought there was a LMS hardfloat build somewhere.

It's possible that hard float versions of faad (with the necessary LMS patches) must have been built by users or else user used images such as Squeezeplug7

I installed from Debian package, so it looks as if I have hard float OS with soft float LMS ? would that account for the problem ? I assume all this float talk is the floating point maths going on I can't see how that would make a huge difference but hey ho

bpa
2014-10-02, 10:36
I installed from Debian package, so it looks as if I have hard float OS with soft float LMS ? would that account for the problem ?

Yes - I thought there was a hard float version of LMS but I can't see it - perhaps somebody else might know better.


I assume all this float talk is the floating point maths going on I can't see how that would make a huge difference but hey ho

All audio compression encoding needs a lot of mathematical computations.

Doing floating point arithmetic can be very CPU processor intensive when it is done using "normal" processor bit level operations (e.g. 32 bit / 64 bit integer add, divide, shift etc) so special hardware has been developed and included on the processor - this is called an FPU (Floating Point Unit). FPUs take up silicon (i.e. cost more) so not all processor bother with them as the intended application may not need floating point (e.g. NAS/file server).

ARM processors can have a FPU but they call it a VFP (Vector Floating Point) as it can do some other vector operation in hardware.

System which emulate VFP Floating point instructions emulated through software are called soft-float. A Floatin point instruction emulated through software will take many times longer (could be a factor of 100) compared to a hardware floating point instrtuction.
System which support VFP Floating point instructions are called hard-float.
Applications built for softfloat can run on hardfloat systems but not vice-versa

So LMS built for ARM uses the lowest common denominator that should run on many ARM system - soft float.

That said, you need a version of Flac (with LMS patches ?) for arm built with hard float. I think the faad has been built no to require floating point - this is possible because decode is not as processor intensive as encoding.

tcutting
2014-10-02, 11:16
Wasn't there a suggestion earlier to have the OP change to NOT sending FLAC, but to send PCM instead? That results in about 2x additional network usage on his local network, but the thought was that transcoding from AAC to PCM was fairly straight-foward, but then having to transcode again to FLAC was where the bottleneck was.
I don't, however, know offhand how to tell LMS to send PCM instead of FLAC.

bpa
2014-10-02, 11:25
Wasn't there a suggestion earlier to have the OP change to NOT sending FLAC, but to send PCM instead? That results in about 2x additional network usage on his local network, but the thought was that transcoding from AAC to PCM was fairly straight-foward, but then having to transcode again to FLAC was where the bottleneck was.
I don't, however, know offhand how to tell LMS to send PCM instead of FLAC.

Yes - I made th suggestion but OP didn't change the setting correctly and I didn't followup as the load imposed on the Pi by doubling traffic might not help.

pkfox
2014-10-02, 21:57
Yes - I made th suggestion but OP didn't change the setting correctly and I didn't followup as the load imposed on the Pi by doubling traffic might not help.

Hi all, what didn't I change properly ?

pkfox
2014-10-03, 00:16
Hi all, this looks interesting http://www.imagineict.co.uk/squeezier-pi - I've installed it and so far it's much better - not tried radioio yet but have been streaming BBC Radio 4 for an hour without any rebuffering so far. If you read the article you can see that the poster has compiled with hard float which is what the Pi uses, so fingers crossed - I've learnt loads from all you people who have posted on this thread and I now have a much better understanding of how LMS and the OS communicate. Thank you all for your help.

pkfox
2014-10-03, 00:43
Looking good been playing radioio for fifteen minutes with no issues - I think we've cracked it :-)

bpa
2014-10-03, 01:15
Hi all, what didn't I change properly ?

This is a bit academic since it looks like you found hard float versions of faad and flac and yoru system is working OK.



Hi, the settings were: AAC = native, FLAC = faad/flac, MP3 = disabled, PCM = faad , which doesn't mean anything to me. I tried disabling what you suggested but it's still the same - when the Transporter displays Buffering ... 45% etc is it referring to itself or the server ?
This answer wasn't clear to me since you didn't say what you disabled. I was suggesting change under Settings/Advanced/Filetypes/ AAC change the Flac setting from "faad/flac" to "disabled" and then click Apply.

This hard float / soft float is a bit of a mess and if you do a search of the forum you'll see variations of this problem have been many times. Raspbian/Hard float only became available and widely used starting about 9months - 12 months after Pi was released and there are many other similar ARM based system around with ARM5/7/9/11 and with/without VFP which makes it hard to produce a package for all ARM systems which is why users liked prepackaged customised versions like Squeezeplug 7.

pkfox
2014-10-03, 08:30
I did actually do that (turn off flac ) but it didn't make any difference - had my first rebuffering stutter a few minutes ago but that could be just traffic as it's been on all day while I worked so that's not bad at all.