Movies that used to play fine now buffering constantly

This has been happening for the past few months. Not sure when it actually started, but I’ve been watching a lot of movies while on vacation for the holidays and I’ve had time to systematically see what’s going on.
I have two Pi 3s that are both fully up to date with OSMC. One is connected to my main 1080p TV (it’s actually a 4K TV, but OSMC sees it as 1080p, which is ok with me), the other is connected to a small 720p TV for the kids. The buffering is only happening on the main TV, not the Kids’ TV.

These same movies used to play fine on both OSMC instances. (that’s why i stopped recompressing them a few years ago)

The buffering is only happening with movies that I’ve ripped from BluRay without running them thru any recompression. These files are in the 27-32GB size. Movies ripped straight from DVD play fine. If i run the BluRay movies thru handbrake and recompress them, they’ll play fine. (file size goes down to about 6-7GB)

If i watch the stats on screen while it’s happening, i’ll see the “forward:” parameter go lower and lower till it hits zero. Then the playback stops and it climbs back up to 100% and will start playing again. If i watch the same parameter on the other TV where it’s not buffering, this forward value stays in or close to the 30% range all of the time.

The video files are stored on a windows file server and are accessed via an SMB share. They are on a wired network connection. The network is all gigabit (except of course for the Pis, that don’t do GBE) Switches are all managed or smart switches. There’s only one switch between the PI and the file server. It’s a Cisco SG-200.

Also worth noting is that i can play these same files in kodi on a windows laptop over wifi and they play fine. So I’m not suspecting the network or fileserver at all.

If this were a case where it was always happening, I’d probably just chalk it up to the pi not being able to handle the large amount of data transfer. But the fact that these files used to work fine makes me think something changed in OSMC that the behavior is now different.

Where should i be looking to make tweaks for this?

This interests me. I recently bought a 4k TV and since then HD TV doesn’t play as cleanly as it used to on my ‘HD Ready’ (1360x768) old TV. I get occasional picture break-up and green artifacts.

These HDTV streams are probably nowhere near your Blueray bit-rates but then I don’t get buffering as such. But I hope someone can suggest something.

Pi is limited to 1080p playback; so there’s no benefit in showing 4K display modes.

If you’re running Windows 10, a recent Windows update may have caused changes in SMB throughput. Mounting your shares via /etc/fstab will likely resolve this.

You could also try smsc95xx.turbo_mode=Y in cmdline.txt.

The file server is a windows server 2012 R2. It’s not win 10 but it’s fundamentally the same under the hood.

I’m not a Pi Linux expert. Should i just google up mounting with fstab and follow the directions i might find? Am i going to need to make any changes to the media location after doing this? or to anything in the paths in the SQL database?

where do i find cmdline.txt?

You can use path substitution to make the new path match the original path.

You might also want to test your network between the trouble Pi and the server. iperf3 is good for this.

Thanks, i’ll try this in the morning. I just did the iperf test and it’s solid. No network issues here.

[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 11.2 MBytes 94.3 Mbits/sec 0 48.1 KBytes
[ 4] 1.00-2.00 sec 10.5 MBytes 88.4 Mbits/sec 0 56.6 KBytes
[ 4] 2.00-3.00 sec 11.2 MBytes 94.2 Mbits/sec 0 59.4 KBytes
[ 4] 3.00-4.00 sec 11.2 MBytes 94.0 Mbits/sec 0 65.0 KBytes
[ 4] 4.00-5.00 sec 11.2 MBytes 94.3 Mbits/sec 0 80.6 KBytes
[ 4] 5.00-6.00 sec 11.3 MBytes 94.5 Mbits/sec 0 80.6 KBytes
[ 4] 6.00-7.00 sec 11.3 MBytes 94.6 Mbits/sec 0 122 KBytes
[ 4] 7.00-8.00 sec 11.2 MBytes 93.8 Mbits/sec 0 122 KBytes
[ 4] 8.00-9.00 sec 11.3 MBytes 94.8 Mbits/sec 0 122 KBytes
[ 4] 9.00-10.00 sec 11.2 MBytes 93.7 Mbits/sec 0 122 KBytes


[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 112 MBytes 93.7 Mbits/sec 0 sender
[ 4] 0.00-10.00 sec 111 MBytes 93.5 Mbits/sec receiver

You might try a longer test, like maybe 10 minutes just to be sure, but with your short test I agree that your network looks good. So I think the next step is to try the fstab mount. That’s help many people with similar problems.

Ok, so i can’t go to bed with an open project…

It’s a bit unclear to me what i should make the mount name so i can make it match the old paths.

Also, it’s unclear if it’s acceptable to use a hostname rather than an IP address for the share address.

You probably will not be able to match the path names, as they are right now something like:

smb://server/path

And the new path will be:

/mnt/path

That’s where path substitution comes into play. (Before you ask: http://kodi.wiki/view/Path_substitution)

Using an IP is better, as it can be more stable if you have DNS issues. Personally I use hostnames and don’t have a problem.

Ok, while I still believe you should go down the fstab way as @bmillham gave you the details (You first just can mount them and then play the Video via “Files” for testing so that you don’t have to do the path substitution now).
But as noone asked so far what are actually your buffering settings and have you tried to copy the file to a USB stick for testing?

While you were both replying, i decided I’d try it and find out.

Yes i can use a hostname instead of the IP address in the fstab file. That works. I need the hostname because it’s a DFS share and doesn’t necessarily have a known and predictable IP.

I confirmed that i can browse the share . But It took me a big of messing around to test playback. I couldn’t figure out how to get to omxplayer from the terminal. I couldn’t find the omxplayer.bin in the usual locations. So instead i went to the gui, and set up one of my movie folders on this mount as a source. I played it from files and now my forward: 0 B is around 99% most of the time. That’s much better. This looks to be a solution.
While I’m on it, i should ask. why am i seeing the stats on my screen with overlapping lines. The top two lines are half on top of each other? My other OSMC instance isn’t doing this. I’d post a picture but i’m not seeing an obvious way to do that here.

Thanks guys especially bmillham for getting me on the right track.

@fzinken, where do i find the buffering settings? No i haven’t tried copying to USB. I don’t believe i have a spare one handy fast enough and big enough for a 30GB file.

There is a button with a arrow up that is for uploading pictures

Check the below. Also if you just search here on the forum for buffering you will find many discussions on that point.

http://kodi.wiki/view/HOW-TO:Modify_the_video_cache

This could be a potential problem. If the IP should change then you could loose access to the share until you reboot.

had to do two file substitutions. one for each case variation. The sources file was pointing to
smb://myShare/Movies/
That didn’t work on it’s own. I checked in MySQL and sure enough all of the path locations were pointing to:
smb://MYSERVER/Movies
I did it both ways and now it’s happy.

Is this different than how the other way of accessing the share behaves? It’s not a huge deal. The IP really only changes when one of the VMs goes down for maintenance or if i’m making changes. I can always reboot a pi if that’s the case. But it’s never hiccupped on me before even when doing maintenance.

Since you seem to have some MySQL knowledge, what I’d suggest is that you setup your other systems to also use fstab mounts, and then modify the database to match the new paths. I’ve done this before myself.

I’ve got no settings defined for video buffering in my advancedsettings.xml file. So i must be running whatever is default.

Here’s the picture of the weird debug info. sorry about the flake out on the upload. I’m too used to vBulletin and was looking for a picture icon.

I think this could be a problem with both methods. Isn’t there a way to give them a static IP? I know rebooting isn’t that much of a pain, but it seems an odd setup that the IP can change. If nothing else, can’t you set your router to give a static IP to the MAC address?

I can certainly do this. I even posted a sql script here once before to change the server path. I did it when i changed the name of my file server. And then again when i got sick of changing it and moving to the DFS share.
changing it completely would also involve changing the video source correct. Then it will add any new content to the DB with the correct location right?

I’m going to let it roll for a bit and just do this one to see how it behaves before changing it all over.

Yep, if you change the source.xml and the database to the new path (and use fstab on all systems) then you can do this. New content will be added just fine.