Announcement

Collapse
No announcement yet.

Metadata in FLAC streams

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Metadata in FLAC streams

    > And when you use just ogg-flac and no icy off-band metadata, squeezelite

    How would I do that?

    > is still unhappy? If you force LMS to use flac.exe to transcode flac to
    > pcm for the player, does it still fail?


    Yes. It would continue to play, but only after a break of several
    seconds during which it's restarting the stream:

    -: WARNING, don't have accurate sample count available for WAVE header.
    Generated WAVE file will have a data chunk size of 0. Try
    decoding directly to a file instead.
    -: WARNING, cannot check MD5 signature since it was unset in the STREAMINFO
    ..../Bin/darwin/sox FAIL sox: `-' error writing output file: Broken pipe
    -: WARNING, don't have accurate sample count available for WAVE header.
    Generated WAVE file will have a data chunk size of 0. Try
    decoding directly to a file instead.

    Jim



    VB2.4 storage QNAP TS419p (NFS)
    Living Room Joggler & Pi4/Khadas -> Onkyo TXNR686 -> Celestion F20s
    Office Joggler & Pi3 -> Denon RCD N8 -> Celestion F10s
    Dining Room SB Radio
    Bedroom (Bedside) Pi Zero+DAC ->ToppingTP21 ->AKG Headphones
    Bedroom (TV) & Bathroom SB Touch ->Denon AVR ->Mordaunt Short M10s + Kef ceiling speakers
    Guest Room Joggler > Topping Amp -> Wharfedale Modus Cubes

    #2
    Metadata in FLAC streams

    I’m building a Radio Station and have been testing it by using LMS as the client for my FLAC stream tests but I have run into an issue that I think may have revealed a limitation of the piCorePlayer based LMS.
    Using my production server which is an old HP Microserver if I tune in to my FLAC stream I see metadata and changes as you’d expect. If I tune in using either of 2 Pi based LMS (I have a Dev one here and another at a work location) I get the initial metadata but no changes.
    Initially I put it down to a networking issue but I’m pretty sure it’s not and that the culprit must be the Pi itself.
    This is confined to the FLAC stream.
    All servers work fine with mp3 stream.
    Anybody have any ideas on what could be the issue. Time?
    Jim



    VB2.4 storage QNAP TS419p (NFS)
    Living Room Joggler & Pi4/Khadas -> Onkyo TXNR686 -> Celestion F20s
    Office Joggler & Pi3 -> Denon RCD N8 -> Celestion F10s
    Dining Room SB Radio
    Bedroom (Bedside) Pi Zero+DAC ->ToppingTP21 ->AKG Headphones
    Bedroom (TV) & Bathroom SB Touch ->Denon AVR ->Mordaunt Short M10s + Kef ceiling speakers
    Guest Room Joggler > Topping Amp -> Wharfedale Modus Cubes

    Comment


      #3
      As an experiment - try setting the player to proxy through LMS.
      Settings/Player/xx:xx:xx:xx/AUdio/Streaming Method/Proxied Streaming
      Paul Webster
      Author of "Now Playing" plugins covering Radio France (FIP etc), PlanetRadio (Bauer - Kiss, Absolute, Scala, JazzFM etc), KCRW, ABC Australia and CBC/Radio-Canada
      and, via the extra "Radio Now Playing" plugin lots more - see https://forums.slimdevices.com/showt...Playing-plugin

      Comment


        #4
        Originally posted by Paul Webster View Post
        As an experiment - try setting the player to proxy through LMS.
        Settings/Player/xx:xx:xx:xx/AUdio/Streaming Method/Proxied Streaming
        Good shout but no change.
        Jim



        VB2.4 storage QNAP TS419p (NFS)
        Living Room Joggler & Pi4/Khadas -> Onkyo TXNR686 -> Celestion F20s
        Office Joggler & Pi3 -> Denon RCD N8 -> Celestion F10s
        Dining Room SB Radio
        Bedroom (Bedside) Pi Zero+DAC ->ToppingTP21 ->AKG Headphones
        Bedroom (TV) & Bathroom SB Touch ->Denon AVR ->Mordaunt Short M10s + Kef ceiling speakers
        Guest Room Joggler > Topping Amp -> Wharfedale Modus Cubes

        Comment


          #5
          Maybe Squeezelite cannot read (some version of) metadata in FLAC.

          How about telling LMS to transcode it to MP3 (just for fun) - at least it would show that LMS can read it and then Squeezelite might be changed to do the same (if that is the issue)?
          Paul Webster
          Author of "Now Playing" plugins covering Radio France (FIP etc), PlanetRadio (Bauer - Kiss, Absolute, Scala, JazzFM etc), KCRW, ABC Australia and CBC/Radio-Canada
          and, via the extra "Radio Now Playing" plugin lots more - see https://forums.slimdevices.com/showt...Playing-plugin

          Comment


            #6
            Originally posted by Paul Webster View Post
            Maybe Squeezelite cannot read (some version of) metadata in FLAC.

            How about telling LMS to transcode it to MP3 (just for fun) - at least it would show that LMS can read it and then Squeezelite might be changed to do the same (if that is the issue)?
            I don’t think it’s a Squeezelite issue. Squeezelite has no knowledge of metadata does it?
            I feel it’s a server based issue.
            Production non Pi server with Squeezelite player. Metadata updates shown in eg Material
            Dev server. Metadata updates not shown in Material or iPeng or Default.
            Jim



            VB2.4 storage QNAP TS419p (NFS)
            Living Room Joggler & Pi4/Khadas -> Onkyo TXNR686 -> Celestion F20s
            Office Joggler & Pi3 -> Denon RCD N8 -> Celestion F10s
            Dining Room SB Radio
            Bedroom (Bedside) Pi Zero+DAC ->ToppingTP21 ->AKG Headphones
            Bedroom (TV) & Bathroom SB Touch ->Denon AVR ->Mordaunt Short M10s + Kef ceiling speakers
            Guest Room Joggler > Topping Amp -> Wharfedale Modus Cubes

            Comment


              #7
              Originally posted by d6jg View Post
              I don’t think it’s a Squeezelite issue. Squeezelite has no knowledge of metadata does it?
              IIRC Squeezelite (or any SB player) when playing direct stream - strips metadata and sends metadata to LMS to display.

              Comment


                #8
                Originally posted by bpa View Post
                IIRC Squeezelite (or any SB player) when playing direct stream - strips metadata and sends metadata to LMS to display.
                It’s Proxied now with the same result.
                Squeezelite players on my Production box are OK.
                I’ll need to switch an SB3 across to a dev box and see if that makes a difference.
                I have tried the RP flacm stream and that works on all.
                There isn’t anything on the streaming server side that can be fiddled. Icecast based server.
                Jim



                VB2.4 storage QNAP TS419p (NFS)
                Living Room Joggler & Pi4/Khadas -> Onkyo TXNR686 -> Celestion F20s
                Office Joggler & Pi3 -> Denon RCD N8 -> Celestion F10s
                Dining Room SB Radio
                Bedroom (Bedside) Pi Zero+DAC ->ToppingTP21 ->AKG Headphones
                Bedroom (TV) & Bathroom SB Touch ->Denon AVR ->Mordaunt Short M10s + Kef ceiling speakers
                Guest Room Joggler > Topping Amp -> Wharfedale Modus Cubes

                Comment


                  #9
                  Originally posted by d6jg View Post
                  It’s Proxied now with the same result.
                  Squeezelite players on my Production box are OK.
                  I’ll need to switch an SB3 across to a dev box and see if that makes a difference.
                  I have tried the RP flacm stream and that works on all.
                  There isn’t anything on the streaming server side that can be fiddled. Icecast based server.
                  Can't help much as I don't know how metadata is added to Flac streams (e.g. icy, MPEG2+ID3) nor the "standard" transport format for streaming Flac. I thought the RP Flac support was a special.

                  Comment


                    #10
                    Originally posted by bpa View Post
                    Can't help much as I don't know how metadata is added to Flac streams (e.g. icy, MPEG2+ID3) nor the "standard" transport format for streaming Flac. I thought the RP Flac support was a special.
                    TBH when I first fired it up on my Production Box I was a bit surprised that the metadata was working apparently across all player types. I was expecting issues.
                    Today I went to work elsewhere but where I have a piCorePlayer player/LMS. It worked with mp3 but no updates over FLAC.
                    Then I looked on my dev server here and it was the same.
                    Both are piCorePlayer. It must be something to do with the Pi either something to do with the clock or perhaps a subtle difference in LMS on the Pi.
                    Typing that I’ve just realised Pi’s are 32 bit but my HP server is 64bit so there is a compiling difference.
                    Jim



                    VB2.4 storage QNAP TS419p (NFS)
                    Living Room Joggler & Pi4/Khadas -> Onkyo TXNR686 -> Celestion F20s
                    Office Joggler & Pi3 -> Denon RCD N8 -> Celestion F10s
                    Dining Room SB Radio
                    Bedroom (Bedside) Pi Zero+DAC ->ToppingTP21 ->AKG Headphones
                    Bedroom (TV) & Bathroom SB Touch ->Denon AVR ->Mordaunt Short M10s + Kef ceiling speakers
                    Guest Room Joggler > Topping Amp -> Wharfedale Modus Cubes

                    Comment


                      #11
                      Originally posted by d6jg View Post
                      TBH when I first fired it up on my Production Box I was a bit surprised that the metadata was working apparently across all player types. I was expecting issues.
                      Today I went to work elsewhere but where I have a piCorePlayer player/LMS. It worked with mp3 but no updates over FLAC.
                      Then I looked on my dev server here and it was the same.
                      Both are piCorePlayer. It must be something to do with the Pi either something to do with the clock or perhaps a subtle difference in LMS on the Pi.
                      Typing that I’ve just realised Pi’s are 32 bit but my HP server is 64bit so there is a compiling difference.
                      Are you talking about updates during flac stream? If you do, be aware that flac does not support that. It's not a limitation of the player but of flac itself. Now, you should use flac in an ogg container and that will do.
                      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


                        #12
                        Originally posted by philippe_44 View Post
                        Are you talking about updates during flac stream? If you do, be aware that flac does not support that. It's not a limitation of the player but of flac itself. Now, you should use flac in an ogg container and that will do.
                        Sorry should have been clearer, it is FLAC in an Ogg container.
                        Jim



                        VB2.4 storage QNAP TS419p (NFS)
                        Living Room Joggler & Pi4/Khadas -> Onkyo TXNR686 -> Celestion F20s
                        Office Joggler & Pi3 -> Denon RCD N8 -> Celestion F10s
                        Dining Room SB Radio
                        Bedroom (Bedside) Pi Zero+DAC ->ToppingTP21 ->AKG Headphones
                        Bedroom (TV) & Bathroom SB Touch ->Denon AVR ->Mordaunt Short M10s + Kef ceiling speakers
                        Guest Room Joggler > Topping Amp -> Wharfedale Modus Cubes

                        Comment


                          #13
                          Originally posted by d6jg View Post
                          Sorry should have been clearer, it is FLAC in an Ogg container.
                          Well, this is a good question and to my real shame I had to look

                          So in case of RP streams, this is the plugin that polls the RP url to know what's on, there is no processing of any kind for oggflac in squeezelite... maybe something to develop!

                          [edit]: and I'll have to better read the ogg documentation if metadata can be placed alongside stream. But in your case, I think if you can add icy support in your radio server, that will for sure bring back metadata (with no help from a plugin) whether you're proxied or not. As @bpa said, with icy, squeezelite finds it and reports back to LMS which in return grabs things like artwork. The icy format is super simple http://ample.sourceforge.net/developers.shtml
                          Last edited by philippe_44; 2020-08-26, 07:43.
                          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


                            #14
                            Originally posted by philippe_44 View Post
                            Well, this is a good question and to my real shame I had to look

                            So in case of RP streams, this is the plugin that polls the RP url to know what's on, there is no processing of any kind for oggflac in squeezelite... maybe something to develop!

                            [edit]: and I'll have to better read the ogg documentation if metadata can be placed alongside stream. But in your case, I think if you can add icy support in your radio server, that will for sure bring back metadata (with no help from a plugin) whether you're proxied or not. As @bpa said, with icy, squeezelite finds it and reports back to LMS which in return grabs things like artwork. The icy format is super simple http://ample.sourceforge.net/developers.shtml
                            You have misunderstood slightly Philippe.

                            On my 64bit production server the FLAC/OGG stream connects and I DO GET metatdata updates. This is with SB hardware player or pCp squeezelite players.
                            On my 2 x Pi servers the FLAC/OGG stream connects and I get initial metadata (current song) on built in Squeezelite player but it does NOT update.
                            What I am saying is that there is some difference between LMS or Squeezelite on 64bit Linux and 32bit tinyCore Linux.
                            I have not yet had a chance to try any SB hardware player with the Pi's.

                            I think the fact it is MY Radio Station is actually irrelevant. Its just an Icecast server sending FLAC in an Ogg container.

                            PS. I was comparing the non plugin RP stream at http://stream.radioparadise.com/flacm
                            PPS. Yes longer term I shall be looking at a plugin.
                            Jim



                            VB2.4 storage QNAP TS419p (NFS)
                            Living Room Joggler & Pi4/Khadas -> Onkyo TXNR686 -> Celestion F20s
                            Office Joggler & Pi3 -> Denon RCD N8 -> Celestion F10s
                            Dining Room SB Radio
                            Bedroom (Bedside) Pi Zero+DAC ->ToppingTP21 ->AKG Headphones
                            Bedroom (TV) & Bathroom SB Touch ->Denon AVR ->Mordaunt Short M10s + Kef ceiling speakers
                            Guest Room Joggler > Topping Amp -> Wharfedale Modus Cubes

                            Comment


                              #15
                              Originally posted by d6jg View Post
                              You have misunderstood slightly Philippe.

                              On my 64bit production server the FLAC/OGG stream connects and I DO GET metatdata updates. This is with SB hardware player or pCp squeezelite players.
                              On my 2 x Pi servers the FLAC/OGG stream connects and I get initial metadata (current song) on built in Squeezelite player but it does NOT update.
                              What I am saying is that there is some difference between LMS or Squeezelite on 64bit Linux and 32bit tinyCore Linux.
                              I have not yet had a chance to try any SB hardware player with the Pi's.

                              I think the fact it is MY Radio Station is actually irrelevant. Its just an Icecast server sending FLAC in an Ogg container.

                              PS. I was comparing the non plugin RP stream at http://stream.radioparadise.com/flacm
                              PPS. Yes longer term I shall be looking at a plugin.
                              It’s probably too late for me on this side of the earth but that is really strange. Icecast are exactly servers that can or cannot sens such ICY metadata. Then player respond if they accept it. Because there is zero metadata sent back my any squeezelite except for icy
                              When you have metadata. Is the SB involved in the playback? Because if you have transcoding, it might be a different story. Ogf I don’t think is supported by SB so you’ll default to something else then and this could explain
                              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

                              Working...
                              X