Creating IGTV like feature in application

I need to create an IGTV like feature for my app. Now I have 2 main issues here:

  1. Shall I create AVPLayer instance for each cell in my UITAbleView or a single shared instance should be used for all cells?

  2. Video start up time in IGTV is literally 0 and it is pretty fast. Definitely they are storing videos in cache. But I think it is not good to store entire videos in memory. Then how are they doing this? Are they storing some initial part of each video in cache? If yes, how is it possible in iOS ? How could I create an interface for AVPlayer wherein I can just pass the video url and stores some initial bytes in cache and plays from there and then streams rest of the video?

  1. You can play more than one stream simultaneously (using multiple players) but it's not going to scale very well if your table view has a lot of items. It would be better to architect your app (and UI) with the assumption that some kind of sharing is going to be involved.

  2. We don't know how IGTV is playing videos. HTTP Live Streaming startup times can be fast, but maybe they've devised a clever custom strategy for improving on the default behavior.

Creating IGTV like feature in application
 
 
Q