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?
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, 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.
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 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.