Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 7 123 ... LastLast
Results 1 to 10 of 70
  1. #1
    Senior Member
    Join Date
    Dec 2009
    Location
    Albinea (Bologna Area) Italy
    Posts
    604

    QOBUZ Plugin buffering/caching.

    Hi All,

    I'm asking to Peirpulpe and Michael at first, but I think could be of general interest.

    Since just before last Christmas (when Qobuz opened the service in Italy) I experience much more dropouts and hicups than before. I use big buffers in the software player, so the problem is somehow mitigated, but when problems happen at the beginning of a track, buffering could not solve. Other people using real SBs reports same problems, not only in Italy but also in France.

    I had a conversation with Qobuz customer service and they said problem is the plugin/server that is not pre caching (download) tracks when played, as they do in theyr application and encourage third party developers to do.

    Could we enable some sort of pre caching/large buffering of the song being played? If needed and someone could point me, I'm here to help.
    __________________________________________________ ______________________
    Author of C-3PO plugin, Squeezelite-R2, Falcon Web interface - See www.marcoc1712.it

  2. #2
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    19,986

    QOBUZ Plugin buffering/caching.

    > Could we enable some sort of pre caching/large buffering of the song
    > being played? If needed and someone could point me, I'm here to help.


    That's what Proxied Streaming in LMS would do: buffer the stream in LMS
    as quickly as the source allows. We don't store data on disk, or
    download tracks ahead of time. But once playback has started this should
    have a similar effect.

    --

    Michael

  3. #3
    Senior Member
    Join Date
    Jan 2007
    Location
    Next to my neighbours :-)
    Posts
    148
    Quote Originally Posted by mherger View Post
    > Could we enable some sort of pre caching/large buffering of the song
    > being played? If needed and someone could point me, I'm here to help.


    That's what Proxied Streaming in LMS would do: buffer the stream in LMS
    as quickly as the source allows. We don't store data on disk, or
    download tracks ahead of time. But once playback has started this should
    have a similar effect.

    --

    Michael
    I could be terribly mistaken but when I tried the proxy method the track was still aborted. I'll give it a shot again tonight.

    Might I have missed that there are 2 sorts of proxy streaming in LMS? The one I know of is that the player (touch, boom, etc) normally contacts the qobuz/spotify/... server directly but with proxy streaming all is routed through LMS (hence proxy)

    Is it possible to 'hack' the Qobuz plugin (or LMS) to cache a track (downloading it faster than needed for playing)?
    does the all-black SB sound better than the white SB?

  4. #4
    Senior Member
    Join Date
    Dec 2009
    Location
    Albinea (Bologna Area) Italy
    Posts
    604
    Quote Originally Posted by mherger View Post
    > Could we enable some sort of pre caching/large buffering of the song
    > being played? If needed and someone could point me, I'm here to help.


    That's what Proxied Streaming in LMS would do: buffer the stream in LMS
    as quickly as the source allows. We don't store data on disk, or
    download tracks ahead of time. But once playback has started this should
    have a similar effect.

    --

    Michael
    HI Michael and thanks fro your super rapid answer, shall I ask you what you mean with "Proxied Streaming in LMS"? As hsmeets pointed, to me "Proxied Streaming" is the opposite of "Direct streaming" and if it is so, I already use proxy streaming, with little or no benefits. How big is the buffer in that case? shall we raise it? Shall we add a little delay in starting the reproduction in order to let it full a bit more (I do use 3 secs delay in LMS and looks to me it helps a bit, but not in a significant way).
    __________________________________________________ ______________________
    Author of C-3PO plugin, Squeezelite-R2, Falcon Web interface - See www.marcoc1712.it

  5. #5
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    19,986

    QOBUZ Plugin buffering/caching.

    > Might I have missed that there are 2 sorts of proxy streaming in LMS?
    > The one I know of is that the player (touch, boom, etc) normally
    > contacts the qobuz/spotify/... server directly but with proxy streaming
    > all is routed through LMS (hence proxy)


    That's the one there is. But LMS would AFAIK download the data at max.
    speed, effectively buffering it. I might be wrong, though, as there are
    still parts of LMS I'm not too familiar with...

    > Is it possible to 'hack' the Qobuz plugin (or LMS) to cache a track
    > (downloading it faster than needed for playing)?


    It would certainly be possible. But I'm not sure how easy it would be.

    --

    Michael

  6. #6
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    19,986

    QOBUZ Plugin buffering/caching.

    > HI Michael and thanks fro your super rapid answer, shall I ask you what
    > you mean with "Proxied Streaming in LMS"? As hsmeets pointed, to me
    > "Proxied Streaming" is the opposite of "Direct streaming" and if it is
    > so, I already use proxy streaming, with little or no benefits. How big
    > is the buffer in that case? shall we raise it? Shall we add a little
    > delay in starting the reproduction in order to let it full a bit more (I
    > do use 3 secs delay in LMS and looks to me it helps a bit, but not in a
    > significant way).


    3 secs is very little. I'd up this to at least 5s.

    --

    Michael

  7. #7
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    15,722
    The 3 secs delay is the amount of data (estimated by bitrate assigned to stream) that is sent to player before starting playback (plugin can override with its own bufferThreshold routine) - more important with "direct" playback rather than with "proxied" . There will be more data buffered by "proxied streaming" - if Qobuz is using a straight http single "GET" then much more data will be bufferfed in PC - sometimes limited by a TCP window size or sysread buffer size if Qobuz plugin uses sysread.

  8. #8
    Senior Member
    Join Date
    Dec 2009
    Location
    Albinea (Bologna Area) Italy
    Posts
    604
    Quote Originally Posted by mherger View Post
    That's the one there is. But LMS would AFAIK download the data at max.
    speed, effectively buffering it.
    ...
    3 secs is very little. I'd up this to at least 5s.

    Michael
    I'll have a try with 10secs and see if it helps, but I'm not aware we have that kind of FIFO (other than the HTTP buffer itself, that AFAIK is 2*max chunk -> 64Kb) where LMS store at the source speed also when the player is not asking for music. Could you point me to the module that define and handle it?

    Thanks
    __________________________________________________ ______________________
    Author of C-3PO plugin, Squeezelite-R2, Falcon Web interface - See www.marcoc1712.it

  9. #9
    Senior Member
    Join Date
    Dec 2009
    Location
    Albinea (Bologna Area) Italy
    Posts
    604
    Quote Originally Posted by bpa View Post
    The 3 secs delay is the amount of data (estimated by bitrate assigned to stream) that is sent to player before starting playback (plugin can override with its own bufferThreshold routine) - more important with "direct" playback rather than with "proxied" . There will be more data buffered by "proxied streaming" - if Qobuz is using a straight http single "GET" then much more data will be bufferfed in PC - sometimes limited by a TCP window size or sysread buffer size if Qobuz plugin uses sysread.
    I think is using HTTP sysread (HTTP module) that as far as i Know has 32Kb of maxchunk and, so, 64Kb of buffer size, calculated by PERL. I'm not aware of how to increase the buffer size in PERL and googling around i've got no net answers, but i'm not an expert, any Idea?
    __________________________________________________ ______________________
    Author of C-3PO plugin, Squeezelite-R2, Falcon Web interface - See www.marcoc1712.it

  10. #10
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    15,722
    Quote Originally Posted by marcoc1712 View Post
    I think is using HTTP sysread (HTTP module) that as far as i Know has 32Kb of maxchunk and, so, 64Kb of buffer size, calculated by PERL. I'm not aware of how to increase the buffer size in PERL and googling around i've got no net answers, but i'm not an expert, any Idea?
    If plugin is using normal LMS sysread - then I think the problem is with Quboz and their CDN - perhaps LMS plugin is not using some option (e.g. using http 1.0 vs http 1.1 - I don't know Qobuz format so this is just an example not a suggestion). Randomly changing various buffer sizes is not a good way to "fix" the problem. I'd use wireshark to examine the different dataflows and compare.

Posting Permissions

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