c# - Azure 媒体服务 - 将视频 (blob) 流式传输到 HTML5 azure 媒体播放器

标签 c# .net asp.net-mvc azure azure-media-services

我的目标是让用户能够上传自己的视频,然后使用 Azure 媒体服务和 Azure 媒体播放器进行播放。我希望所有现代浏览器都支持视频播放。

目前我只测试了使用 Azure 门户手动上传,但我有一些问题/疑虑..

HTML

<link href="//amp.azure.net/libs/amp/latest/skins/amp-default/azuremediaplayer.min.css" rel="stylesheet">
<script src="//amp.azure.net/libs/amp/latest/azuremediaplayer.min.js"></script>

<video id="azuremediaplayer" class="azuremediaplayer amp-default-skin amp-big-play-centered" controls autoplay width="640" height="400" poster="" data-setup='{"nativeControlsForTouch": false}' tabindex="0">
<source src="https://MYSTORAGE.blob.core.windows.net/asset-ad8677da-8869-4eb9-a93b-5805fc7e8122/bigbuck.mp4?sv=2012-02-12&sr=c&si=c7011ff9-be73-4ad4-a55a-fd05099ffa50&sig=WNnjsHGJB8PN8ZbmCGdBM34MEQ1oXsSxMXaPAqF1yK0I%3D&st=2016-05-11T14%3A32%3A19Z&se=2116-04-17T14%3A32%3A19Z" type="application/vnd.ms-sstr+xml" />
<p class="amp-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video</p>

1. 通过上面的示例代码,我已将 mp4 视频上传到 Azure 媒体服务。使用 Chrome 时一切正常,但使用 Firefox 时我收到此错误消息:

A network error made downloading the video stopped. Check your network connection and try again later.

我的猜测是我需要对视频进行一些额外的编码?如果是这样,我的规范需要什么编码?

在其他示例中,我看到人们使用特殊格式,ism/Manifest some(?) 我错过了一个步骤吗?我所做的就是发布 Assets 、检索 URL 并将其粘贴到我的 HTML5 播放器中。我的 URL 看起来像 SAS URI..

2. 我是否需要创建至少一个单元的流媒体端点?我查看了定价,我认为大约是 139 美元/月。恶心。这不只是为了直播吗?

3. Azure 媒体服务( Assets )中上传的每个视频都有其自己的 Blob 容器。现在想象一下,如果我有超过一千个用户和更多视频。真的是这样的吗?是否不可能为所有视频使用相同的 blob 容器? Azure 媒体服务真的是我想要的吗?

4.如果我不使用 Azure 媒体服务,我的其他选择是什么?将上传的视频转换为 MP4/WebM/Ogg 并使我的存储空间增加三倍?

最佳答案

上面需要注意的是,您在源标记中提供的 mime 类型不正确,因为您使用的是渐进式 MP4 并且没有使用自适应流。你有“application/vnd.ms-sstr+xml”,而它应该是“video/mp4” – 有一个示例 http://amp.azure.net/libs/amp/latest/samples/videotag_progressiveVideo.html对于这个用例。

关于c# - Azure 媒体服务 - 将视频 (blob) 流式传输到 HTML5 azure 媒体播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37179954/

相关文章:

c# - 在 C# 中将列表对象转换为 json

c# - 自托管 Wcf 服务于 wsdl 但在调用时为 404

c# - Membus 和简单注入(inject)器 - 通过接口(interface)自动连接命令处理程序

c# - 如何更新 DrawingImage 中的颜色

.net - SSCLI 2.0 (ROTOR) 和 .NET 有什么区别?

c# - 自定义非对称密码算法

asp.net-mvc - 如何使用 SpecFlow、Cucumber 或其他 BDD 验收测试框架在不同的测试类型之间进行选择?

c# - Moq 框架对返回任务的方法进行单元测试

c# - 将 Zip 文件作为流写入 AWS

asp.net-mvc - 异步 Adsense 脚本 - MVC .Net 部分 View - 仅包含脚本一次