Azure Blob 流式传输视频 - ASP.NET MVC

3
我正在使用Azure块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

在这个页面上,例如无法转发页面

以下是我在视图上的呈现方式。

<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公共Blob的引用。 可能听起来很愚蠢,但我错过了什么吗?

1个回答

3

我通过将存储版本设置为最新版本来使其工作。这很荒谬,因为我认为微软在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);
            }

感谢这篇博客,让我找到了解决方法。或许能帮助未来的某个人。

谢谢。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接