2024-07-21, 09:14 PM
Hello,
I observe a strange behaviour when playing huge files (~90GB, HEVC10). I've found somewhat similara threads, but they all exhibit slightly different symptoms, so I figured I'd better start a new one.
My setup:
Synology NAS connected via a switch to a N100 mini computer. All have 1GPBs ports. N100 computer runs proxmox, and I tried running jellyfin as an LXC container, and as a docker container inside a debian VM. It gave me the very same results.
When I play a big HEVC10 file (~90GB size) with bitrate of 120Mbps, the video is buffering for a couple of seconds ~5 seconds and I don't understand why.
The reason I can think of could be the following:
1) Transcoding: unlikely, as the playback info reports "Play method = direct streaming".
2) Client bound: unlikely, as my current client is MBP with M1Max, should be plenty of compute power to handle the video
3) HDD/SDD Bound: unlikely, as both mini computer and NAS should easily output more than 120Mb/s speeds.
4) Network Bound: possibly, and that's where things are being weird.
The NAS and mini computer are connected through a 1Gbps switch. I ran
Then I ran
I decided to check if the NFS is the problem, and switch to SMB. Same thing, ~900Mb/s pulling from NAS as soon as the video starts, and the streaming remained as ~50Mbs. Then I decided to wait a little while – what happens after the ~90GB mark (i.e. when the whole movie is downloaded). And... nothing has happened – once it pulls ~90Gbs, it stops pulling from NFS/SMB and simply continues to play the video with the transmission speed of ~50Mbs, causing buffering every ~5s or so.
As the final test, I benchmarked the SSD speed inside the container (well, who knows). Write speed is 1.1GBps (so 8+Gbps), read speed is 3.3GBps (so 24+Gbps).
How can I fix this issue? Is it normal that jellyfin pulls the whole video via NFS/SMB as fast as it can?
Thank you
I observe a strange behaviour when playing huge files (~90GB, HEVC10). I've found somewhat similara threads, but they all exhibit slightly different symptoms, so I figured I'd better start a new one.
My setup:
Synology NAS connected via a switch to a N100 mini computer. All have 1GPBs ports. N100 computer runs proxmox, and I tried running jellyfin as an LXC container, and as a docker container inside a debian VM. It gave me the very same results.
When I play a big HEVC10 file (~90GB size) with bitrate of 120Mbps, the video is buffering for a couple of seconds ~5 seconds and I don't understand why.
The reason I can think of could be the following:
1) Transcoding: unlikely, as the playback info reports "Play method = direct streaming".
2) Client bound: unlikely, as my current client is MBP with M1Max, should be plenty of compute power to handle the video
3) HDD/SDD Bound: unlikely, as both mini computer and NAS should easily output more than 120Mb/s speeds.
4) Network Bound: possibly, and that's where things are being weird.
The NAS and mini computer are connected through a 1Gbps switch. I ran
iperf3
on NAS and tested the speed from mini computer to the nas – the speed is stable 1Gbps. I did the same thing testing the speed from my macbook to the mini computer, and the speed is constantly about 350Mbps (stable 5Ghz wifi).Then I ran
iftop
inside the jellyfin container to see the network speeds. To my surprise, I observed that when I start playing the video, container started pulling data from NAS with the speeds about ~900Mb/s, and transmitting the data to my laptop with the speed of ~50Mbs/s. It clicked in my head – if my switch is only 1Gbps, it's just not enough bandwidth to receive and transmit! So I went to NAS and limited the NFS speeds to just about ~300Mb/s. However, it didn't change anything – the NFS speed was 300Mbs, and the streaming speed remained ~50Mbs.I decided to check if the NFS is the problem, and switch to SMB. Same thing, ~900Mb/s pulling from NAS as soon as the video starts, and the streaming remained as ~50Mbs. Then I decided to wait a little while – what happens after the ~90GB mark (i.e. when the whole movie is downloaded). And... nothing has happened – once it pulls ~90Gbs, it stops pulling from NFS/SMB and simply continues to play the video with the transmission speed of ~50Mbs, causing buffering every ~5s or so.
As the final test, I benchmarked the SSD speed inside the container (well, who knows). Write speed is 1.1GBps (so 8+Gbps), read speed is 3.3GBps (so 24+Gbps).
How can I fix this issue? Is it normal that jellyfin pulls the whole video via NFS/SMB as fast as it can?
Thank you