Improving Video Playback on Android
Instagram Engineering

2 years ago I implemented same approach for audio caching, year later I find out that instead of using proxy server on Android 5 you could use new DataSource class to provide streaming data to MediaPlayer. Fortunately google Exoplayer lib has similar api’s that could be used on lower Android versions. Of course there is a trade off between having a pretty big lib in project(proguard could help) Vs having local proxy server running in background for your app.