Mobile App Performance Issues

Discussion in 'Milestone Systems' started by Dettrick Jones, Sep 21, 2017.

Share This Page

  1. Dettrick Jones

    Dettrick Jones n3wb

    Joined:
    Sep 21, 2017
    Messages:
    4
    Likes Received:
    0
    Location:
    Australia
    Has anyone managed to tweak the settings on the xprotect mobile server to get video to play smoothly on the smartphone app? I have xprotect installed at two premises and one of them has a 40Mbit upload speed (which is more than enough bandwidth for a 1080p stream) the other has 7Mbit yet the video quality when viewing on the mobile app is still very choppy. Particularly the frame rate is very low, it looks around 5 frames per second instead of the 25-30 of my cameras

    I have modified the config file on the xprotect mobile server to disable QoS (Quality of Service) which should stop the server from trying to degrade the quality, but it seems that that only has. Funnily enough it seems that xprotect uses the full bandwidth available (40Mbit, confirmed agaisnt windows 10 task/resource monitor) yet it still cannot provide smooth full frame rate output. The same occurs when trying to view recorded video. I've also ensured that the mobile app allows for full frame rate, resolution and quality

    I've compared the quality to logging in the IP cameras natively over the internet and there is no issue with the stream when getting it direct from the camera, it's smooth and at full frame rate.

    Whats frustrating is that other software such as Blue Iris can manage to deliver smooth video quality over the internet to their mobile app.

    This is the only area why I am finding Milestones offering lacking.
     
  2. colmcille

    colmcille Getting the hang of it

    Joined:
    Nov 30, 2014
    Messages:
    246
    Likes Received:
    61
    Works fine for me on my old ADLS connection with less than 0.9Mbps upload speed. But then I'm not trying to pull 1080p at full frame rates.
    Why are you editing config files on the server to disable QoS when there is a radio box for it on the client side?
    Have a look at the Management application's Mobile Server - Performance tab, and also have a look at the configuration on your client itself.
     
  3. Dettrick Jones

    Dettrick Jones n3wb

    Joined:
    Sep 21, 2017
    Messages:
    4
    Likes Received:
    0
    Location:
    Australia
    I've read in the milestone forums and other forums regarding the QoS. Even when i leave it at the default it doesn't really make a difference.

    What resolution and frame rates are you using then?

    I'll keep playing with the settings but so far cant seem to fix these performance issues.
     
  4. colmcille

    colmcille Getting the hang of it

    Joined:
    Nov 30, 2014
    Messages:
    246
    Likes Received:
    61
    On my 4+ years old mobile with it's tiny screen I'm using 480p (640*480) at 5fps. The signal is only H (HSPA 7.2Mbits/second) on a good day, and 3G (UMTS 384Kbits/second) or worse a lot of the time. If I double tap the screen it will zoom in to fill the screen and up the resolution automatically to the area of interest. I disable the live view mini screen since that is pointless on such a small screen.
    I've just checked my wife's brand new super duper Android phone though, and as far as I can see from a quick look these settings are all missing from her new client version. No client side resolution, fps, QoS, or any other settings. So I'll take back questioning why the hell you are editing config files on the server. I'll have to dig around a bit more too. o_O
     
  5. Dettrick Jones

    Dettrick Jones n3wb

    Joined:
    Sep 21, 2017
    Messages:
    4
    Likes Received:
    0
    Location:
    Australia
    So i've done some further investigation. There appears to be a clear inefficiency in the way the milestone mobile server sends the output stream. My 4MP camera incoming stream is on average is approximately 2300kbps which is around 287.5kB/s. The milestone recording server confirms that it is receiving and recording at this bit rate and the camera also reports it is sending this bit rate when i log into the camera web interface. However, when I start a stream on my smartphone, the mobile server reports the bit rate at approx 1000kB/s which is equal to 8000kbps. This is confirmed in the network info in windows task manager.

    I'm not sure what type of encoding the mobile server is using but it clearly not using h264. The output from the mobile server should match the bitrate of the camera, not be more than it, and definately not nearly 4 times the bitrate! It's no wonder that the quality of the mobile stream is suffering. The server CPU usage is only about 5-10% so there is no issue there. The CPU also has hardware encoding/decoding with intel quicksync.

    When using an app like tinyCam to connect to the IP camera directly (either locally on WiFi or remotely over 4G), the bit rate matches the camera output of 287.5kB/s.

    Can anybody else do a comparison of their mobile server output stream bitrate compared to the incoming camera stream bitrate, would be interested to see if other's also experience this.
     
  6. colmcille

    colmcille Getting the hang of it

    Joined:
    Nov 30, 2014
    Messages:
    246
    Likes Received:
    61
    Hmm, O.K, so I've found the settings on the mobile client in different places with testing away from home last night. On the iPad I tried away from home they are not in the client itself, but in the iPad Settings application. Also, not sure where you get your figures, but with my measly 480p settings CPU use for the mobile server is 2-4% on my old i5 NUC. Sending bandwidth is anywhere from 90 to 140kBytes max. If I up it to 1080p and 15fps the CPU usage is anything up to 7%, but usually also in the 4% area, and sending bandwidth spikes at 384kBytes max..often 100kBytes less than that. Having said that, it was never actually sending at the upper 15fps limit I had set.
    It would probably be useful to see what bandwidth the router is sending per application or port. Also what dirty shenanigans/traffic shaping your ISP is up to.
     
  7. Dettrick Jones

    Dettrick Jones n3wb

    Joined:
    Sep 21, 2017
    Messages:
    4
    Likes Received:
    0
    Location:
    Australia
    My router and the windows task manager both confirm the incoming/outgoing figures on the network, so there is no issue there. My ISP doesnt shape traffic and im on a fibre connection so there is no issue there.

    I guess what im interested in is the comparison between the bandwidth between the IP camera and the milestone server, and the milestone server to mobile device. Have you done that comparison to see what the difference is?

    In any case i've given up on using Milestone Mobile for live viewing of the cameras, Im using tinyCam instead for liveviewing the camera. The tinyCam android app has a much better interface, the video quality is better and it uses much less bandwidth since its getting the raw h264/h265 stream from the camera. Unfortunately i cant watch recorded video with tinyCam so im stuck using milestone for doing that.
     
  8. morten tor nielsen

    morten tor nielsen n3wb

    Joined:
    Nov 25, 2016
    Messages:
    3
    Likes Received:
    0
    I suspect that the server transcodes to motion JPEG rather than just acting as a proxy between the camera and your phone.
     
  9. LittleScoobyMaster

    LittleScoobyMaster Getting the hang of it

    Joined:
    Jul 24, 2015
    Messages:
    140
    Likes Received:
    12

    I haven't done any extensive testing but I do notice that the Xprotect mobile app is slow as rhino s*** on my old iPhone5 and my brand new 2017 iPad. It's slow I tell you!

    The word 'choppy' comes to mind quite often when I am viewing my cams with the mobile app.
     
  10. fenderman

    fenderman Staff Member

    Joined:
    Mar 9, 2014
    Messages:
    20,237
    Likes Received:
    4,267
    does this occur even when you are on your local network? what router are you using?
     
  11. LittleScoobyMaster

    LittleScoobyMaster Getting the hang of it

    Joined:
    Jul 24, 2015
    Messages:
    140
    Likes Received:
    12
    I only use it on the local network. I've tried with several access points (802.11ac) but get the same results. It just seems to be the way the app is written. It's not as fluid as it could be. I've compared it to Blue Iris which has a much more responsive feel. I've always chalked it up to non streamlined programming on Milestones part. It's just chunky. It is slightly better on the 2017 iPad but not as good as it should be. The frame rates just aren't there compared to what I get with the regular smart client running on a PC. Not just multi cam view but even single 1080p cams don't seem to have the full 30 fps on the mobile app. Running 2017 r3. (same results with all previous versions).
     
    Last edited: Oct 13, 2017 at 12:05 AM
  12. fenderman

    fenderman Staff Member

    Joined:
    Mar 9, 2014
    Messages:
    20,237
    Likes Received:
    4,267
    strange....you would think they would have it sorted...
     
  13. LittleScoobyMaster

    LittleScoobyMaster Getting the hang of it

    Joined:
    Jul 24, 2015
    Messages:
    140
    Likes Received:
    12
    If I had a jail broken IOS device I would try something like this to get an accurate fps count for Xprotect mobile client so we could have some data to show. But on IOS it would be a long shot due to the issues with this particular counter as it has a very low success rate according to the review.

    How To Get An FPS Counter In iOS Games & Apps

    Android users will probably have more luck getting Android fps counters because they are more prevalent on that platform. Anyone try a similar app yet on Android to get the actual fps? Curious what the actual fps count is. On my IOS devices it feels very slow but I would be curious what the actual numbers were. Maybe an Android user could post some snaps or something.

    I am pretty close to using a different app for live viewing on mobile as well due to the slowdown issue with Xprotect mobile client. I'm hoping there might be a setting that can help or something. Maybe Milestone support has the answer.
     
    Last edited: Oct 14, 2017 at 3:30 PM
  14. morten tor nielsen

    morten tor nielsen n3wb

    Joined:
    Nov 25, 2016
    Messages:
    3
    Likes Received:
    0
    Any chance you could record the choppiness you're seeing (use a 2nd phone for example) and share via Youtube?