Jump to content

Remote playback stuttering/buffering issues


Recommended Posts

kgronseth25
Posted

Hello,

I'm looking for some guidance on where the bottleneck may be in my remote streaming.  My users are having to lower the playback quality to 480P-1Mbps to get my files not to stutter/buffer.  I've tried various settings including turning off transcoding at the user level.  I have 1gb fiber at my house with the server and remote users have 500 download so it seems like it should be able to work at the higher bitrates.  I'm using a 5yr old Dell XPS 13 (specs below) and 16TB Seagate Expansion external HDD.  My files are a mix of blu-ray and dvd ripped with MKV and no additional encoding.  I don't have a static IP so I am using a VPN via Tailscale for client apps to be able to connect to the server.

 

I was trying to test things out with my dad and he was playing Ant-Man and it would barely play, stuttering and stopping on iPhone with the Emby app.  I had him up the playback quality to 4k and transcoding was turned off so it was playing direct play.  After I turned transcoding back on and he lowered to 480p-1mbps it ran fine.  Previously going higher than that would cause it to pause and stutter even with transcoding on.

I very well may have some settings incorrect in my router or vpn or somewhere or perhaps my hardware is the issue. I'm not real knowledgeable on the more advanced settings so I can certainly be missing something.  Any help would be appreciated.  Attached are logs of the instance with dad trying to watch Ant-Man with transcoding turned off.  Any additional info I can provide please let me know.

Thanks in advance!


Processor    Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz   1.99 GHz
Installed RAM    16.0 GB (15.8 GB usable)
System type    64-bit operating system, x64-based processor

 

embyserver.txt ffmpeg-directstream-e3f316d8-f7fc-41ee-8285-75c36361d780_1.txt

Posted

Hello kgronseth25,

** This is an auto reply **

Please wait for someone from staff support or our members to reply to you.

It's recommended to provide more info, as it explain in this thread:


Thank you.

Emby Team

kgronseth25
Posted (edited)

Doing some digging, one thing I found was my remote WAN ip in Emby was still my routers assigned ip, I just updated it to Tailscales ip for my server. I’ll have to test it again but could that be the bottleneck?  
 

the remote users use the Tailscale ip of my server as the server when they login in remotely.  

Edited by kgronseth25
Posted

Your bottleneck is likely tailscale but I don't have any experience with it, it's not required for my remote access to work. Try having someone download a file of a decent size (maybe 1.5gb or so) just to see what the speed looks like and also to see if it's consistent. This is not exactly indicative of the smaller requests, but it gives an idea of the actual possible throughput. Some of the TS segments indicate a transfer time that is acceptable but I can't tell how large each of the segments are to know if these times make sense. Some of them are taking 20-50 seconds to transfer but they should only be 3 second chunks or 6 at most so that's why it's buffering so much.

kgronseth25
Posted
2 hours ago, Lessaj said:

Your bottleneck is likely tailscale but I don't have any experience with it, it's not required for my remote access to work. Try having someone download a file of a decent size (maybe 1.5gb or so) just to see what the speed looks like and also to see if it's consistent. This is not exactly indicative of the smaller requests, but it gives an idea of the actual possible throughput. Some of the TS segments indicate a transfer time that is acceptable but I can't tell how large each of the segments are to know if these times make sense. Some of them are taking 20-50 seconds to transfer but they should only be 3 second chunks or 6 at most so that's why it's buffering so much.

Do you just mean to have a remote user download a media file via Emby?  If so, where would I or the user see the speed of the download, is it in a log or would we have to use another software application?

Posted

If done on Windows you can just look at the network interface in task manager to get an idea (similar for other OS), but if all they have is other devices that is certainly more challenging and in that case would depend on what kind of equipment they have. I'm not aware that the download speed is shown in the notification, just the progress from a MB perspective. Maybe if downloading from Chrome rather than the app you could see it that way. I have a custom rom on my phone which has an option to add network traffic to the status bar so I can see it from there, and I can see throughput of the interfaces of my networking equipment but they may not have that available. Another option is using iperf3 to measure the rate across the link, you run iperf3 -s on your side and they run iperf3 -c ip.address -R on theirs so your system is sending the data to them. This would be a good test to do either way because it includes information about retries as well. I've done iperf3 tests over openvpn connections and there is overhead there for encryption especially on a lower powered device so I imagine tailscale would be a similar story. Next closest would be the good old stop watch test, from the time you see the download starting until it finishes, divide the file size (in MB) by time and you'll get MB/s which multiplied by 8 is the rate in Mbps that might be easier to work with.

I have seen with some of my friends what I assume is their networking equipment or perhaps just their internet connection in general where when their playback requires a transcode when it first starts to request data at the start of playback it looks normal and fast but then after it starts asking chunk by chunk suddenly a chunk will take 10-20 seconds and then it's quickly followed by several more chunks that are basically the same size and take only ms to transfer. I haven't tried to dig into what causes this but when I can see it happening with one person and no one else, seems unlikely that it's my end. I tried to analyze a packet capture one time and I couldn't full conclude on anything but still doesn't seem like my end.

kgronseth25
Posted
13 hours ago, Lessaj said:

If done on Windows you can just look at the network interface in task manager to get an idea (similar for other OS), but if all they have is other devices that is certainly more challenging and in that case would depend on what kind of equipment they have. I'm not aware that the download speed is shown in the notification, just the progress from a MB perspective. Maybe if downloading from Chrome rather than the app you could see it that way. I have a custom rom on my phone which has an option to add network traffic to the status bar so I can see it from there, and I can see throughput of the interfaces of my networking equipment but they may not have that available. Another option is using iperf3 to measure the rate across the link, you run iperf3 -s on your side and they run iperf3 -c ip.address -R on theirs so your system is sending the data to them. This would be a good test to do either way because it includes information about retries as well. I've done iperf3 tests over openvpn connections and there is overhead there for encryption especially on a lower powered device so I imagine tailscale would be a similar story. Next closest would be the good old stop watch test, from the time you see the download starting until it finishes, divide the file size (in MB) by time and you'll get MB/s which multiplied by 8 is the rate in Mbps that might be easier to work with.

I have seen with some of my friends what I assume is their networking equipment or perhaps just their internet connection in general where when their playback requires a transcode when it first starts to request data at the start of playback it looks normal and fast but then after it starts asking chunk by chunk suddenly a chunk will take 10-20 seconds and then it's quickly followed by several more chunks that are basically the same size and take only ms to transfer. I haven't tried to dig into what causes this but when I can see it happening with one person and no one else, seems unlikely that it's my end. I tried to analyze a packet capture one time and I couldn't full conclude on anything but still doesn't seem like my end.

Thanks, I’ll have to look into this.  I only have a few remote users (family) and they are all using apple apps so I’ll have to coordinate with them to test out download speeds. 
 

I primarily want to rule out that I have something wrong in my settings or hardware that is a bottleneck for the speed.  The fact that they can access and play files is a good thing, but my expectations were a little bit higher on quality of streaming.  Ideally I just want them to be able to consistently stream things without buffering/stuttering and not have to worry about multiple streams at once causing buffering/stuttering. If I have to limit 1 stream to 1mbps to not stutter that makes me worried about multiple streams.  
 

If it’s not my settings or hardware maybe it’s my isp and possible throttling?  And if that’s the case I want to see if any other setup would bypass that.  I.e. instead of Tailscale would I be better off getting domain, etc.  

 

Thanks again!

Posted

Hi, yes ISP throttling could be occurring on either side of the connection. That's becoming increasingly common nowadays.

kgronseth25
Posted
36 minutes ago, Luke said:

Hi, yes ISP throttling could be occurring on either side of the connection. That's becoming increasingly common nowadays.

If the isp throttling were the issue in my case, is there a way to get around it.  I’m also behind cgnat but I can get a static ip through my isp.  
 

I just don’t know enough of about the different options as to what solves what issues.  
 

I’m willing to try and learn and get the right setup, but don’t know which direction to go if there is even one.  Primary goal is for my parents to have decent quality consistent remote access.  
 

thanks

Posted
17 hours ago, kgronseth25 said:

If the isp throttling were the issue in my case, is there a way to get around it.  I’m also behind cgnat but I can get a static ip through my isp.  
 

I just don’t know enough of about the different options as to what solves what issues.  
 

I’m willing to try and learn and get the right setup, but don’t know which direction to go if there is even one.  Primary goal is for my parents to have decent quality consistent remote access.  
 

thanks

There are no guarantees, but using https as well as non-default port numbers would be a good start.

Posted

Since you only have a few users and are on cgnat, another option might be cloudflared tunnel. With caching turned OFF. 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...