2

I have a powerful PC running Windows 10.

The PC is connected to a very powerful router (Ubiquiti Dream Machine PRO) via a gigabit wire.

I also have a computer running Manjaro Linux. It is connected to the same router via WiFi 5.

I have a 1080p video file stored on an expensive NVMe SSD on the Windows PC. The file is shared over a Windows shared folder.

When I access the video via smb:// and watch it in VLC, the video stutters frequently, like once a minute. It skips a keyframe, producing a grey picture where moving objects are slowly revealing, until the the next keyframe. If I rewind 10 seconds back, it plays the same segment of the video normally, but will stutter again later on. Sometimes stutter happens with a short loss of audio. 😩

The bitrate of the video is around 10 Mbit/s.

iPerf3 measures 130 Mbit/s between the two computers.

The video is 3.7 GB and 47 minutes long. If I copy the video file onto a local disk on the Linux computer, it takes roughy 6 minutes to copy, which matches the iPerf 3 result.

I can start copying the video file and then immediately start playing the incomplete video file β€” and it plays throughout without a single stutter! 🀯

This happens to every video file played on Linux machine over smb:// and is agnostic of the video player app and even Linux distribution. The issue does not happen when playing on a Windows 11 laptop over \\MY_WINDOWS_10_DESKTOP.

On an Android TV running Kodi, video playback is also unreliable. The most common issue is that the audio would hiccup once every other second, continuously, making the video impossible to listen to. It can be worked around by changing audio tracks. But when you pause the video and then resume, it may start stuttering again.

Another common issue on Android TV is that it's sometimes stops playing and starts buffering.

At another location, I am watching videos from SMB share on MacOS (yeah...) to Android TV running Kodi β€” and I have exactly the same issue, though network there is set up via a cheap WiFi router.


Why is the video stuttering? How do I fix it?

PS I did my homework, googling up dozens of questions identical to mine, some are older than my 10 y. o. kid. πŸ™ˆ But all answers dig into specific network issues or setups. I believe the problem may be universal to SMB or something.

PPS Please also share your advice on alternative ways to share videos from a Windows 10 PC to Linux desktop and Android TV! But please remember that such advice is not answering my question.

3
  • When you look at network traffic, using Process Explorer, do you see throughput differences between these clients? Have you tried other systems that are more purpose built for video streaming, such as Plex? Here's a Reddit post from 2 years ago reporting similar issues: reddit.com/r/Chromecast/comments/wqwr3s/… Commented Jun 13 at 14:27
  • "start copying the video file and then immediately start playing the incomplete video file β€” and it plays throughout without a single stutter" is probably because the contents are now in "standby memory" and so is being fed from a memory source instead of directly streamed from the network share. Have you checked streaming buffer settings in videolan?
    – Yorik
    Commented Jun 13 at 14:30
  • @Yorik Uhm, I've tried adjusting caching values in VLC, and now it plays videos in a broken way, all artifacts and skips and sound hiccups. I tried restoting the values from memory but it did not help. There is no "revert to defaults" button in VLC settings. I feel like a character of a meme who leaves their house because they found a spider inside. πŸ˜” Commented Jun 16 at 11:17

1 Answer 1

3

I think what we can infer from those questions older than your kid (this is a list of XDA questions regarding this) is what is summarized (with some bombast and argumentation) in this Reddit thread: SMB is not optimized for video streaming.

Does it work sometimes? Yes. This is probably dependent on a variety of factors, but you need to pay a lot of attention to the transcoding abilities, video bitrate and format, and the many other factors of streaming.

The better solution overall is to use a different protocol, one that is better optimized for streaming.

Use DLNA, run a Plex server, etc. Something other than a general purpose file share protocol is likely to result in a better local stream video experience on all your devices.

5
  • Thanks! I was hoping there's an easier fix like opting into SMB v3, but I guess you're right. Commented Jun 13 at 15:56
  • Also, it messes with me a lot that initiating a simple file copy and watching a pending file does not have the issue. I do understand that it's an infinite cache. But why can't a video player cache in much larger chunks? I mean, I have plenty of RAM and I wouldn't mind a disk cache either... Why is it not solvable on the video player side? Commented Jun 13 at 15:59
  • I don't think it's necessarily a video player issue per se. SMB just has a lot of overhead and is intended as a general purpose file sharing/transfer protocol. Media is special and works better with systems optimized for its needs. Commented Jun 13 at 16:20
  • I'm not saying its media player fault. I'm saying media players could make effort to address ithe SMB fault, given that SMB is a very common case for them. Commented Jun 14 at 19:56
  • Note that the issue does not happen on VLC on Windows. This means that it's an issue of SMB implementation/configuration? Commented Jun 16 at 20:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .