Page 1 of 1
Video blocky and pauses on network drive when busy
Posted: 13 Apr 2015 19:43
by d4005b
I have a NAS drive with video files on it. Most are around 720x404 or 858x480, so not even HD sized, but I can still get the videos being blocky and even completely pausing. The blocky view can happen after pausing/resuming. The pausing (and extreme blocky picture) can happen if I start copying a file to/from the NAS drive after I start playing the video.
Scenario:
1. Find a video on the NAS, start playing it.
2. Blocky picture that settles down after 5-10 seconds.
3. After some time, I decide to copy files to/from the NAS drive.
4. It causes the video to pause or get extremely blocky until the file copy is complete.
Note: if the file copy is happening already, before step 1, and then I start playing the video, then it's fine.
It's like VLC samples how fast the connection is to the drive at the beginning, and if that changes later, it can't account for it.
I'm running VLC 2.1.5 Rincewind on Windows 7 on a really fast quad processor with heaps of memory and using fast SSD's. Network is 1Gbps and the NAS is USB 3. There really shouldn't be any reason it should ever slow down. Also, the CPU isn't being hit either, it's almost always 99% free power.
Can I make VLC be more aggressive with caching? I'd like it to buffer a couple of seconds of data so that it doesn't get affected by such things. If it's asking for a certain amount of data every x ms then it needs to increase that when it starts using up too much buffer. Rather than just getting confused and failing and having to pause.
Re: Video blocky and pauses on network drive when busy
Posted: 16 Apr 2015 12:48
by jasoncollege24
"busy" is the operative word here. When watching videos from a network drive, if you start bogging down the network, then VLC player (or any other video player) may not be able to access the network drive in order to keep the cache full. How fast your network is has no bearing on that, if you're using up all the network bandwidth to copy files during video playback, because when copying files, windows will use ALL available bandwidth to copy files. This is true whether it be to/from a local disk, or to a network location. This is a limitation in windows, and is likely not caused by VLC media player.
If you're going to be using a network location to copy/move files during video playback, then I'd recommend copying the video file to a local drive in order to watch it.
Re: Video blocky and pauses on network drive when busy
Posted: 16 Apr 2015 16:35
by d4005b
"busy" is the operative word here. When watching videos from a network drive, if you start bogging down the network, then VLC player (or any other video player) may not be able to access the network drive in order to keep the cache full. How fast your network is has no bearing on that, if you're using up all the network bandwidth to copy files during video playback, because when copying files, windows will use ALL available bandwidth to copy files. This is true whether it be to/from a local disk, or to a network location. This is a limitation in windows, and is likely not caused by VLC media player.
If you're going to be using a network location to copy/move files during video playback, then I'd recommend copying the video file to a local drive in order to watch it.
That all makes total sense. My point though, is that despite a copy taking 2 minutes, the video doesn't pause for the entire 2 minutes, it will stop for 1 second, then I see the cache filling up (there's a cache progress bar at the bottom) and when it gets to 100%, it continues playing for maybe 5-10 seconds and then might pause again. All I'm hoping to achieve is to get control over the cache length and how aggressively it will try and keep it full. If for example, it's xMB (equating to Y seconds), I don't expect to have to wait Y seconds before it starts playing. There's no reason that should have to happen, it's not a fixed speed (like an internet connection), it's free to request data faster than it needs to play, so that the buffer can fill up while it's already playing. I think with such an aggressive policy/algorithm (and larger buffer) it shouldn't reach the state where it runs out. Even if the network is busy, there are moments where it can grab enough chunks of data to fill up its buffer, so long as the buffer is sufficiently large that it can handle a bit of a wait every now and then.
On the choppy video front, that seems to happen only when I start the video new (without a busy network) and/or resume from a pause. I'm not sure what that is. Any recommendations on settings that would be immune to that? (e.g. hardware acceleration, Direct, OpenGL, etc). They all sound equally advanced to me, but then I don't know them that well. I've got a Nvidia graphics card if that helps.
Re: Video blocky and pauses on network drive when busy
Posted: 16 Apr 2015 20:46
by jasoncollege24
I have an NVidia card as well, but I have problems using any other setting than the windows GDI interface for videos. (My system will lock up otherwise) so I can't help you on that blocky video issue.
For your networking issue, what you're describing is typical of exactly what I described. It would happen even if you enlarged the buffer size. The only difference is that it would take longer to empty the buffer. Yes it can grab chunks to refil the buffer, but the problem is that since the network is being used by file transfers, that is taking up so much bandwidth, that VLC media player has to fight with the transfer for the right to use the bandwidth. You can check in advanced options to see if there are options for the video cache, but even if you enlarge the cache, I wouldn't expect this behavior to change.
I never ever watch video from any networked location specifically for this reason, and my network is about the same speed as yours is.
Re: Video blocky and pauses on network drive when busy
Posted: 17 Apr 2015 00:07
by d4005b
I found the solution
hereand
here. I'm sure I looked everywhere in the options before posting this thread, but somehow I missed those fields.
The values, in order, were 300, 300, and 1000. I figured I'd just bump them all up to 10 seconds. I gave it a try, started a video, gave it a couple of seconds, and then copied a file from that network drive to my desktop and it had ZERO effect on the playing video. It seems like 10 seconds is a big enough buffer that VLC will manage to sneak in there and get enough bandwidth to re-fill its buffer often enough. I might have gotten away with 2s, 3s, or 5s, but I didn't want to spend ages trying different values. This seems to be what I need. I probably only needed to change the network value but I didn't see any harm in changing all three. With the video quality I'm playing, 10 seconds (in terms of memory space needed) is chump change. It'd make a difference if I were playing 4K video, but I'm not.
Re: Video blocky and pauses on network drive when busy
Posted: 17 Apr 2015 02:22
by jasoncollege24
interesting. the limitation in windows is still there though. I wouldn't expect this to work if you play HD videos of 720p or higher. When I suggested looking in the advanced options, that was actually a shot in the dark. lol
Good stuff.
Re: Video blocky and pauses on network drive when busy
Posted: 17 Apr 2015 06:31
by d4005b
interesting. the limitation in windows is still there though. I wouldn't expect this to work if you play HD videos of 720p or higher. When I suggested looking in the advanced options, that was actually a shot in the dark. lol
Good stuff.
Really? I would have thought it would still work up to 1080p or 2160p. It would need a crazy buffer size, but the number I entered was in milliseconds anyway, so that should automatically scale. Now the question is, would those little opportunities (during the buffer draw-down) where it sneaks in and gets chance to grab a bit more data from a congested network be enough to re-fill the buffer when it has to receive so much more data. I assume that's where your doubts lie. True. Although if I went even more extreme and set it to a 30 second buffer, then it might be enough to cover that ... possibly. It's rarer (but not unheard of) that I watch video that high resolution. I'm usually watching a downloaded TV show at 480p max on a second monitor.
What is surprising generally though, from a programmer's perspective myself, is that VLC didn't come to the conclusion itself that I did (that I need more buffer) and auto-adjust, or at least warn me that it's detected it keeps having to pause and thinks it should increase its buffer(s) sizes. Like Windows does when it thinks you need more paging memory.
Re: Video blocky and pauses on network drive when busy
Posted: 17 Apr 2015 06:55
by jasoncollege24
higher resolution vids take more space in the buffer, but i just realized the buffer is measured in units of time, instead of space. It might work, but if the video pauses from congestion, it will take significantly longer for the buffer to refill, so the buffer wait would be longer.
they set their buffer settings to the defaults they use because they assume you will not be transferring files over the network while streaming from the same network. That might be why they didn't think of it. *shrug*
Re: Video blocky and pauses on network drive when busy
Posted: 17 Apr 2015 14:05
by d4005b
Yaaaay for the latest VLC update 2.2.1. After installing that I no longer have the blocky video on startup/unpause. It's now perfect. All my issues gone away
I gotta save this installer as a fallback in case of future issues
Just in case anyone ever wonders, the version I was using that had the choppy video was 2.1.5.