Is there a way to cache YouTube videos after playing them?
Google's YouTube app has an option to preload videos that are either in a channel you are subscribed to or that are in your "watch later" list. I haven't tested this but I think it will keep a video that you have preloaded cached for a while after you watched it for the first time.