Azure blob 流式视频 - ASP.NET MVC

Azure blob streaming video - ASP.NET MVC

我正在使用 azure block blob 并确保在从我的 asp.net mvc 应用程序上传视频时将内容类型设置为 video/mp4。我正在使用 videoJs 框架来流式传输我的视频。问题是,我无法转发我的视频或使用其他控件,例如在视频中返回。

我已经阅读了各种关于服务器如何在初始请求后可能不愿意接受部分内容请求 (206) 以及在其他一些情况下可能未设置您的内容类型的帖子。

这是我要渲染的示例视频:

https://qasimalishah.blob.core.windows.net/videoscontainer/2016-May-25-02-52-59_Realize%20Your%20Love%20to%20Family%20Qasim%20Ali%20Shah%20Urdu%20Hindi%20WaqasNasir.mp4

在此页面上 page 但无法转发,例如。

这就是我在视图中呈现的方式

<video id="really-cool-video" class="video-js vjs-default-skin" controls poster="@Model.MediaThumbnailUrl"
                            preload="auto" style="width: 100%; min-height: 380px; height: 100%;"
                            data-setup='{}'>
                        <source src="@Model.MediaUrl" type="video/mp4"/>
                        <p class="vjs-no-js">
                            To view this video please enable JavaScript, and consider upgrading to a web browser
                            that supports HTML5 video.
                        </p>
                    </video>

其中 @MediaUrl 是 azure public blob 的引用。 这在 2016 年听起来可能很愚蠢,但我在这里错过了什么?

我通过将存储版本设置为最新来让它工作。这太荒谬了,因为我认为微软可能已经在 2016 年涵盖了它,但经过调查我发现 DefaultServiceVersion 为空。

CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();
            var properties = cloudBlobClient.GetServiceProperties();
            if (String.IsNullOrEmpty(properties.DefaultServiceVersion))
            {
                //set the version of storage to latest
                properties.DefaultServiceVersion = "2015-04-05";
                cloudBlobClient.SetServiceProperties(properties);
            }

多亏了这个 blog 我才能够弄明白。将来可能会帮助某人。

谢谢