AzureStorageExplorer icon indicating copy to clipboard operation
AzureStorageExplorer copied to clipboard

Wish blob option to enable "Accept-Ranges: bytes"

Open jphiljohnston opened this issue 3 years ago • 4 comments

A common complaint from our customers is: "Why can't I move back and forth in a recording? For example, in order to get 1 hour in, you have to let it play for an hour. You cannot click and drag and have it just go to the point in the future."

A manager in another department within our company stated, "The marketing department has not switched to Azure for this specific reason."

We have 5 divisions in our company that we are encouraging to move to Azure Storage, but this is the key roadblock.

The workaround is to download the mp4 before playing it, but most don't want to be bothered.

jphiljohnston avatar Sep 20 '22 22:09 jphiljohnston

@jphiljohnston Could you elaborate a little more on what your use case is and how the header would work in that scenario? Our current support for Azure Blob storage is only targeting generic binary storage and we haven't thought about any optimization for blobs of specific types.

JasonYeMSFT avatar Sep 22 '22 21:09 JasonYeMSFT

Also, can we get more specifics on how this involves Azure Storage Explorer? Are you wanting to be able to set that property on blobs...?

MRayermannMSFT avatar Sep 26 '22 16:09 MRayermannMSFT

Yes, I would like to be able to set that property on blobs to then allow mp4 files to support playback from selected point on the progress bar.

Sent from my iPhone

On Sep 26, 2022, at 11:53 AM, Matthew Rayermann @.***> wrote:

 Also, can we get more specifics on how this involves Azure Storage Explorer? Are you wanting to be able to set that property on blobs...?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.

jphiljohnston avatar Sep 26 '22 18:09 jphiljohnston

@jphiljohnston The Accept-Ranges header is determined by the server instead of something the client should be modifying. According to my search, Azure Blob service has added support using that header for video streaming a long time ago so this shouldn't be an issue today. To help figure out why your streaming doesn't work, please verify the following conditions and make sure they are satisfied.

  • The blob to stream needs to be a block blob.
  • The blob needs to have the correct content type set.
  • The API version needs to be higher than 2011-08-18. This is a very old API version, it's very unlikely you are still on an older version than this.

Besides, could you also share how you stream the blob? I can stream one of my mp4 blob by creating a SAS url and putting it in a <video> tag in an html document. From the network tab, I can see the correct Accept-Ranges header in the response and the video can be streamed with the progress bar working properly.

JasonYeMSFT avatar Sep 26 '22 23:09 JasonYeMSFT

@jphiljohnston ?

MRayermannMSFT avatar Oct 17 '22 17:10 MRayermannMSFT

Closing due to lack of response. Hopefully the explanation by @JasonYeMSFT was helpful. If you still have questions, you can either open a support ticket via the Azure Portal or you can open a new issue here.

MRayermannMSFT avatar Oct 24 '22 16:10 MRayermannMSFT

Thank you, JasonYeMSFT. In my case, our Azure blob storage accounts have the default version of 2009-09-19. Not sure why because we have only created these recently. We have never touched this property before. Maybe the default version of each blob storage is really outdated?

So we follow the help from this person on StackOverflow here, using:

PS Azure:\> $ctx = New-AzureStorageContext -StorageAccountName <account-name> -StorageAccountKey <key>

PS Azure:\> Update-AzureStorageServiceProperty -ServiceType Blob -DefaultServiceVersion 2023-08-03 -Context $ctx

nguyenlamlll avatar Mar 30 '24 11:03 nguyenlamlll