Azure 媒体服务 v3 发行说明
警告
Azure 媒体服务将于 2024 年 6 月 30 日停用。 有关详细信息,请参阅 AMS 停用指南。
为了让大家随时了解最新的开发成果,本文将提供以下方面的信息:
- 最新版本
- 已知问题
- Bug 修复
- 已弃用的功能
2023 年 6 月
Azure 媒体服务从 2023 年 6 月 30 日开始停用。 请参阅 Azure 媒体服务停用指南。
2023 年 3 月
Azure Media Indexer 已停用。 它已由媒体服务 v3 AudioAnalyzerPreset 基本模式取代。
2023 年 2 月
2 月发行说明即将发布。
2023 年 1 月
计时元数据
计时元数据是插入到实时流中的自定义数据。 数据及其插入时间戳都将保存在媒体流本身中。 这样,播放视频流的客户端就可以在完全相同的时间获取与视频流相关的相同自定义元数据。 使用计时元数据可以:
- 将交互元素(例如投票)添加到实时流。
- 添加与视频内容相关的信息,例如演讲者、产品链接、运动员统计信息等。
- 添加有关视频的元数据,例如 GPS 位置、时间等。
有关详细信息,请参阅使用 Azure 媒体服务发送计时元数据和如何使用 Azure 媒体服务发送计时元数据信号。 可以使用 Stackblitz 尝试此操作。
比特率分离
本月发布的版本改进了 ContentAwareEncoding 比特率分离和分辨率决策。
ContentAwareEncoding 可与 PresetConfigurations 一起使用,以满足最佳流式处理和编码性能的特定要求。
为了更好地实现比特率分离,我们已使用试用编码的估算复杂度估算了顶层比特率、底层比特率和总层数。 一旦确定顶层比特率、底层比特率和层数,就可以根据相邻层之间的均匀比特率之比计算中间层的比特率。 在这种情况下,几乎可以按比特率均匀分离各个层。
谈到分辨率,底层是主要问题。 可以通过 PresetConfigurations 配置底层分辨率。 如果未配置底层分辨率,修改后的逻辑会根据试用编码的估算复杂度确定底层分辨率。 如果用户通过 PresetConfigurations 设置了底层比特率,该逻辑也会确定底层比特率。 分辨率决策尝试在底层使用高于 180P 的分辨率,以实现更好的视觉质量。
此版本还改进了内容复杂度估算算法。 原始算法是保守的,会导致比特率高于所需的值。 如果使用修改后的估算,输出比特率通常比以前更低。 换言之,现在你可以节省网络带宽方面的费用和存储成本。
最新 Azure.ResourceManager.Media 客户端 SDK 的 .NET SDK 示例
更新后的 Azure.ResourceManager.Media 客户端 SDK(也称为“轨道 2”.NET SDK”)在 Nuget Azure.ResourceManager.Media 中提供。 github 上 .NET 示例存储库的主分支中的所有示例已更新为此客户端 SDK 的最新版本。 Azure-Samples/media-services-v3-dotnet。 此存储库中的项目演示了如何使用 v3 版本实现不同的 Azure 媒体服务方案。 (github.com)。
2022 年 12 月
媒体服务现在支持使用 IPv6 将媒体流式传输到实时事件、从流式处理终结点流式传输内容,以及传送内容密钥。 若要为流式处理终结点和实时事件启用 IPv6,资源的 IP 允许列表必须至少包含一个 IPv6 地址或 IPv6 范围。
有关将 IPv6 用于媒体服务的详细信息,请参阅媒体服务实时事件和使用 IP 允许列表限制对 DRM 许可证和 AES 密钥传送的访问。
2022 年 11 月
媒体服务现在会默认从 HLS 变体播放列表中删除音频呈现形式,以防止客户端在网络状况不佳的情况下回退到仅播放音频。
若要更改此行为,可以使用 URL 标记 [audio-only=true]
在 HLS 变体播放列表中编写音频呈现形式。
例如:
http://host/locator/asset.ism/manifest(format=m3u8-aapl,audio-only=true)
这是因为 HLS 创作指南发生了更改,该指南现在指出“不能在多变体播放列表中列出仅包含音频的变体”。
2022 年 9 月
API 版本:已更新 2022-08-01 ARM REST API
已发布经过更新的适用于 Azure 媒体服务的 ARM REST API 版本。 版本 2022-08-01 现在是生产环境中最新的稳定版本。 最新 REST API 定义在 GitHub 上的媒体服务的 REST 规范文件夹中提供。
2022-08-01 API 的更新包括:
- LiveOutput 实体引入了一个新的可为空属性 rewindWindowLength 来控制直播期间用于编码和直通实时事件可跳转的时段。 在 LiveOutput 停止后,就不会使用此属性。 存档的 VOD 将包含具有原始 archiveWindowLength 的完整内容。 当属性设置为 null 时,低延迟 (LowLatencyV2) 实时事件使用默认值 30 分钟;标准实时事件不使用它。
- 在内容密钥策略中添加了对 PlayReady SL3000 安全级别的支持
- 扩展了资产跟踪 API,可支持音频轨道(用于延迟绑定的描述性音频或多种语言)
- 在流式处理策略中添加了对使用“cenc”或“cbcs”模式的 MPEG 通用加密明文密钥的支持
适用于 Javascript、Python、Go 的新 SDK 客户端版本
PyPI 上提供新的 Python 客户端 SDK v10.1.0:azure-mgmt-media
npm 上提供新的 Javascript 客户端 SDK v13:Azure Media client library for JavaScript - @azure/arm-mediaservices
现提供新的 GO 客户端 SDK v 3.1.0 - armmediaservices 包
PlayReady 安全级别 3000 许可证支持 (SL3000)
媒体服务的 PlayReady DRM 内容保护和许可证传送功能现在支持 PlayReady SL3000。 安全级别是 PlayReady 客户端的属性,传送给客户端的每个许可证都有一个属性,指示客户端允许绑定到此许可证所需的最低安全级别。 安全级别 3000 是为使用最高质量商用内容的高安全性强化设备提供的。 通过此更新,可以将内容密钥策略配置为通过媒体服务密钥传送许可证服务器传送 PlayReady SL3000 许可证。 有关 PlayReady 安全级别的更多详细信息,请参阅在许可证中使用安全级别一文。
- 如果将 SL3000 PlayReady ContentKeyPolicyOption 添加到内容密钥策略,则该策略只能包含其他 PlayReady SL3000 选项。
- SL3000 要求为音频使用不同的密钥或使用未加密的音频。 音频安全级别应限制为 SL2000 或更低。
- SL3000 播放目前无法在 Azure Media Player (AMP) 中进行。 请在第三方播放器(例如 Shaka Player)或支持 SL3000 播放的设备中进行测试。
示例内容密钥策略:
{
"properties": {
"options": [
{
"name": "PlayReadyOption",
"configuration": {
"@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration",
"licenses": [
{
"playRight": {
"digitalVideoOnlyContentRestriction": false,
"imageConstraintForAnalogComponentVideoRestriction": false,
"imageConstraintForAnalogComputerMonitorRestriction": false,
"allowPassingVideoContentToUnknownOutput": "NotAllowed"
},
"licenseType": "NonPersistent",
"contentKeyLocation": {
"@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
},
"contentType": "Unspecified",
"securityLevel": "SL3000"
}
]
},
"restriction": {
"@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
}
}
]
}
}
**使用适用于视频的 SL3000 内容密钥策略和适用于音频轨道的 SL2000 内容密钥策略的示例流式处理策略:**
{
"properties": {
"defaultContentKeyPolicyName": "sl3000_content_key_policy",
"commonEncryptionCenc": {
"enabledProtocols": {
"download": false,
"dash": true,
"hls": false,
"smoothStreaming": true
},
"contentKeys": {
"defaultKey": {
"label": "cencDefaultKey"
},
"keyToTrackMappings": [
{
"label": "audiokey",
"policyName" : "sl2000_content_key_policy",
"tracks": [
{
"trackSelections": [
{
"property": "FourCC",
"operation": "Equal",
"value": "mp4a"
}
]
}
]
}
]
},
"drm": {
"playReady": {}
}
}
}
}
若要详细了解如何使用 PlayReady 许可证模板,请参阅媒体服务 PlayReady 许可证模板一文
使用新的资产跟踪 API 为描述性音频或多种语言添加音频轨道
新的资产跟踪 API 使你可以将任意数量的音频轨道延迟绑定到现有资产,并使它们可用于动态打包到 HLS 和 DASH。 API 支持设置用于指定语言或内容特征的元数据来指定“描述性音频”,从而提高内容可访问性。
有关跟踪 API 功能的完整列表,请参阅媒体服务跟踪 API 一文
支持使用 CENC 和 CBCS 加密的 MPEG 通用加密明文密钥
明文密钥加密是 MPEG 通用加密 (CENC) 标准的一项功能,许多新式浏览器中提供的 HTML5 加密媒体扩展 (EME) 都支持。 可以在流式处理策略中设置使用“cenc”或“cbcs”加密模式的明文密钥 AES-128 加密,以便覆盖各类 Apple、Web 和 Android 设备。
通过此功能,无需使用 DRM 系统即可支持通用加密标准,并覆盖各类播放器。 有了对使用“cenc”或“cbcs”加密模式的明文密钥加密的支持,现在可以向支持标准中允许的两种加密模式的播放器分发不需要 DRM 的安全内容。 这样就可以将加密内容传送给客户端播放器,例如 Google Shaka player (v 4.0.0+)、Dash.js (v 4.5+)、Bitmovin、Theo Player 和使用“cenc”加密的 Android ExoPlayer (v 2.18.1+)。
若要详细了解如何使用媒体服务的内容保护功能,请参阅使用动态加密和密钥传送保护内容一文
实时输出上的后退时段与存档时段
可以在实时输出上设置 rewindWindowLength,以控制实时传送视频流期间客户端播放器上可跳转的时段。 这有助于客户控制在播放器中跳转回实时流的可见时间。 此设置还有助于减少在实时传送视频流期间通过网络传送到客户端的清单大小,这最终可能带来更高效的实时传送视频流体验,并减少客户端上的内存使用量。
流完成后,你可以访问由实时输出上的 archiveWindowLength 属性定义的资产中的存档文件。 这样一来,现在就可设置一个与先前的“DVR 滑动窗口”时长(在播放器中可见)不同的存档时长。 如果你想在播放器中使用很短的时移时段进行流式传输,但又想要将整个实时事件存档到输出资产,此设置就非常有用。
可将 rewindWindowLength 设置为最小值 60 秒。 如果使用“LowLatencyV2”选项启用实时事件,则默认值为 30 分钟,否则无默认值。 如果未设置 rewindWindowLength,且实时事件未设置为使用“LowLatencyV2”选项,则服务器不会设置默认值,并且实时播放期间可跳转的时段与 archiveWindowLength 的值相同。 在这种情况下,如果将 archiveWindowLength 设置为很长的时段,则在直播模式下播放的过程中,播放器可能会受到更多缓冲问题的影响,因为会将更大的清单大小下载到播放器用于解析。
有关更多详细信息,请参阅使用时移和实时输出创建点播视频一文
新区域:中国北部 3 现已正式发布
除了已正式发布的 4 个现有区域(中国东部、中国东部 2、中国北部、中国北部 2)以外,中国的客户现在还可以访问中国北部 3 区域的 Azure 媒体服务。 有关详细信息,请参阅按功能表划分的区域可用性。
2022 年 8 月
Node.js/Typescript 中的新跟踪 API 示例,用于向任何资产添加字幕和标题轨道
演示如何后期绑定 WebVTT 或 TTML 字幕或标题文件的新示例现已在 Node.js 示例项目中提供。 请参阅示例向现有资产添加 WebVTT/IMSC1/TTML 字幕或标题
此示例演示如何将任意数量的文本轨道添加到资产,并将其打包为 DASH 和 HLS 中的 TTML/IMSC1 文本配置文件。 该 API 还允许设置 HLS 清单的特定特征,例如默认标题轨道、设置“强制”属性,以及控制每个 Apple HLS 规范的 HLS 文本轨道的“特征”值。
API 当前支持将 .vtt 或 .ttml 文件格式上传到现有资产。 使用轨道 API 注册的新轨道将立即显示在 DASH 和 HLS 清单中,显示为 IMSC1 配置文件 MP4 文本轨道。
2022 年 6 月
自定义实时编码预设中支持的自定义音频比特率
现在可以请求支持多个音频比特率输出的自定义实时编码预设。 对于实时预置的音频,现可使用以下离散 AAC 音频比特率进行自定义(96k、112k、128k、160k、192k、224k、256k、320k、384k、448k、512k)。 另请在支持票证中指定正在请求自定义预设。
自定义预设现在可以在同一实时编码预设中包含多个离散音频比特率。 这对于在移动网络上需要较低比特率音频轨道的市场非常有用。 例如,可同时输出 96k 和 128k AAC 音频轨道的自定义实时预设。 然后,播放机可以筛选或选择适当的轨道,或者可以应用动态筛选器,以在发布流式处理定位符期间提供仅 96k 的清单或仅 128k 的清单(或者在流式处理定位符 URL 上使用“filter={filterName}”查询参数进行即时切换)。
自动缩放
现在可以根据流式处理终结点的任何可用指标或任何相关实体的指标,自动缩放媒体服务帐户中的高级流式处理终结点。 可以使用这些指标的组合来创建自动缩放的规则。 有关详细信息,请参阅自动缩放媒体服务流式处理终结点。 请注意,自动缩放仍可能需要一些时间来执行,并且不是即时的,因此请确保在体系结构设计中留出足够的时间来扩展和部署资源。 流式处理终结点需要一些时间来启动,因此建议使用值较低的 CPU 利用率和网络带宽出口触发点来触发纵向扩展。
2022 年 5 月
隐藏式字幕 708 和 608 HLS 清单修饰支持
现在,会在 HLS 清单中使用 TYPE=CLOSED-CAPTIONS 的 EXT-X-MEDIA 标记,为在基本流中引入的带有嵌入式 608/708 字幕的实时流正确设置属性。 这符合 RFC-8216 第 4.3.4.1 部分的要求。
例如,包含 608 和 708 隐藏式字幕的实时流将显示在 HLS 清单中:
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",NAME="CEA708_CC",DEFAULT=YES,INSTREAM-ID="SERVICE1"
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",NAME="CEA608_CC",INSTREAM-ID="CC1"
2022 年 4 月
实时听录
实时听录现已正式发布 (GA),且支持语音转文本 API 中的所有可用语言。 实时听录区域和语言一文中提供了完整的语言列表
低延迟 HLS (LL-HLS)
低延迟 HLS (LL-HLS) 现已在 API 和 Azure 门户中提供。 若要启用 LL-HLS,请在创建实时传送流时使用“LowLatencyV2”流选项。 请参阅 Node.js 示例,了解如何配置创建低延迟 HLS 实时编码事件。在 Azure 门户中,请在创建实时事件时请选择新增的“低延迟”选项。 在使用支持 LL-HLS 协议的播放机框架时,新增的 LL-HLS 功能可以将延迟减少 4-7 秒。 低延迟 HLS 只可用于实时转码通道上,目前还不适用于“直通”模式的直播活动。
2022 年 3 月
.NET SDK 版本 6.0.0
.NET SDK 版本 6.0.0 现已在 Nuget 上提供。 Microsoft.Azure.Management.Media
此 SDK 支持新的 2021-11-01 稳定版本的 AMS REST OpenAPI 规范。
使用包管理器进行安装:
Install-Package Microsoft.Azure.Management.Media -Version 6.0.0
使用 .NET CLI 进行安装
dotnet add package Microsoft.Azure.Management.Media --version 6.0.0
6.0.0 SDK 中的更改包括:
- 在资产下添加了新的跟踪 API,用于管理资产中提供的跟踪。
- 添加了适用于 H265 编码的 Main10 编码配置文件。
- 用于 H264 编码的公开 RateControlMode,启用 2 种新的速率控制模式 - CBR(恒定比特率)和 CRF(恒定速率因子)。
- 向流式处理终结点添加了“skus”属性,以指示流式处理终结点的类型及其缩放。 这样就可以在流式处理终结点中对手动或自动缩放流单元的操作进行配置。
- 在实时事件中添加了“LowLatencyV2”流选项,用于使用 Apple 的低延迟 HLS 格式 (LL-HLS) 的低延迟实时传送视频流
新文档内容:流式传输 Microsoft Teams 会议
使用媒体服务实时事件从 Microsoft Teams 中继会议广播很容易。 在公共网站上轻松放置实时 Teams 会议,或使用 DRM 来保护流。 将流捕获并记录为 VOD 资产,以便将其与媒体服务编码平台配合使用。 请参阅流式传输 Microsoft Teams 会议。
使用新的跟踪 API 将隐藏式字幕和字幕跟踪后期绑定到资产
使用资产上的新跟踪 API,可以列出资产内的可用跟踪。 这样便可以发现存储在资产中的可用音频、视频和文本跟踪。 使用跟踪 API,你可以将 IMSC1 文本配置文件和 WebVTT 格式的隐藏式字幕和字幕文件后期绑定到流式处理资产。 过去,客户需要修改 Blob 存储帐户中的 .ism 文件,以向其资产添加新的后期绑定跟踪。 这会替换该手动任务并提供受支持的 SDK 路由,以启用添加后期绑定隐藏式字幕和字幕文件的功能。
有关新跟踪 API 的技术详细信息,请参阅此处的 2021-11-01 版 AMS REST OpenAPI 规范。
基本列表跟踪示例在 Javascript each 中提供。将很快为每个 SDK 提供其他示例和文档。
2021 年 12 月
更新了 JavaScript SDK 版本 10.0.0
JavaScript SDK 现已更新为支持 2021-06-01 的最新 REST API 版本。 这个新的同构 JavaScript SDK 包括对承诺的更好支持以及使用 @azure/identity 库进行身份验证的功能,以便与 Azure AD 应用程序、托管标识等一起使用。
若要下载最新的包,请参阅 @azure/arm-media-services NPM 包。
Git Hub 中提供了一组已更新和扩展的基于 Node.js 和 TypeScript 的新 JavaScript 包示例。 https://github.com/Azure-Samples/media-services-v3-node-tutorials
音频/视频分析器预设中提供希伯来语、波斯语和葡萄牙葡萄牙语用于转录
音频和视频分析器预设现在提供希伯来语、波斯语和葡萄牙葡萄牙语(目前存在的当前模型是巴西葡萄牙语)
新支持的 BCP-47 语言代码为:he-IL、fa-IR 和 pt-PT。
2021 年 9 月
新的基本直通直播活动 SKU
新的基本直通直播活动 SKU 使客户能够以更低的价格点创建直播活动。 它类似于标准直通直播活动,但输入带宽限制较低,允许的实时输出更少,DVR 窗口长度限制不同。 有关详细信息,请参阅直播活动类型比较。
流式处理终结点门户页现在显示 CPU、出口和延迟指标
现可在 Azure 门户中的流式处理终结点上可视化 CPU 负载、出口带宽和端到端延迟。 现可直接在门户中使用 Azure Monitor 的强大功能根据 CPU、出口或延迟指标创建监视警报。
媒体服务帐户的用户分配管理标识支持
使用用户分配的标识,客户现在能够提高其存储帐户和关联密钥保管库的安全性。 对客户存储帐户和密钥保管库的访问权限将限制为用户分配的托管标识。 可以完全控制用户托管标识的生存期,并根据需要轻松撤销媒体服务帐户对任意特定存储帐户的访问权限。
门户中的“媒体服务存储帐户”页现在支持 UAMI 和 SAMI
现在,可以直接在媒体服务的 Azure 门户中为存储帐户分配和管理用户分配的托管标识 (UAMI) 或系统分配的托管标识 (SAMI)。
“自带密钥”页现在还支持 UAMI 和 SAMI。
媒体服务的密钥管理门户页现在支持配置和管理用户分配的托管标识 (UAMI) 或系统分配的托管标识 (SAMI)。
媒体服务的专用终结点支持
现在,可以通过为每项服务创建专用终结点,限制对直播活动、流式处理终结点和密钥传送服务终结点的公共访问,以便实现内容保护和 DRM。 这将限制对每项服务的公共访问。 只有在专用终结点中配置、来自配置的虚拟网络 (VNET) 的流量才能访问这些终结点。
密钥服务的 IP 允许列表
现在可以选择允许某些公共 IP 地址访问密钥传送服务,以便实现 DRM 和内容保护。 实时事件终结点和流式处理终结点已支持在各自的页面中配置 IP 允许列表。
现在,你还具有帐户级别功能标志,用于允许/阻止对媒体服务帐户的公共 Internet 访问。
2021 年 7 月
.NET SDK (Microsoft.Azure.Management.Media) 5.0.0 版本已在 NuGet 中可用
Microsoft.Azure.Management.Media .NET SDK 版本 5.0.0 现已在 NuGet 中发布。 生成此版本是为了与 ARM REST API 2021-06-01 稳定版本配合使用。
有关 4.0.0 版本的更改的详细信息,请参阅更改日志。
5\.0.0 .NET SDK 版本中的更改
- 媒体服务帐户现在支持系统分配的托管标识和用户分配的托管标识。
- 为媒体服务帐户添加了 PublicNetworkAccess 选项。 可将此选项与专用链接功能配合使用,以便仅允许来自专用网络的访问,并阻止所有公用网络访问
- 基本直通 - 添加了新的实时事件类型。 “基本直通”实时事件的功能类似于标准直通实时事件,但存在一些输入和输出限制,并以更低的价格提供。
- PresetConfigurations - 可用于自定义输出设置,以及用于内容感知编码预设的最小和最大比特率。 它可以帮助你在通过受约束的输出轨道编号和分辨率使用内容感知编码时,更准确地估算费用并相应地做好安排。
5\.0.0 .NET SDK 版本的中断性变更
- 为了与所有其他 Azure SDK 保持一致,ApiErrorException 已替换为 ErrorResponseException 。 异常正文没有变化。
- 所有返回“404 未找到”的调用现在都会引发 ErrorResponseException 而不是返回 Null。 进行此更改是为了与其他 Azure SDK 保持一致
- 媒体服务构造函数可以在 KeyDelivery 参数后面使用新的可选 PublicNetworkAccess 参数。
- MediaServiceIdentity 中的 Type 属性已从 ManagedIdentityType 枚举更改为字符串,以适应逗号分隔的多个值。 有效的字段为“SystemAssigned”或“UserAssigned” 。
2021 年 6 月
用于改进诊断的其他实时事件引入检测信号属性
其他实时事件引入检测信号属性已添加到事件网格消息。 其中包括以下新字段,用于帮助诊断实时引入过程中的问题。 如果需要监视将内容从源引入编码器推送到实时事件过程中出现的网络延迟,可以使用 ingestDriftValue。 如果此值偏移过大,则表明网络延迟过高,实时传送视频流事件无法成功。
有关更多详细信息,请参阅 LiveEventIngestHeartbeat 架构。
Python 和 Node.js 的新示例(使用 TypeScript)
Node.js 的更新示例,使用 Azure SDK 中最新的 TypeScript 支持。
示例 | 说明 |
---|---|
实时传送视频流 | 基本实时传送视频流示例。 警告:在使用实时传送视频流时,请确保检查是否已清理所有资源,并且不再在门户中计费 |
上传和流式传输 HLS 和 DASH | 上传本地文件或从源 URL 编码的基本示例。 示例演示如何使用存储 SDK 下载内容,并演示如何流式传输到播放机 |
使用 Playready 上传并流式传输 HLS 与 DASH | 演示如何使用 PlayReady DRM 进行编码和流式传输 |
新的 Python 示例演示如何使用 Azure Functions 和事件网格来触发人脸编修预设。
2021 年 5 月
媒体服务中的可用性区域默认支持
媒体服务现在支持可用性区域,在同一 Azure 区域内提供故障隔离位置。 媒体服务帐户现在默认为区域冗余,无需其他配置或设置。 请注意,这仅适用于具有可用性区域支持的区域
2021 年 3 月
为 AudioAnalyzer 预设添加了新语言支持
现在,AudioAnalyzer 预设(基本和标准模式)中为视频听录和字幕提供了更多语言。
- 英语(澳大利亚),'en-AU'
- 法语(加拿大),'fr-CA'
- 现代标准阿拉伯语(巴林),'ar-BH'
- 阿拉伯语(埃及),'ar-EG'
- 阿拉伯语(伊拉克),'ar-IQ'
- 阿拉伯语(以色列),'ar-IL'
- 阿拉伯语(约旦),'ar-JO'
- 阿拉伯语(科威特),'ar-KW'
- 阿拉伯语(巴嫩),ar-LB'
- 阿拉伯语(阿曼),'ar-OM'
- 阿拉伯语(卡塔尔),'ar-QA'
- 阿拉伯语(沙特阿拉伯),'ar-SA'
- 丹麦语,‘da-DK’
- 挪威语,'nb-NO'
- 瑞典语,‘sv-SE’
- 芬兰语,‘fi-FI’
- 泰语,‘th-TH’
- 土耳其语,‘tr-TR’
请参阅分析视频和音频文件概念文章中的最新可用语言。
2021 年 2 月
标准编码器中的 HEVC 编码支持
标准编码器现在支持 8 位 HEVC (H.265) 编码。 可以通过动态打包器使用“hev1”格式传送和打包 HEVC 内容。
media-services-v3-dotnet GitHub 存储库中提供了有关使用 HEVC 实现 .NET 自定义编码的新示例。 除了自定义编码以外,现在还可以使用以下新的内置 HEVC 编码预设:
- H265ContentAwareEncoding
- H265AdaptiveStreaming
- H265SingleBitrate720P
- H265SingleBitrate1080p
- H265SingleBitrate4K
过去通过 v2 API 在高级编码器中使用 HEVC 的客户应该迁移,以便在标准编码器中使用新的 HEVC 编码支持。
Azure 媒体服务 v2 API 和 SDK 弃用公告
请在 2024 年 2 月 29 日之前将 Azure 媒体服务 REST API 和 SDK 更新到 v3
由于版本 3 的 Azure 媒体服务 REST API 和适用于 .NET 和 Java 的客户端 SDK 提供了比版本 2 更多的功能,因此我们正在停用版本 2 的 Azure 媒体服务 REST API 和适用于 .NET 和 Java 的客户端 SDK。
我们鼓励你尽快切换,以获得版本 3 的 Azure 媒体服务 REST API 和适用于 .NET 和 Java 的客户端 SDK 的更多优势。 版本 3 提供:
- 全天候实时事件支持
- ARM REST API、适用于 .NET core、Node.js、Python、Java、Go 和 Ruby 的客户端 SDK。
- 客户管理的密钥、受信任的存储集成和专用链接支持等等
作为对 v3 API 和 SDK 的更新的一部分,任何媒体服务帐户都不再需要媒体保留单位 (MRU),因为系统会根据负载自动扩展和缩减。 有关详细信息,请参阅 MRU 迁移指南。
所需的操作
若要最大程度地减少工作负载的中断,请参阅迁移指南,在 2024 年 2 月 29 日之前将代码从版本 2 API 和 SDK 转换为版本 3 API 和 SDK。 2024 年 2 月 29 日之后,Azure 媒体服务将不再接受版本 2 REST API、ARM 帐户管理 API 版本 2015-10-01 或版本 2 .NET 客户端 SDK 中的流量。 其中包括可以调用版本 2 API 的任何第三方开源客户端 SDK。
对 v2 API 功能的标准编码器支持
除新增了对 HEVC (H.265) 编码的支持以外,现在版本 2020-05-01 (或更高版本)的编码 API 中还提供了以下功能。
- 现在支持使用新的 JobInputClip 支持来拼结多个输入文件。
- 我们已提供一个适用于 .NET 的示例来演示如何将两个资产拼结到一起。
- 音频轨道选择可让客户选择并映射传入的音频轨道,并将其路由到输出以进行编码
- 有关 AudioTrackDescriptor 和轨道选择的详细信息,请参阅 REST API OpenAPI
- 选择轨道进行编码 – 可让客户从包含多比特率轨道的 ABR 源文件或实时存档中选择轨道。 此功能对于从实时事件存档文件生成 MP4 极其有用。
- 在 FaceDetector 中添加了编修(模糊处理)功能
为 API 2020-05-01 版本的 Azure 媒体服务 API 发布了新的客户端 SDK
适用于所有可用语言的新客户端 SDK 版本已随上述功能一起提供。 请使用包管理器在代码库中更新到最新的客户端 SDK。
在 2020-05-01 版本的 Azure 媒体服务 API 中提供了新的安全功能
客户管理的密钥:使用“2020-05-01”版 API 创建的帐户中存储的内容密钥和其他数据将通过帐户密钥进行加密。 客户可以提供一个密钥来加密帐户密钥。
受信任的存储 :可以使用与媒体服务帐户关联的托管标识将媒体服务配置为访问 Azure 存储。 使用托管标识访问存储帐户时,客户可以在不防碍媒体服务方案的情况下,针对存储帐户配置限制性更高的网络 ACL。
托管标识 :客户可为媒体服务帐户启用系统分配的托管标识,以提供对密钥保管库(适用于客户管理的密钥)和存储帐户(适用于受信任的存储)的访问。
使用同构 SDK for JavaScript 更新了 TypeScript Node.js 示例
已将 Node.js 示例更新为使用最新的同构 SDK。 这些示例现在会演示 TypeScript 的用法。 此外,添加了适用于 Node.js/TypeScript 的新实时传送流示例。
请参阅 media-services-v3-node-tutorials GitHub 存储库中的最新示例。
添加了新的实时待机模式以支持从暖状态更快启动
实时事件现在支持对“待机”采用成本更低的计费模式。 这样,客户便能够以更低的成本预分配实时事件,从而创建“热池”。 然后,客户可以使用待机实时事件转换到“正在运行”状态,而且转换速度比创建后从冷状态启动更快。 这可以大大缩短启动通道的时间,并可对以更低价的模式运行的计算机进行快速热池分配。 请参阅此处的最新定价详细信息。 有关待机状态和其他实时事件状态的详细信息,请参阅文章 - 实时事件状态和计费。
2020 年 10 月
基本音频分析
音频分析预设现在包含基本模式定价层。 新的基本音频分析器模式提供了一个低成本的选项,用于提取语音口述文本并设置输出隐藏式字幕和字幕的格式。 此模式执行语音转文本听录并生成 VTT 字幕文件。 此模式的输出包括一个见解 JSON 文件,该文件仅包含关键字、听录和计时信息。 此模式不包括自动语言检测和说话人分割聚类。 请参阅支持的语言的列表。
使用索引器 v1 和索引器 v2 的客户应迁移到“基本音频分析”预设。
有关基本音频分析器模式的详细信息,请参阅分析视频和音频文件。
直播活动
现在允许实时事件停止时对大多数属性进行更新。 此外,允许用户为实时事件的输入和预览 URL 指定静态主机名的前缀。 VanityUrl 现在称为 useStaticHostName
,以更好地反映属性的意向。
实时事件现在具有等待状态。 请参阅媒体服务中的实时事件和实时输出。
实时事件支持接收各种输入纵横比。 通过拉伸模式,客户可以指定输出的拉伸行为。
实时编码现在增加了在 0.5 到 20 秒之间输出固定关键帧间隔片段的功能。
帐户
警告
如果使用 2020-05-01 API 版本创建媒体服务帐户,它将不适用于 RESTv2
2020 年 8 月
动态加密
动态打包程序中现在提供了对旧版 PlayReady 受保护互操作文件格式 (PIFF 1.1) 加密的支持。 这为 Samsung 和 LG 的传统智能电视机提供了支持,这些支持实现了 Microsoft 发布的通用加密标准 (CENC) 的早期草稿。 PIFF 1.1 格式也是 Silverlight 客户端库以前支持的加密格式。 如今,这种加密格式的唯一用例场景是针对传统的智能电视市场,对于该市场,在某些仅支持使用 PIFF 1.1 加密的平滑流式处理的区域,仍然存在数量不少的智能电视。
若要使用新的 PIFF 1.1 加密支持,请将加密值更改为流式处理定位符的 URL 路径中的“piff”。 有关详细信息,请参阅内容保护概述。例如:https://amsv3account-cne21.streaming.media.chinacloudapi.cn/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(encryption=piff)
|
注意
PIFF 1.1 支持作为智能电视(Samsung、LG)的后向兼容解决方案提供,实现了通用加密的早期“Silverlight”版本。 应该仅在需要时使用 PIFF 格式:用于支持在 2009-2015 年间发布的、可支持 PIFF 1.1 版本的 PlayReady 加密的旧版 Samsung 或 LG 智能电视。
2020 年 7 月
高可用性
我们发布了一个高可用性的媒体服务和视频点播 (VOD) 概述和示例。
2020 年 6 月
IoT Edge 预览版上的实时视频分析
IoT Edge 上的实时视频分析预览版现已公开发行。
IoT Edge 上的实时视频分析是媒体服务系列的扩展。 通过它,你能够在自己的边缘设备上使用所选择的 AI 模型分析实时视频,并可以选择捕获和录制该视频。 现在,你可以在边缘构建具有实时视频分析的应用,而不必担心构建和操作实时视频管道的复杂性。
2020 年 1 月
媒体处理器中的改进
- 改进了对视频分析中隔行扫描源的支持 - 现在,在将此类内容发送到推理引擎之前,会对其正确取消隔行扫描。
- 使用“最佳”模式生成缩略图时,编码器现在会搜索超过 30 秒的时间,以选择不是单色的帧。
内容保护
9 月份在有限区域发布的“令牌重放防护”功能现在已在所有区域提供。 媒体服务客户现在可以对同一令牌用于请求密钥或许可证的次数设置限制。 有关详细信息,请参阅令牌重放防护。
新推荐的实时编码器合作伙伴
添加的支持针对用于 RTMP 实时流式处理的以下新推荐合作伙伴编码器:
- Cambria Live 4.3
- GoPro Hero7/8 和 Max 运动摄像头
- Restream.io
文件编码增强功能
- 现在可以使用新的内容感知编码预设。 它使用内容感知编码生成一组符合 GOP 标准的 MP4。 不管输入内容是什么,该服务都会对输入内容执行初始的轻型分析。 它使用这些结果来确定最佳层数,以及适当的比特率和分辨率设置,方便通过自适应流式处理进行传递。 此预设特别适用于低复杂性和中复杂性的视频,其中的输出文件比特率较低,但其质量仍会为观看者提供良好的体验。 输出将包含带有交错式视频和音频的 MP4 文件。 有关详细信息,请参阅开放式 API 规范。
- 改善了标准编码器中大小重设器的性能和多线程处理。 在特定条件下,客户应看到 5-40% 的 VOD 编码获得性能提升。 编码成多比特率的低复杂性内容会显示最高的性能提升。
- 现在,在使用基于时间的 GOP 设置时,标准编码会在 VOD 编码期间针对可变帧速率 (VFR) 内容维持常规 GOP 节奏。 这意味着,如果提交的混合帧速率内容存在差异(例如 15-30 fps),客户现在会看到常规的 GOP 距离,此类距离根据自适应比特率流式处理 MP4 文件的输出进行计算。 这会提高通过 HLS 或 DASH 进行交付时在跟踪之间无缝切换的功能。
- 改进了可变帧速率 (VFR) 源内容的 AV 同步
Azure 视频分析器媒体版、视频分析
- 使用 VideoAnalyzer 预设提取的关键帧现在采用视频的原始分辨率,而不是重设大小。 高分辨率关键帧提取可为你提供原始质量的图像,并允许你利用 Microsoft 计算机视觉和自定义视觉服务提供的基于图像的人工智能模型,从视频中获得更多见解。
2019 年 9 月
媒体服务 v3
直播活动的实时线性编码
媒体服务 v3 宣布推出实时事件的实时线性编码的全天候预览。
媒体服务 v2
弃用媒体处理器
我们宣布弃用 Azure Media Indexer 和 Azure Media Indexer 2 预览版 。 有关停用日期,请参阅旧组件文章。 Azure 视频分析器媒体版取代了这些旧版媒体处理器。
有关详细信息,请参阅从 Azure Media Indexer 和 Azure Media Indexer 2 迁移到 Azure 媒体服务视频索引器。
2019 年 8 月
媒体服务 v2
弃用媒体处理器
我们宣布弃用 Windows Azure 媒体编码器 (WAME) 和 Azure 媒体编码器 (AME) 媒体处理器,这两个处理器将停用。 有关停用日期,请参阅此旧组件文章。
有关详细信息,请参阅将 WAME 迁移到 Media Encoder Standard 和将 AME 迁移到 Media Encoder Standard。
2019 年 6 月
视频子剪辑
现在,在使用作业对视频进行编码时,可以对其进行剪裁或子剪辑。
此功能适用于使用 BuiltInStandardEncoderPreset 预设或 StandardEncoderPreset 预设生成的任何转换。
2019 年 5 月
针对媒体服务诊断日志和指标的 Azure Monitor 支持
现在可以使用 Azure Monitor 查看媒体服务发出的遥测数据。
- 使用 Azure Monitor 诊断日志来监视媒体服务密钥传送终结点发送的请求。
- 监视媒体服务流式处理终结点发出的指标。
有关详细信息,请参阅监视媒体服务。
动态打包中的多音频曲目支持
使用多种编解码器和语言流式处理具有多个音频轨道的资产时,动态打包现在支持 HLS 输出(版本 4 或更高版本)的多个音频轨道。
性能改进
添加了包括媒体服务性能改进的更新。
2019 年 4 月
新增预设
- FaceDetectorPreset 已添加到内置分析器预设中。
2019 年 3 月
动态打包现在支持 Dolby Atmos。 有关详细信息,请参阅动态打包支持的音频编解码器。
现在,可以指定资产或帐户筛选器的列表,这些筛选器将应用于流定位器。 有关详细信息,请参阅将筛选器与流定位器相关联。
2019 年 2 月
媒体服务 v3 目前在 Azure 国家云中受支持。 目前,并非所有功能在所有云中都可用。 有关详细信息,请参阅存在 Azure 媒体服务 v3 的云和区域。
Microsoft.Media.JobOutputProgress 事件已添加到媒体服务的 Azure 事件网格架构中。
2019 年 1 月
Media Encoder Standard 和 MPI 文件
使用 Media Encoder Standard 编码生成 MP4 文件时,新的 .mpi 文件会生成并添加到输出资产中。 此 MPI 文件旨在提高动态打包和流式处理方案的性能。
不应修改或删除该 MPI 文件,也不应在存在(或不存在)此类文件的情况下采用服务中的任何依赖项。
2018 年 12 月
V3 API 的正式版中的更新包括:
- PresentationTimeRange 属性不再是 AssetFilters 和 AccountFilters 所必需的。
- 已删除 Jobs 和 Transforms 的 $top 和 $skip 查询选项,并添加了 $orderby。 在添加新排序功能的过程中,我们发现之前意外地公开了 $top 和 $skip 选项,尽管它们并未实现。
- 重新启用了枚举可扩展性。 此功能在 SDK 的预览版中已启用,但在正式版中被意外禁用。
- 已重命名两个预定义的流式处理策略。 SecureStreaming 现在名为 MultiDrmCencStreaming。 SecureStreamingWithFairPlay 现在名为 Predefined_MultiDrmStreaming。
2018 年 11 月
CLI 2.0 模块现在可用于 Azure 媒体服务 v3 正式版 - v 2.0.50。
新命令
- az ams account
- az ams account-filter
- az ams asset
- az ams asset-filter
- az ams content-key-policy
- az ams job
- az ams live-event
- az ams live-output
- az ams streaming-endpoint
- az ams streaming-locator
- az ams account mru - 用于管理媒体预留单位。
新功能和重大更改
资产命令
- 添加了
--storage-account
和--container
参数。 - 在
az ams asset get-sas-url
命令中添加了到期时间默认值(现在时间 + 23 小时)和权限默认值(读取)。
作业命令
- 添加了
--correlation-data
和--label
参数 --output-asset-names
已重命名为--output-assets
。 现在,它接受 'assetName=label' 格式的资产列表(以空格分隔)。 没有标签的资产可以采用以下格式发送:'assetName='。
创建流式处理定位符命令
az ams streaming locator
基本命令已替换为az ams streaming-locator
。- 添加了
--streaming-locator-id
和--alternative-media-id support
参数。 - 更新了
--content-keys argument
参数。 --content-policy-name
已重命名为--content-key-policy-name
。
流式处理策略命令
az ams streaming policy
基本命令已替换为az ams streaming-policy
。- 在
az ams streaming-policy create
中添加了加密参数支持。
转换命令
--preset-names
参数已替换为--preset
。 现在只能一次设置 1 个输出/预设(若要添加更多,必须运行az ams transform output add
)。 此外,还可以通过将路径传递到自定义 JSON 来设置自定义 StandardEncoderPreset。- 可以通过传递要删除的输出索引来执行
az ams transform output remove
。 - 在
az ams transform create
和az ams transform output add
命令中添加了--relative-priority, --on-error, --audio-language and --insights-to-extract
参数。
October 2018 - GA
本部分介绍 Azure 媒体服务 (AMS) 的 10 月更新。
REST v3 GA 发布
REST v3 GA 发布包含更多用于实时、帐户/资产级别清单筛选器和 DRM 支持的 API。
Azure 资源管理
对 Azure 资源管理的支持实现了统一的管理和操作 API(现在所有功能已整合在一起)。
从此版本开始,可以使用资源管理器模板创建直播活动。
改善资产操作
引入了以下改进:
- 从 HTTP(s) URL 或 Azure Blob 存储 SAS URL 中引入。
- 为资产指定自己的容器名称。
- 使用 Azure Functions 创建自定义工作流支持更轻松的输出。
新转换对象
新转换对象简化编码模型。 通过新对象,可以轻松创建和共享编码资源管理器模板和预设。
Azure Active Directory 身份验证和 Azure RBAC
Azure AD 身份验证和 Azure 基于角色的访问控制 (Azure RBAC) 通过 Azure AD 中的角色或用户启用安全转换、实时事件、内容密钥策略或资产。
客户端 SDK
媒体服务 v3 支持的语言:NET Core、Java、Node.js、Ruby、TypeScript、Python、Go。
实时编码更新
引入了以下实时编码更新:
针对实时传送视频的新的低延迟模式(10 秒端到端)。
改进的 RTMP 支持(提高了稳定性并提供了更多的源编码器支持)。
RTMPS 安全引入。
创建直播活动时,现在会得到 4 个引入 URL。 这 4 个引入 URL 几乎是相同的,具有相同的流式处理令牌 (AppId),仅端口号部分不同。 其中两个 URL 是 RTMPS 的主要和备份 URL。
24 小时转码支持。
通过 SCTE35 改进了 RTMP 中的广告信号支持。
改进了事件网格支持
可以看到以下事件网格支持改进:
- 可通过逻辑应用和 Azure Functions 更轻松地开发 Azure 事件网格集成。
- 订阅事件的编码、直播频道等。
CMAF 支持
CMAF 和“cbcs”加密支持 Apple HLS (iOS 11+) 以及支持 CMAF 的 MPEG-DASH 播放器。
更改计划
Azure CLI 2.0
包含所有功能(包括 Live、内容密钥策略、帐户/资产筛选器、流式处理策略)的操作的 Azure CLI 2.0 模块即将推出。
已知问题
只有使用资产或 AccountFilter 预览版 API 的客户才会受到以下问题的影响。
如果你使用媒体服务 v3 CLI 或 API 在 9 月 28 日到 10 月 12 日之间创建了资产或帐户筛选器,因版本冲突,需要删除所有资产和 AccountFilter,并重新创建它们。
2018 年 5 月 - 预览版
.NET SDK
.NET SDK 中提供了以下功能:
- 流式处理定位符,用于发布内容并将其流式传输到最终用户设备
- 流式处理策略和内容密钥策略,用于在传送内容时配置密钥传递和内容保护 (DRM)。
- 直播活动和实时输出,用于配置实时传送视频流内容的引入和归档。
- 资产,用于在 Azure 存储中存储和发布媒体内容。
- 流式处理终结点,用于配置和缩放实时和点播媒体内容的动态打包、加密和流式处理。
已知问题
- 提交作业时,可以指定使用 HTTPS URL、SAS URL 或位于 Azure Blob 存储中的文件路径引入源视频。 媒体服务 v3 目前不支持基于 HTTPS URL 的块式传输编码。