title
Products            Buy            Support Forum            Professional            About            Codec Central
 

Asset UPnP for Raspberry pi

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • simes_pep
    dBpoweramp Enthusiast
    • Dec 2013
    • 288

    Re: Asset UPnP for Raspberry pi

    Originally posted by simes_pep
    Umh, but then why does the non-transcoded FLAC version work just fine - they need to be served at the same I/O levels - just looking at the same track in FLAC and it is taking 1.5 MB/s of downstream (1.1 MB/s upstream) however but only 4-5% of CPU (mostly all System and little User) and the NAS is having to work alot harder. So without transcoding is the FLAC file on the NAS sent directly from the NAS to the Streamer or does it 'pass through' the Pi?

    Actually quite happy with playing FLAC and ALAC on my Naim ND5 streamer, it was just the Naim guys insisting that WAV is better, because that's what their Ripping/Server solution uses!

    BTW I have pulled together a Configuration Guide for Asset on the Raspberry Pi, as you have quite some interest on the Naim Streaming Audio forum. Can I post a pdf to this forum?

    Also what's the Release plans for Asset on the Pi, as I have just 16 days left of my Beta trial.

    Thanks,
    Simon.

    One other request ahead of release of Asset for the Pi, could you update the server's homepage at http://192.168.1.6:45537 to list the filename, with full directory path, that is being streamed. So if you need to make an adjustment to the metadata of the track, you can see the actual location of the file.

    Thanks,
    Simon.

    Comment

    • simes_pep
      dBpoweramp Enthusiast
      • Dec 2013
      • 288

      Re: Asset UPnP for Raspberry pi

      Also is there a configuration option in Asset to skip the A-Z listing in Artist, Album etc? In n-Stream there is a touch sensitive A-Z search bar on the right of the screen, so you can jump to the Artist, Album name etc. There is also a status bar, as it loads up all [All Artists] but Asset on the Pi, with iPad Mini Gen2 it is very quick for my 1620 entries from 16,806 tracks in 1365 albums.

      In the Advanced Search, when you select Compilation, can you configure the next level the 'Yes' out, as I only set Compilation to 1, for Compilations, so I would like Asset to go straight into the Compilations.

      Just small usability observations.

      Thanks,
      Simon.

      Comment

      • Spoon
        Administrator
        • Apr 2002
        • 43919

        Re: Asset UPnP for Raspberry pi

        The FLAC is uncompressed? (otherwise it will be 2:1 compression) also on the Pi much network IO is loaded onto the CPU whereas the additional CPU loading from decoding FLAC might be pushing it over the edge? Try decoding one FLAC file as a wave (outside of Asset) and see how that serves.

        A pdf would be great.

        The beta, you can kill the configuration dir and restart asset to restart the trial, we need to be certain all issues are cleared before release.
        Spoon
        www.dbpoweramp.com

        Comment

        • Spoon
          Administrator
          • Apr 2002
          • 43919

          Re: Asset UPnP for Raspberry pi

          I would still recommend the A to Z, otherwise when browsing the whole lot needs sending per browse, it would be 24x slower at populating the screen.
          Spoon
          www.dbpoweramp.com

          Comment

          • Foxman50
            • Jun 2012
            • 6

            Re: Asset UPnP for Raspberry pi

            Originally posted by simes_pep
            Hi Spoon,
            However the only problem I have experienced is transcoding 24/192 files @ 9,216kb/s from FLAC to WAV, where there are dropouts every minute or so. Watching the buffer level when playing a 24/192 track (@ 8,467kb/s) it never reaches 100%, as it does when not transcoding and just playing FLAC. It starts at 70%, then drops to 50%, then 30% then 0%, then no music, buffer recovers to 30%, 50% music starts again, then continues to struggle to play the served file.
            There is less dropouts with 24/176.4 files, but is still not a solid 100% buffer level. 24/96 and below plays perfectly, with a solid 100% buffer level.

            The NAS, Pi and ND5 XS are connected through a Gigabit Netgear switch (GS108E) with a 16Gb/s throughput. The connection to the ND5 XS uses Mains Plugs with a measured through of 183 Mbit/s, again greater than the 100 Mbit/s NIC in the Naim streamer.


            Thanks,
            Simon.
            Hi Simon

            Ive not been having any trouble playing 24/192 flac transcoded to wav through my NDX. My setup is very similar to yours, the only difference is i don't use the "Mains Plugs". Are you able to by pass these for a test with a long cat 5 cable.

            I know your counter part In-Suffolk, who i think uses a different name on here, always suggests that these don't have the required through put. Maybe ask him over on the Naim forum.

            Regards Graeme

            Comment

            • simes_pep
              dBpoweramp Enthusiast
              • Dec 2013
              • 288

              Re: Asset UPnP for Raspberry pi

              Originally posted by Spoon
              The FLAC is uncompressed? (otherwise it will be 2:1 compression) also on the Pi much network IO is loaded onto the CPU whereas the additional CPU loading from decoding FLAC might be pushing it over the edge? Try decoding one FLAC file as a wave (outside of Asset) and see how that serves.

              A pdf would be great.

              The beta, you can kill the configuration dir and restart asset to restart the trial, we need to be certain all issues are cleared before release.
              Hi - I have put version 0.1 of compiled installation and configuration guide at https://www.dropbox.com/sh/bu8etep76nu4v5z/aMw624ZA5U

              Comments please.

              Thanks,
              Simon.

              Comment

              • Batleys
                • Jun 2011
                • 38

                Re: Asset UPnP for Raspberry pi

                Simon,
                This might becoming slightly like repeating the Naim forum, I too have no problem playing 192/24 WAV files (on a CIFS mount). However I note using 'top' that the CPU utilisation hovers around 75% when streaming 192/24 WAV. When transcoding 88/24 from FLAC to WAV its around 18%.
                Simon

                Comment

                • dunc
                  • Dec 2013
                  • 18

                  Re: Asset UPnP for Raspberry pi

                  Originally posted by Batleys
                  Simon,
                  This might becoming slightly like repeating the Naim forum, I too have no problem playing 192/24 WAV files (on a CIFS mount). However I note using 'top' that the CPU utilisation hovers around 75% when streaming 192/24 WAV. When transcoding 88/24 from FLAC to WAV its around 18%.
                  Simon
                  Hi simes_pep and Bentleys,

                  I agree with Spoon - it is most likely the Pi's 100Mb/s network interface not performing to it's abilities.

                  I have a similar setup with a NAS serving a Pi via CIFS shares, running Asset on the Pi, which is serving to a Naim Streamer (NDX).

                  I can stream both WAV and FLAC from the NAS to the Pi and on to the NDX no problems for 44/16, 88/24, 96/24 with no transcoding in Asset. When it comes to 192/96 FLAC, this also plays fine with or without transcoding to WAV in Asset - in both cases the nStream app reports 100% buffer.

                  However I get regular drop outs when serving a 192/96 WAV from the NAS to Asset on the Pi and on to the NDX. In this case the music is dropping out because the nStream buffer is regularly dropping to 0% and often only gets as high as 50-70%.

                  If I copy the wav file on to the Pi and serve it from Asset to the NDX there are no problems, and no dropouts. nStream reports 100% buffer full through out playback.

                  So I fired up iftop on the Pi and redid the above scenarios, including the file copy.

                  When streaming 44/16 for example, the Pi's bandwidth from the NAS is about 1.7Mb/s and about the same to the NDX, so about 4Mb/s in total with everything going on.

                  When streaming the 192/96 WAV directly to the NDX from the local SD card from Asset, the Pi is doing about 9.3Mb/s to the NDX. You can see why the Naim guys only put a 100Mb/s network interface into their streamers.

                  When streaming the 192/96 WAV from the NAS to Asset then on to the NDX, iftop reports the interface to the NAS is doing about 5.3Mb/s and the connection to the NDX about the same. Which is a lot lower than is required to satisfy the NDX's buffer for a 192/96 stream @ 9216kb/s.

                  When copying the WAV from the NAS over the same CIFS share to the Pi's SD card, I got about 40Mb/s, which is no where near the 80Mb/s the 100Mb/s ethernet interface should be capable of. I suspect that was limited by the Pi's network interface, the low power of the Pi's CPU, and possibly also the speed of the SD card itself (its a Class 10 Kingston 8GB card). Note this is over the same CIFS share that only streamed at 5.3Mb/s earlier - ie the NAS is unlikely to be the culprit.

                  At this point my suspects are the Pi's network, and/or possibly the NAS's network.

                  The NAS I built myself recently based on unRAID and sports a Haswell Core i3 and 1000Mb/s Intel NIC - so I suspect that won't be the problem. To be sure I fired up Asset on my NAS and served the same 192/96 WAV file just fine from there to the NDX @ 9.3Mb/s. I streamed a 7.3GB mkv 1080p video file from the NAS to another box on the same network (Asus EeeBox running OpenElec XBMC) and it was transferring data at a much higher rate. To push it further I can have multiple streams from the NAS to the NDX, the XBMC box, my laptop, and an iPad all running at once with no problems.

                  I also noticed that I get a lot of dropped RX packets reported by ifconfig on my NAS when Asset is streaming from my Pi (100s of dropped RX packets over a 3 min song, so still relatively low % packet loss). This is more so for larger files, eg when serving the 192/96 WAV from the NAS. This isn't a criticism of Asset, it is of the Pi. Note the Pi itself never reports any packet drops for TX or RX. When streaming the 7.3GB mkv file from the NAS to the XBMC box, I got about 15 RX packet drops on the NAS after about 2GB was streamed, ie a significantly lower rate of packet loss than when streaming a larger file to the Pi. When I was copying the 192/96 WAV file over the CIFS shares, there were 1000s of RX packets dropped according to my NAS, so I suspect something screwy is going on with the Pi's network interface.

                  So my conclusion is that the Pi's network interface is the main part of the problem (and possibly so is the Pi's CPU as it has to handle the interrupts from the network interface).

                  FYI on a related note I see a lot lower cpu utilisation on my Pi when serving or transcoding these files compared to the 75% reported by Batleys. I think I maxed out around 19% when transcoding the 192/96 FLAC to WAV via Asset - although I'm running the Minibian O/S build with a few tweaks, on the later 512MB model Pi, so there may be some differences in my setup from yours.

                  Anyway, hope that sheds some light on what you guys are seeing.

                  Comment

                  • simes_pep
                    dBpoweramp Enthusiast
                    • Dec 2013
                    • 288

                    Re: Asset UPnP for Raspberry pi

                    Hi folks,

                    I have placed an update version of the Configuration Guide at https://www.dropbox.com/sh/bu8etep76nu4v5z/aMw624ZA5U

                    I corrected some mistakes in the 0.1 version, plus also have been customizing the views presented to my Naim n-Stream End-point Controller application running on iPad/iPhone, which is covered in the 0.2 version.

                    The 'trees' view is configured in the txt file AssetUPnPDefinedBrowseTreev4 which can be found in the directory /home/pi/.dBpoweramp/uMediaLibrary-v2
                    Please take a backup before modifying and losing the original settings.

                    I have found it useful to remove the A-Z listing on a number of the views, so that all Albums, Artists, Tracks, Composers, etc. are listed alphabetically, allowing you to select using a touch-sensitive A-Z bar on the right of the size of n-Stream.
                    I have retained the A-Z listing and the ability to search by letter in the Advanced Search views.

                    Health warning on the Title view with really large collections on the Title view, as there may be a performance hit, but for my 16,841 tracks in 1369 albums on an iPad Mini, Gen2 with Retina display, running iOS 7.0.4 on a 802.11n network connection, performance is acceptable in just under a minute to list all tracks, but I don't normally use that view, as I prefer to go in by Album view which is loaded in under 5 seconds. Plus n-Stream on iPad caches the views, so if you are jumping views to locate a particular track, subsequent loads are instantaneous.

                    These changes mean that I can get to view Albums and their 'upstream' Album Artwork with fewer 'clicks' on the iPad and therefore select and play an Album or select individual tracks for replay faster.

                    I have included a copy of my modified AssetUPnPDefinedBrowseTreev4.txt file with this Configuration guide in the dropbox link, if you wish to try these modified views or use them as a starting point for your own customized views.

                    This was/is much easier than in Twonky Server, where you had to modify the XML in the views directory.

                    Enjoy,
                    Simon.

                    Comment

                    • Bjarne
                      • Aug 2013
                      • 4

                      Re: Asset UPnP for Raspberry pi

                      Bravo!
                      Asset on Raspberry is very good.
                      I am a user with windows for 2 years, mac beta for a long time and now raspberry for a week.
                      I have 12000 tracks on a synology ds212.
                      Playing on naim ndx. Using n-stream.
                      Good performance.
                      Asset is the best upnp solution I have seen so far. I have tried many!
                      Bjarne

                      Comment

                      • dunc
                        • Dec 2013
                        • 18

                        Re: Asset UPnP for Raspberry pi

                        Originally posted by simes_pep
                        Hi folks,

                        I have placed an update version of the Configuration Guide at https://www.dropbox.com/sh/bu8etep76nu4v5z/aMw624ZA5U

                        ....
                        Thanks Simon, that is very useful, especially for those of us with Naim network players with regards to the customisation of the Browse Tree. I'll have a closer look over next couple days, let you know if I have any feedback.

                        Cheers,
                        Dunc

                        Comment

                        • dunc
                          • Dec 2013
                          • 18

                          Re: Asset UPnP for Raspberry pi

                          Hi simes_pep and Batleys

                          Re my (rather large) post from earlier about streaming 192/96 WAV files from NAS via Asset - I happened to move some of my kit around, such that the Pi is now on the same network switch as my NAS and this solved the problem for me. The Pi with Asset now streams the same WAV file fine at 9.2Mb/s from the NAS and in parallel at 9.2Mb/s to the Naim, no problems.

                          The Pi had previously been on a different network switch at the other end of the room along with the Naim player. I have a switch at each end of the room - hifi stuff at one end, network gear (NAS, router, wifi etc) at the other, with a 10m Cat 6A cable running between the 2 switches (both Netgear GS608). It seems either the Pi with Asset needs to be closer to the NAS, or I have a faulty switch, port or cable at one end. The Naim is still on the 'suspect' switch at the far end of the room. Will do some more playing around to see what's what.

                          (Oh and a correction to my earlier novel - the 100Mb/s network interface is capable of about 60Mb/s in real world, as measured by iperf on my system, not 80 as I wrongly put earlier).

                          Comment

                          • Batleys
                            • Jun 2011
                            • 38

                            Re: Asset UPnP for Raspberry pi

                            Hi Dunc, it might be with checking your cables in and out of your 'suspect' switch. If there is a faulty cable or a faulty connection on the switch it could be working at half duplex as opposed to full duplex and therefore impacting throughput on the affected segment.
                            Simon

                            Comment

                            • Brigitte
                              • Mar 2013
                              • 5

                              Re: Asset UPnP for Raspberry pi

                              Thanks Spoon & team for developing this version for Raspberry, it's working great. Thank you Simon for the excellent manual. My Linux is a bit rusty and it was a great help. If I may suggest an edit: at the bottom of the page in which you describe editing crontab to mount the nas-drive automatically, it says "@reboot sudo mount /home/nas/pi", which I believe should be "@reboot sudo mount /home/pi/nas".

                              Comment

                              • dunc
                                • Dec 2013
                                • 18

                                Re: Asset UPnP for Raspberry pi

                                Originally posted by Batleys
                                Hi Dunc, it might be with checking your cables in and out of your 'suspect' switch. If there is a faulty cable or a faulty connection on the switch it could be working at half duplex as opposed to full duplex and therefore impacting throughput on the affected segment.
                                Simon
                                Thanks Simon, yeah I thought the same thing.

                                I've swapped out all of the cables and get the same result. I also moved things around on the network quite a few times, trying different combinations of switches, each time noting the config and result.

                                I found that whenever the Pi is on the same switch as the Naim player, and is streaming very large sample rate/bit rate (ie only 192/96) files from the NAS (regardless of whether NAS is on same switch or another switch), then the problem appears where the Pi won't stream high bit rate WAV files from NAS to Naim fast enough to keep the Naim player's buffer full enough to prevent drop outs in playback.

                                Whenever the Pi is on a separate switch from the Naim player, the problem goes away, and it streams the same file happily from NAS to Naim with 100% full buffer on the Naim throughout playback.

                                As well as replacing cables, I've swapped the switches over and the problem stays with the Pi, ie it doesn't follow the switch. I've also swapped the switches out as well with some spares I have (a Cisco and a different model NetGear), just to be sure, and I get the same result. I can stream multiple HD video streams over the same network segments flawlessly, so I think I've ruled out cables and the switches themselves.

                                The conclusion I've come to is for some reason the Pi with Asset cannot stream 192/96 WAV files from a NAS to a Naim streamer when the Pi is on the same network switch as the streamer. One solution is to move the Pi to another switch on the network. I'm guessing that this introduces a layer of buffering such that the Pi (or Asset, I'm not sure which) isn't overwhelmed trying to fill the Naim's buffer directly while also streaming the source file from the NAS.

                                All of this is moot tho really, as I cannot hear an audible difference between the source file being FLAC and transcoded to WAV on the Asset vs the source file being WAV. What was bugging me was discovering there is a issue and not knowing why - ie I only tried solving it for the sake of understanding. So I'm going back to FLAC for storing the high sample rate/bit rate files for now, which works regardless of where the Pi is on my network.

                                If anyone is wondering why I don't run Asset for Linux on my NAS - I tried this and it also solves the 192/96 WAV streaming problem, however my NAS is using the unRAID NAS O/S which boots from a USB key into a RAM disk, so the Asset config doesn't survive reboots (Spoon - if you're reading this is there a way to tell Asset for Linux in the command line script to look elsewhere for its config file location?), hence why I'm using Asset for Pi.

                                Cheers,
                                Dunc

                                Comment

                                Working...

                                ]]>