# SmartSync - preload engine for Up Next (and expanded buffering control)

**URL:** https://forums.plex.tv/t/smartsync-preload-engine-for-up-next-and-expanded-buffering-control/202584
**Category:** Feature Suggestions
**Created:** [August 15, 2017, 2:11pm UTC](https://forums.plex.tv/t/smartsync-preload-engine-for-up-next-and-expanded-buffering-control/202584 "2017-08-15T14:11:27Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![humor4fun](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/humor4fun/32/86298_2.png) [@humor4fun](https://forums.plex.tv/u/humor4fun)
#### Post date: [August 15, 2017, 2:11pm UTC](https://forums.plex.tv/t/smartsync-preload-engine-for-up-next-and-expanded-buffering-control/202584/1 "2017-08-15T14:11:27Z")

</div>

This piggybacks off of the youtube-style buffering, but I have done my best to go into much more detail about usage and function as well as proposing an entirely new feature: SmartSync.

I’d like a clear set of controls in the settings panel on the player app (Shield TV 2015 for me) that allows me to set the “buffer ahead” value to anything from 30 seconds to infinite (buffer all). This is talked about in another thread [here](http://forums.plex.tv/discussion/46169/very-popular-myplex-buffer-content-youtube-style#latest "forums.plex.tv/discussion/46169/very-popular-myplex-buffer-content-youtube-style#latest")

Couple that with a setting to “pre-buffer Up Next” which would use extra bandwidth when the player is not active, or after the currently playing video has fully buffered to download/buffer the next X number of episodes from the Up Next list. Perhaps give me a setting that lets me control “preload 3 episodes for the top 4 shows.” Also, add it as an option when you select a video (episode, movie) in the …/more menu to “preload this content.” The UI for the player could then easily display these movies/show tiles in the “Continue Watching” section, perhaps with a thin border around the tile, or a corner badge to show that it has been preloaded.

Of course, if you are setting pre-load options you should also include “buffer quality” as a control there. Maybe you want to call it SmartSync instead of preload or pre-buffer.

My proposed additions to the Settings inside the Player app

Settings/SmartSync

- Quality = [original, 4k60, 4k30, 1080p60, 1080p30, 720p60, 720p30]  
_what quality to preload_
- Episodes = [0,1,2,3…All]  
_how many episodes to preload for a show_
- Show Count = [0,1,2,3…All]  
_how many TV Shows from the Up Next row to preload_
- Disk Usage = [n/a, 500GB, 400GB, 200GB, 50GB…off]  
_how much disk space should be used to preload content, if space limit is reached, do not preload any more content. User requested preload will trump a SmartSync auto-preload and data in the SS cache will be replaced_
- Movies = [0,2,4,6]  
_how many movies to preload. half of this amount should be from the most recently added movies, the other half could be some smart algorithm, or from unfinished movies_
- Expiry = [1week, 3week, 2month, none]  
_how long does a video stay in the SS cache before automatically expiring and being removed from the cache. If the SS brain decides the same content should stick around after expiry, that’s fine, but it should be refreshed from the source, to check for higher quality, or if that content no longer meets the SS criteria_

Settings/Buffer

- Quality = [original, 4k60, 4k30, 1080p60, 1080p30, 720p60, 720p30]  
_what quality to buffer during playback, this is probably just the same as whatever other play-quality setting is used_
- Read-Ahead = [auto, 30s, 60s, 5m, 15m, 30m, 60m, full]  
_length of future time to load into the buffer ranging from the current ‘auto’ to a ‘full’ buffer of the entire video_
- Block Screen = [on, off, stickaround]  
_on: Allow paused video to block the screen until the buffer is full before triggering the menu-return timeout  
off: use standard menu-return timeout  
stickaround: Allow paused video to block and do not clear the buffer cache when menu-return timeout triggers – the buffer is expecting the user to come back and begin playback after the buffer is full_

---

<div class="post-metadata">

### Author: ![drsassafras](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/drsassafras/32/94509_2.png) [@drsassafras](https://forums.plex.tv/u/drsassafras)
#### Post date: [November 9, 2023, 3:31pm UTC](https://forums.plex.tv/t/smartsync-preload-engine-for-up-next-and-expanded-buffering-control/202584/2 "2023-11-09T15:31:09Z")

</div>

I would like to suggest a much simplified implementation of this. Simply pre-load the next episode when watching tv series. Especially now that we have skip intro, one has to wait twice as much, once to wait for the next episode to buffer before it plays, and again to wait after skip into is pressed, again for it to buffer. Just pre-load the next episode a bit so this does not happen.

It’s also a part of managing resources, When content is pre-loaded one can use a more limited connection to get a better result. Can watch at a higher quality etc. Or can have more people using the same server at the same time. That’s because although there is more bandwidth being used, it’s used at a lower priority. eg. if my content is already pre-loaded ahead a bit, then when jonny stars watching his video, I have slack in my connection that can be taken up before its noticed on my end.

So in contrast with the original suggestion, I would like suggest something similar, but instead of lots of settings and a feature name, it happen invisibly behind the scenes to “just deliver” content in a smarter way to avoid a download/upload choke for remote resources. This would probably only need to be implemented for remote streams.
