Azure blob storage is a service provided by the Azure, blob storage can be used to store some loose structure of data, such as various types of text files data or binary data (each type format documents, media files and application installer),
For the Azure storage to store the mp3 format, such as media files, we can use the Azure storage provide url, can through the browser to access the media files in the form of a play, this article mainly discussed in the use of Azure storage provide the url of the broadcast on demand problems encountered in the process of media files, it is important to note that Azure storage is the main services provided by the storage service, for media files and coding work, provide professional media services, Azure details can refer to link,
Problem description:
Deposit in the Azure storage mp3 files, play mp3 files, drag the good progress hasn't cache (have buffer to 10 seconds, for example, now drag to 60 seconds), can't start buffer and then play in 60 seconds, will jump back to 10 seconds to play,
Problem analysis:
For play video or audio file, if the implementation effect of on demand (drag and drop to play in a certain time) can be based on one of two ways: Streaming and Progressive Download,
Streaming: a real-time Streaming technology
? Do not need cache entities file Streaming, and can be played from any point in time the
? Streaming in low-speed network will appear constantly caton buffer problem
? Streaming will packet loss in terms of transmission
? Streaming to the network utilization higher
Progressive Download: after a shard of sectional Download buffer
? Progressive Download will need to advance deposit Download file to the local store, and by default, the player will not automatically delete the cache file
? Progressive Download can't accurate frame to start playing, only from the biopsy of the stream media file PM
? Progressive Download under slow network has more advantage
? Progressive Download because of the need to check and some other reasons, the agreement on network utilization low
? Progressive Download because based on HTTP protocol, might retransmission packet loss in transmission data
The Azure Blob storage is not support Streaming on demand, but the Azure Blob storage can support Progressive Download, which means we can use the Blob storage realize Progressive Download form on demand function,
However, we noticed a problem is that by default we uploaded to the Azure storage files using a lower version (2009-09-19) in the REST of the agreement, and the low version of the agreement is not support "byte range retrieval (byte ranges the seek)", which can lead to can't download the specified node byte streams, also leads to can't play,
When we play media files using the fiddler tool we are caught, found that the default use is the original version of the 2009-09-19, and you can see the client has sent the Range, but there was no accept server returns - ranges, so is equivalent to not specified API version (UN - versioned),
Have some picture information due to the space relationship can be here to look at it