Originally posted by gordonb3
View Post
Announcement
Collapse
No announcement yet.
LMS 8.1.1 (and above) break radio streaming on SB Radio
Collapse
X
-
LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3
-
Originally posted by philippe_44 View PostThis is part of what I had to do to allow players that support aac to play mp4 streams but also to allow LMS to transcode when they don’t. It’s true that LMS does not benefit from mp4 to aac unwrapping when transcoding is disabled. Candidly, when I was writing that I was of the opinion that the notranscoding option should simply be removed
This said, my armv5te device actually does a pretty good job even with transcoding enabled (though last time I had it configured that way I only had two SB devices). The trouble started when I added some python scripts to my home automation app that also runs on that machine to pull data from a web service and the CPU load from python caused the players to start stuttering and sometimes even become completely silent for several seconds. That is why I require the notranscoding and really the only drawback is that I need to convert media files that come in `weird` formats (like Apple lossless) to native supported formats prior to adding them to LMS (effectively I recode everything to flac16 or if the original format was lossy to mp3).
Honestly, if I had enough time I would likely make an attempt to rewrite LMS in C++. I know there's lots of people that dislike compiling stuff but at current energy prices the difference between 10 Watts and 100 Watts approaches 500 euros a year. That is money I'd rather spend on a nice diner.
Comment
-
Originally posted by gordonb3 View PostThat would place higher requirements on the server CPU and subsequently either rule out green devices completely or require them to be dedicated for LMS and even then you would likely run into trouble when copying new music files onto them while also listening.
This said, my armv5te device actually does a pretty good job even with transcoding enabled (though last time I had it configured that way I only had two SB devices). The trouble started when I added some python scripts to my home automation app that also runs on that machine to pull data from a web service and the CPU load from python caused the players to start stuttering and sometimes even become completely silent for several seconds. That is why I require the notranscoding and really the only drawback is that I need to convert media files that come in `weird` formats (like Apple lossless) to native supported formats prior to adding them to LMS (effectively I recode everything to flac16 or if the original format was lossy to mp3).
Honestly, if I had enough time I would likely make an attempt to rewrite LMS in C++. I know there's lots of people that dislike compiling stuff but at current energy prices the difference between 10 Watts and 100 Watts approaches 500 euros a year. That is money I'd rather spend on a nice diner.LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3
Comment
-
Originally posted by philippe_44 View PostBut you can get LMS running with transcoding even on an old PiZero 1st gen with arm1176. Transcoding does not use that much CPU and compilers are really efficient (remember that all transcoders are native compiled application)
btw, I did in fact spend the time to convert those python scripts that prompted me to change LMS to notranscoding into an ELF binary which reduced its runtime from 40+ seconds to below 1 (using two http calls at minimum). That is the difference between running code that is interpreted versus code that is compiled. I'll bet you that if I were to rewrite LMS and turn it into a binary I can make it show its web GUI within a second after startup as well (currently takes 10-15 seconds for the Apache frontend to stop returning a HTTP-500).
Comment
-
LMS 8.1.1 (and above) break radiostreaming on SB Radio
> interpreted versus code that is compiled. I'll bet you that if I were to
> rewrite LMS and turn it into a binary I can make it show its web GUI
> within a second after startup as well (currently takes 10-15 seconds for
> the Apache frontend to stop returning a HTTP-500).
But you'll never get the months or years back you'll spend trying to
re-implement LMS :-D. The attempts have been there. Nobody came up with
anything remotely usable.
Michael
"It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
(LMS: Settings/Information)
Comment
-
LMS 8.1.1 (and above) break radiostreaming on SB Radio
>> interpreted versus code that is compiled. I'll bet you that if I were to
>> rewrite LMS and turn it into a binary I can make it show its web GUI
>> within a second after startup as well (currently takes 10-15 seconds for
>> the Apache frontend to stop returning a HTTP-500).
>
> But you'll never get the months or years back you'll spend trying to
> re-implement LMS :-D. The attempts have been there. Nobody came up with
> anything remotely usable.
Oh, and all the electric power you'll use working day and night. You'll
never compensate this using an underpowered device to run the code
instead of a Pi which wouldn't consume any more energy today...
Michael
"It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
(LMS: Settings/Information)
Comment
-
I think as a dev the product of time_to_develop * runtime_ressources * app_complexity is a sort of constant. You just need to figure out what matters for you. I’m able now to create by my own things that would have taken a lifetime when I started my career. But it comes with a price. Language is one of the trade offs. As I did a lot of assembly, then C/C++ and then Perl (and Python to a lesser extend) I feel that difference very well.LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3
Comment
-
Originally posted by philippe_44 View PostI think as a dev the product of time_to_develop * runtime_ressources * app_complexity is a sort of constant. You just need to figure out what matters for you. I’m able now to create by my own things that would have taken a lifetime when I started my career. But it comes with a price. Language is one of the trade offs. As I did a lot of assembly, then C/C++ and then Perl (and Python to a lesser extend) I feel that difference very well.
Comment
-
Originally posted by mherger View PostOh, and all the electric power you'll use working day and night. You'll
never compensate this using an underpowered device to run the code
instead of a Pi which wouldn't consume any more energy today...
Oh and obviously this is just a background server. It doesn't even have any graphic interface that you can connect a screen to. And as stated it runs a lot more than just LMS and does not get corrupted by an SD card turning unwritable so I'll choose this over a Pi any time.
Comment
-
LMS 8.1.1 (and above) break radiostreaming on SB Radio
> Oh and obviously this is just a background server. It doesn't even have
> any graphic interface that you can connect a screen to. And as stated it
> runs a lot more than just LMS and does not get corrupted by an SD card
> turning unwritable so I'll choose this over a Pi any time.
Your choice. But you seem to suffer real problems with your choice,
asking for help about them, while SD card corruption and "Pi is no
better" are purely assumptions. Moving from an ARMv5 based NAS to a Pi3B
was like night and day. And that Pi has been running flawlessly on the
same SD card since January 2017.
Michael
"It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
(LMS: Settings/Information)
Comment
-
Originally posted by mherger View PostYour choice. But you seem to suffer real problems with your choice,
asking for help about them, while SD card corruption and "Pi is no
better" are purely assumptions. Moving from an ARMv5 based NAS to a Pi3B
was like night and day. And that Pi has been running flawlessly on the
same SD card since January 2017.
PS How long ago was it that you rebooted that Pi? Typical reports about SD card failure state that data turns out to be missing after a reboot. That is because memory cards and USB sticks usually do not report write failures that are caused by a memory location having become fixed and so whatever you think is written on it may in reality only exist in disk cache.
Comment
-
LMS 8.1.1 (and above) break radiostreaming on SB Radio
Could you please try the latest 8.3.1 nightly build? Philippe kindly
provided a patch which would hopefully fix this.
Michael
"It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
(LMS: Settings/Information)
Comment
-
Originally posted by mherger View PostCould you please try the latest 8.3.1 nightly build? Philippe kindly
provided a patch which would hopefully fix this.
Verified with 8.2.0 - not ready for 8.3.x yet.
Comment
Comment