NAS SMB -> iPad buffering issues (part 2)

Hi,

I am creating a new post for this because this post:

Buffering issues on iPad - Release 6.5.3

has been marked as solved, when in fact not all the issues with 6.5.3 have been fixed in 6.5.4.

So the issue relates to buffering issues when playing back higher bit-rate videos from a NAS to an iPad.

I believe the issue only affects videos that have a high enough bitrate, in my case 15 MBytes/sec.

So if anyone is using a NAS and has a fast enough WIFI to play 15 MBytes/sec videos (in principle), I invite them to try my test video here and see if it plays back without issue for them with Infuse.

Dropbox link

In 6.5.4 with the above video I am seeing this issue:

  1. Start playback
  2. After 6 seconds of buffering, playback begins (which is fine and expected)
  3. Video plays back for 7 seconds, video stops and buffers again (unexpected, and not good!)
  4. After 6 further seconds of buffering, playback begins again, and this time video plays to end.

I do have an explanation for why this is happening… if you look at this graph showing data transfer from my NAS (with nothing else using the network)

As you can see, it takes about 30 seconds for the transfer rate to reach that of the video. In prior versions of Infuse, it reached 15 MBytes / sec almost immediately.

But more than that, Infuse simply never uses the full bandwidth that the WIFI connection allows, as you can see in this graph:

As you can see, Infuse is using less than half of the bandwidth that is available.
The “Streaming Cache (auto)” mode needs to be able to transfer data at a rate higher than the video bit rate to actually buffer ahead of the content, and the graph clearly shows that this never happens. So from Infuse with this video, you never see the cache bar fill up (while the video is playing)

The big question here is why does Infuse never transfer data faster than 15 MBytes/sec ??
I’m sure this will affect others over time, as video qualities go up, and file sizes increase.

Thanks in advance for any assistance.

Liz

I finally had a few minutes to try your sample.

NAS is a Synology 920+ Ethernet to ATV 4K

Speed test on infuse with the sample video averaged 225 Mbps

The Graph shows pretty constant speeds around that 225

The progress bar in the movie shows Infuse is buffering ahead of the current time at 17 secs in.

And at 44 secs in.

The video played without a problem. No pauses, or buffering wheel.

Is it possible your iPad is only connecting at the 802.11 g speed instead of the “n” or “AC”?

You can be on the 5Ghz band and still get reduced speeds if the connection tells it to fall back for higher reliability.

EDIT TO ADD: What model of iPad? Number?

Thanks @NC_Bullseye

Out of interest, I did the same Infuse speed test on my ATV 4K. My ATV 4K is also connected by ethernet. I got a slightly better average of 250 Mbps, but to be honest, on a speed test over gigabit ethernet, both your 225 Mbps and my 250 Mbps are absolutely terrible.

I did a file copy test from my NAS to my MacBook Pro (which is connected to the same Network Switch as the ATV), and copied a 22GB file in 3 minutes 10 seconds
If you work out the maths for that, it’s 116 MBytes per second, or 926 Mbps average.
That’s a much more realistic speed for a 1 gigabit ethernet, and nearly 4 times faster than the Infuse speed test.

This is also clearly shown in this transfer graph from my NAS showing the file copy test.

So, what is causing the slow transfers to the ATV 4K? If it’s not Infuse itself, maybe a limitation of the ATV hardware, I don’t know.

I basically get the same results as you when playing my test videos on the ATV (cache bar fills up as expected), so although the maximum speed is very disappointing, it’s still fast enough to not cause any issues with any videos I have.

So… back to my iPad :slight_smile:

This is an iPad Pro 2019.
I take your point about 5G WIFI falling back to slower speeds although I’m not sure how to check it.
However I believe my tests and the graph above show conclusively that this is not the case. It is only Infuse that transfers data slowly, and I’ve tested this multiple times, with exactly the same results.

Just FYI, I used to use the router provided by my ISP, and with that router I was lucky to get 10 MBytes/sec transfers over 5G, and if I was in a different room, considerably less than that. Hardly surprising, as these routers are going to be the cheapest ones you could possibly manufacture.
To get decent WIFI, you need a decent Router. In my case, I now have a tp-link AC2800 (aka Archer VR2800), and I can get a consistent 30-40 MBytes/sec (240 - 320mbps) from anywhere in the house (except from Infuse)

Shame there’s no speed test in the iPad version of Infuse (or if there is I couldn’t find it!)

Are you able to run some tests with my video using an iPad ?

Thanks for your help

Liz

I don’t know the inner workings of Infuse but I’d suppose that the reason for slower than max speeds is a combination of things. First, the handshaking for the transfer protocol is being handled by Infuse which is also at the same time doing all the video work so I’m guessing that it has to time slice its processor load between the two (and possibly other tasks in the background) so that may be why it doesn’t max out the pipe.

For me, if it doesn’t have playback errors then I don’t really care what the speed is. It could be as simple as Infuse knowing what the max needed to display videos correctly and it not going beyond that. Just brainstorming it a bit so I may be way off. (Wouldn’t be the first time I hit one over the fence at a skating rink :wink: )

I’m still leaning to something causing your iPad to not get the full speed it needs. Could your router be limiting the speed or possibly even the NAS? If I recall correctly there were some settings in the NAS that could limit a device to speed (or share of overall speed) as well as transfer totals. I’ve seen some settings on routers also that can give priority to streaming devices and limit connection speeds.

I wish I could try an iPad but all I have is a first gen iPad Mini and I don’t think Infuse will even run on it. Heck solitaire is even a load to run on it most days.

I’ll keep digging around to see if I can find a truffle somewhere on this.

I do not believe that there is any problem at my end, since as I have said, everything is superfast, except when using Infuse. The file tests I have done have shown that:

  1. WIFI is capable of 40 Mbytes/sec
  2. 1 gbit Ethernet is capable of 116 MBytes/sec. the NAS is not a limiting factor.

And also. Infuse is using the same SMB share on the NAS as in my file copy tests. This SMB copy clearly shows that the NAS is not limiting anything, and I’m getting the full bandwidth available from the 1gbit connection.

You said:

It could be as simple as Infuse knowing what the max needed to display videos correctly and it not going beyond that

This seems much more likely to me, and it’s what I’ve been saying all along. In this case the video is 15 Mbytes/sec, and Infuse is never going beyond that, even though the WIFI is capable of greater than 30 MBytes/sec. This is a problem, because the streaming cache will not work in this case.

I don’t want to go into this in too much detail, but I am a programmer myself so I do know some things. The actual transfer of data will be taking very little CPU time and should not impact significantly the amount of time allocated to video decoding.

The ATV speed test over Ethernet is just weird. That test presumably is a straight speed test, so why the result is so low (for you and me) is baffling.

Thanks,

Liz

I just found the speed test on the iPhone and maybe the iPad is the same.
Go to the Gear
Select “Add Files”
Scroll to “Saved Shares”
Tap the circle “I” on the share with this video
Scroll down if needed and select “Speed Test”

Original comment from @james:

Infuse v6.2.4 (2859) includes a debug speed test button available under the share’s menu on tvOS. Selecting this option will open a file browser list where you can select a video to use for the test. The test will replicate the actual speeds you can expect when playing a video in Infuse. During the test, Infuse will display the average and current transfer speeds which can be used to grade network connection quality. Once the test is over, it is also possible to check the network speed graph and see whether or not there were sharp drops in bandwidth.

One note, the speed test feature in this build is not just used to measure the simple transfer speed (IE copy a file as fast as possible). Instead, it will replicate the transfer speeds available during playback as during the test Infuse is actually working to transfer the file AND play it (in a hidden window) at the same time. This provides a much more accurate representation of the speeds you can expect to see during playback, as transfer speeds will be impacted by system load.

Additionally, on iOS we are using multi-threaded connections when downloading files for the fastest possible speeds. However, these are not used for streaming since they add to system load, can impact playback quality, and are unnecessary.

Hi,

Thanks @munpip214 @NC_Bullseye

So, as the speed test in Infuse should reflect what actually happens during video playback, it should therefore match the kind of things that I am seeing with the graphs I showed above from my NAS which are during actual video playback. This does appear to be the case, and validates everything I have been saying so far.

Here’s the Infuse speed test graph for one of my 15 MBytes/sec videos from my iPad Pro:

As you can see, for the first 30 seconds of playback, the data transfer rate is abysmal.

On initiating normal video playback from Infuse (again with a 15 MBytes/sec videos), I get 6 seconds of buffering before playback begins. The video then plays for 7 seconds and then starts buffering again. That’s just 13 seconds total since requesting playback, and the data transfer rate is still far too low at that point as you can see from the Infuse speed test graph. So it’s hardly surprising that the second buffering occurs at that point.
The graph, by the way, is not a one-off. Many tests with both Infuse speed test, and the graphs produced on my NAS indicate that this is now typical behaviour in Infuse.
Also this 30 seconds of low data transfer at the start was introduced in Infuse 6.53 or 6.54. It’s hard to know which, because 6.53 had far more serious issues.

So, I still have 3 outstanding issues that are making the experience with higher bit-rate videos worse than it could potentially be:

  1. Low data transfer rates across WIFI during the first 30 seconds of video playback (introduced in Infuse 6.53/6.54)
  2. Under no circumstances will Infuse transfer data faster than 15 MBytes/sec, even when WIFI bandwidth allows for this. Therefore, the streaming cache will never be able to buffer ahead for these videos.
  3. While buffering ahead, the video transfer is capped at around 8 MBytes/sec (you can see this by pausing the video), and it is indicated in the previous graphs I showed at the start of this thread.

Thanks

Liz