我在将.mp4
视频存储在Azure Blob存储中以显示在Azure托管的网站中时遇到问题。视频类型设置为video/mp4
,存储帐户不是公开的,但已链接到网络角色,并且我使用以下代码更新了版本:
var credentials = new StorageCredentials("myaccountname", "mysecretkey");
var account = new CloudStorageAccount(credentials, true);
var client = account.CreateCloudBlobClient();
var properties = client.GetServiceProperties();
properties.DefaultServiceVersion = "2012-02-12";
client.SetServiceProperties(properties);
我没有使用任何视频播放器,仅使用了HTML5视频标签。我也不需要任何花哨的东西,我只想播放视频。
在Chrome开发工具中的“网络”标签上,有两个条目用于GET
请求获取视频的请求。第一个的状态为(pending)
,下一个的状态为(canceled)
。
我还给了它一个指向网站内容文件夹中视频的链接。这个也以开头,pending
但以a解析,204 Partial Content
并且视频播放正常。
我没什么东西可以看的了,任何帮助和建议都值得赞赏。
根据上面的评论,您需要一个Shared Access Signature
。使用下面的代码在mp4文件上创建共享访问签名。
var credentials = new StorageCredentials("myaccountname", "mysecretkey");
var account = new CloudStorageAccount(credentials, true);
var container = account.CreateCloudBlobClient().GetContainerReference("yourcontainername");
var blob = container.GetBlockBlobReference("yourmp4filename");
var sas = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
{
Permissions = SharedAccessBlobPermissions.Read,
SharedAccessExpiryTime = DateTime.UtcNow.AddHours(1),//Set this date/time according to your requirements
});
var urlToBePlayed = string.Format("{0}{1}", blob.Uri, sas);//This is the URI which should be embedded in your video player.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句