Skip to content

AppleTV viewer frame rate is very low.

It seems to be approximately 1 FPS. Is that expected, or do I have something set up wrong?

The Mac Mini M2 and ATV 4k are both using ethernet, and on the same switch, but different VPNs (so the data goes through the router). The network should easily be able to stream multiple cameras at full resolution and frame rate.

The cameras are sending h.256 video, so maybe SecuritySpy has to transcode if the ATV app does not support that for some reason, but the M2 Mini can do that crazy fast, so I would not expect that as a bottleneck.

Comments

  • This is not expected - there sounds like some kind of problem here. This could be a specific problem that we have seen with M2 Macs, whereby if there are lots of simultaneous encoding/decoding streams, the performance drops dramatically. We are currently in contact with Apple about this and hope to have a solution soon. This is currently affecting users with more than 32 cameras, specifically on M2 hardware.

    To test whether it is in fact this issue, try disabling all cameras in SecuritySpy apart from this one, then try viewing in the Apple TV app. What is the performance like under this condition? To disable multiple cameras at once, you can select multiple cameras on the left side of the Settings window (assuming you are using SecuritySpy version 6).

    If the performance is still low under this condition, then it's not an encoding issue. In this case, the next thing to check is whether the unusual network configuration with the different VPNs is the problem. Temporarily disable the VPNs so that the devices have a direct Ethernet connection, and then see if the problem goes away or not.

  • edited April 12

    Thanks, I’ll do these tests this weekend.

    I forgot to mention, I only have 6 real camera feeds (plus one duplicated for motion detection).

    And I’m on the latest version of SecuitySpy.

  • In that case, the M2 video processing issue most likely isn't the problem, but I think it's still worth running both tests.

  • Do you mean different VLANs or truly VPN? If the latter there’s probably encryption penalty being incurred. I think you probably just meant VLAN in which case I bet the router is the issue.

  • Sorry, I meant different VLANs.

    I have a Ubiquiti setup, with a Cloud Gateway Ultra as my router and Ubiquiti level 2 switches. All the data from the Mac Mini to the Apple TV has to go through the router since they are on different VLANs, but it should be able to handle the traffic. The cameras and Mac are on the same VLAN.

  • Ok. Agree completely. I was worried if camera and SS were on different VLANs then might explain it. But ATV and SS on different VLAN should be fine.

  • I disabled all cameras but one and it's still 1FPS on the ATV

    I also tried moving the ATV to the same VLAN as the Cameras and the Mac Mini, but that did not help either.

    So Im sort of stuck. Any other suggestions to try?

    In case it matters, the Apple TV is a A2169 with 64GB, and running tvOS 17.4

  • just to be sure, have you run any LAN speed tests traversing same network components?

  • iperf3 shows up and download speed between the ATV and Mac Mini to be approximately 850Mbps when they are on different VLANs and 940Mbps when I move the ATV to Camera VLAN with the Mac mini/SS server

  • edited April 13

    I've rebooted the Mac, and ATV, and uninsatlled/reinstalled the SecuritySpy app on ATV as well, but that did not seem to help.

    The frame rate is very slow when I check via the web browser and iPhone app (over LTE or Local WiFi) as well. So maybe I have some setting wrong for all streaming?

    The frame rate is fine in the Security Spy app itself when I screen share into the Mac Mini from a Mac studio (using high performance screen sharing, which is awesome BTW)

  • edited April 13

    Okay I figure out something important. It's a bit strange, but I'll try to explain.

    It looks like some sort of compression related issue.

    I thought is was 1 FPS based on the branches moving on my outside cameras, and when I tested it by waving my arms from the desk in the kitchen (I can see the family room ATV from there)

    It turns out only smallish/thin objects move very slowly on the Apple TV. If I get up and walk closer to the family room camera, my motion gets smoother the larger I get on screen.

    The motion is always smooth in the Security Spy windows, so it's not the camera feed.

    I had my wife recored the TV screen as I walked closer "flapping" my armsI can email you if you want to see an example of the effect.

  • Also, I tried setting the camera to output h.264, instead of h.265 video, but the effect is still the same.


    I believe Security Spy is recompressing the video before sending it to the AppleTV and that where the strangeness is introduced.

  • edited April 13

    Found it.

    Unchecking "Settings/Web/Advanced Options/Variable-rate streaming where possible" fixes the issue completely for me.

    All cameras now have very nice frame rates on the Apple TV and in the web browser.

  • That's what I was starting to think as soon as you described variable results depending on motion. Glad you figured this out and good info to know.

  • That explains it! This is a new feature of SecuritySpy 6 (which is off by default), where it will reduce the streaming frame rate to 1fps when there is nothing of interest happening in the video. As soon as some significant motion occurs, such as a person walking through the frame, the frame rate jumps up to the normal rate. This function significantly reduces network bandwidth and server processing load.

  • I think I assumed it was just a variable bit rate compression option (which the camera have as an option) and enabled it at some point when I what looking at all the options.

    At least it all makes sense now. :)

  • And I scrambled to turn it on!

    I have 30 cameras running on M1 with 8GB so need all the assist I can get. This sounds like an awesome feature.

  • edited April 14

    Yeah, for setups with lot of cameras, it’s a great feature.

    I have just 6 cameras, and a M2 Mini with 16GB (it’s also my Channels DVR server and probably Home Assistant server eventually, so I wanted extra RAM), so definitely not needed in my case. :)


    Thanks to both of you for all the help figuring it out.

Sign In or Register to comment.