How to speed up YouTube on Android by enabling ExoPlayer (root required!)
What's the difference between MediaPlayer and ExoPlayer, and what benefits does the latter bring about? Simply put, the default player, MediaPlayer, is not very flexible - after you provide it with a URL link for a desired video, it does its best to stream it and play it as fast as it can. However, things can be done a lot better, and that's exactly what ExoPlayer's role is. This newcomer is utterly more flexible, allowing developers more control on the different stages (buffering, extraction, decoding, rendering, among others).
Normally, there's no discernible performance difference between MediaPlayer and ExoPlayer, yet the latter dons a compelling functionality - it supports Microsoft's Smooth Streaming. The latter does not only take the current load of your CPU into account, it also considers the changing bandwidth of your Internet connection. That's why it usually provides a faster video playback and minimum pre-buffering waiting time. Simply put, videos will pre-buffer a lot faster, though you might only notice difference in videos with higher resolution (1080p ones, for example).
The good news is that you can easily switch your YouTube app between MediaPlayer and ExoPlayer quite easy. Provided that your device is rooted, mind you. See how it's done: