Home of the Squeezebox™ & Transporter® network music players.
Results 1 to 6 of 6
  1. #1
    Member
    Join Date
    Aug 2014
    Location
    UK
    Posts
    39

    IPlayer radio idea

    I suffer badly from re-buffering on the BBC MP3 Live streams. So I have had to use LMS to listen to the HLS live streams. That works brilliantly using BPA's version. I use a RaspberryPi (B) old version and tell it to use the radio to do the aac decode, as described in the preferences - I also prevent _squeezelite from running. This results in 1-5% CPU use (attached) and I can run 3 radios at once all on different BBC stations. Works better than the Triode Alpha plugin (uses lots of CPU -Perl decode). Can go all day without any gaps. UK based on SKY fibre. Very happy - however, I want to go back to no LMS needed!

    BPA you are using ffmpeg - and that does the HLS decode? then the rest is up to the radio. Is there a short cut to getting the plugin working again for live if there was a compiled version of ffmpeg for the radio?
    Attached Images Attached Images  

  2. #2
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    17,856
    Quote Originally Posted by Dean_Bayliss View Post
    I suffer badly from re-buffering on the BBC MP3 Live streams. So I have had to use LMS to listen to the HLS live streams. That works brilliantly using BPA's version. I use a RaspberryPi (B) old version and tell it to use the radio to do the aac decode, as described in the preferences - I also prevent _squeezelite from running. This results in 1-5% CPU use (attached) and I can run 3 radios at once all on different BBC stations. Works better than the Triode Alpha plugin (uses lots of CPU -Perl decode).
    That is strange, IIRC most users report much lower CPU when using Triode plugin compared to using ffmpeg. I suspect you could have a DNS problem which is one issue some user have with Triodes plugin.


    BPA you are using ffmpeg - and that does the HLS decode? then the rest is up to the radio. Is there a short cut to getting the plugin working again for live if there was a compiled version of ffmpeg for the radio?
    No ffmpeg for radio built and even if there was it wouldn't help, since unlike Touch, Radio does not have a TinyLMS. So the Mysb.com based solution you seek (i.e. no local LMS) for Radio means somebody having to implement HLS in LUA (and or C) and there are very few people skilled in developing new protocols for Radio/Touch.

  3. #3
    Member
    Join Date
    Aug 2014
    Location
    UK
    Posts
    39
    OK understood - seems one inevitable conclusion on the radio front. Find some time... understand how the alpha HLS code works and have a go at it in C, I've got the hang of LUA, but I think on it's own it will be too slow. It's the find time part! Well for now at least we have 100% working solution. If anyone else is interested.... or perhaps it will just turn up on the test repository

    On the Triode Alpha - no problems with buffering or DNS (the issue is the live MP3 streams). The problem with the Alpha plugin, is that it consumes so much CPU - especially if 3 people are using different radios, that the LMS runs out of steam on the original Pi. The advantage of your version is that it consumes so much less in CPU terms (radio doing aac decode), that it simply works! I guess it's a compiled ffmpeg Vs perl. The ffmpeg on the forum for the Pi seems fine working with the radio.

  4. #4
    Senior Member
    Join Date
    Oct 2010
    Location
    UK
    Posts
    317
    Quote Originally Posted by Dean_Bayliss View Post
    OK understood - seems one inevitable conclusion on the radio front. Find some time... understand how the alpha HLS code works and have a go at it in C, I've got the hang of LUA, but I think on it's own it will be too slow. It's the find time part! Well for now at least we have 100% working solution. If anyone else is interested.... or perhaps it will just turn up on the test repository

    On the Triode Alpha - no problems with buffering or DNS (the issue is the live MP3 streams). The problem with the Alpha plugin, is that it consumes so much CPU - especially if 3 people are using different radios, that the LMS runs out of steam on the original Pi. The advantage of your version is that it consumes so much less in CPU terms (radio doing aac decode), that it simply works! I guess it's a compiled ffmpeg Vs perl. The ffmpeg on the forum for the Pi seems fine working with the radio.
    Are you sure you've tried Triode's latest (alpha3) plugin. CPU usage is way lower than the alpha2 version. Not quite as low as the compiled C, but not significant on my arm system which is about the same performance as the original pi.

  5. #5
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    17,856
    Quote Originally Posted by Dean_Bayliss View Post
    I guess it's a compiled ffmpeg Vs perl.
    No. The issue is that ffmpeg makes fewer DNS requests and also does more internal buffering (i.e uses more resources) than the Perl version - nothing to do with compiled vs interpreted - probably as much to do with LMS (and its DNS handling).

  6. #6
    Member
    Join Date
    Aug 2014
    Location
    UK
    Posts
    39
    I made two new identical cards - one using ffmpeg and the other Alpha3 (was using this before, but noticed off/transcode wan't storing after reboot) so I could compare and make sure there were no odd differences. Used Pi B and Pi2. On the Pi 2 Alpha3 runs well and seems constant at 3% CPU per radio and no rebuffering. On the original Pi, things are more erratic, about 10% and shoots to 60% CPU on a single radio, although I still didn't get any re-buffering issues even when I tried three.

    When I swapped to the ffmpeg version, on the original Pi runs from 1%-5% and about once every 40 seconds, a jump to 30%. Hope that info is useful to anyone else who wants to get multiple radios working with LMS and RPi. I then added the text modification to alpha 3.

    For now thanks to BPA and Triode we have two solutions, I'll just live in hope for now that an applet appears one day, and in the meantime keep studying that code! thanks all

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •