Video Streaming service providers are dealing with increasingly large media asset content repositories. To store these in a flexible and persistent manner, cloud storage is often used. In addition the compute power available in the cloud is often used for on-the-fly format conversion such as dynamic packaging. This way, additional protocols, encryption schemes and formats can be supported from a single storage source. We present a study on the performance of this increasingly common video streaming setup and propose an improvement.
We compare the efficiency of different storage formats used in the cloud storage such as fragmented MPEG‑4 and MPEG‑4 and compare local versus cloud based object storage. In addition we study the resulting traffic between the storage, compute and client nodes. Results show reduced traffic towards the client in the cloud storage based solution. Resulting traffic patterns hint that specific parts of the media assets are most relevant for the conversion at the compute node.
Based on this we then introduce an improvement scheme that involves caching metadata files based on dynamically referenced MPEG‑4 at the compute node. Experimental results show many benefits such as halving the request time (-50 percent for segment request, ‑90 percent for manifest requests), reduced number of calls to storage and improved throughput towards the client (+20 percent for fMP4, +100 percent for MP4).
In addition, experiments showed player playback startup delay reduced up to 60%. Contrary to the initial setup, both MP4 and fMP4 based storage result in good streaming performance with this scheme, allowing both formats to be used in the storage backend.