对媒体服务进行故障排除

媒体服务徽标 v3


警告

Azure 媒体服务将于 2024 年 6 月 30 日停用。 有关详细信息,请参阅 AMS 停用指南

寻找媒体服务问题的原因和解决方案。

注意

许多问题可以通过迁移到媒体服务 v3 API 或查看实时传送视频流最佳做法指南来解决。

帐户问题

原因 解决方案
你可能正在尝试通过 v2 帐户或 v2 API 实现来使用 v3 API 的功能。 更新代码以使用 v3 API。 如需更详细的帮助,请参阅迁移指南

常见的视频播放问题

  • 视频需要很长时间才能开始播放。
  • 视频开始播放时模糊不清。
  • 视频质量较低。
  • 视频根本不播放或显示黑屏。
原因 解决方案
你可能正在尝试在不使用会导致延迟的 CDN 的情况下触及大量受众。 将 CDN 添加到流式处理定位符。 有关使用 CDN 的详细信息,请参阅通过 CDN 集成流式传输内容
你可能尚未实现动态打包。 有关实现动态打包的详细信息,请参阅媒体服务 v3 中的动态打包
你可能遇到了所谓的“嘈杂邻居”问题,这意味着你正在与其他客户共享计算资源。 为避免“嘈杂邻居”问题,请从标准流式处理终结点升级到具有专用流单元的高级流式处理终结点。
你可能正在使用旧版浏览器来观看视频。 升级浏览器。
你可能正在使用第三方播放器和筛选器。 audio-only=false 添加到流式处理 URL,例如 https://streamingtest.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/sample.ism/manifest(format-m3u8-aapl,audio-only=false)

你无法播放资产中的 MP4 文件

原因 解决方案
Azure 媒体服务旨在使用清单文件,而不是直接播放全尺寸的 MP4 流。 清单文件告知播放器要播放哪些已编码的媒体片段以及播放顺序。 使用提供的媒体编码器之一创建媒体片段和清单文件。 有关编码的详细信息,请参阅内容感知编码使用自动生成的比特率阶梯进行编码编码。
文件名包含保留字符。 从文件名中删除保留字符。

保留字符

  • 媒体服务在为流式处理内容生成 URL 时使用资产文件名的值。 出于这个原因,不允许使用百分号编码。 name 属性的值不能包含以下任何百分比编码保留字符:!*' () ;:@&=+$,/?%#[]”。 此外,文件扩展名中只能含有一个“.”。
  • 名称长度不应超过 260 个字符。

加密内容不会在脱机模式下播放。

原因 解决方案
用于在 iOS 设备上以脱机模式播放下载的 AES 加密视频的播放器会处理这些视频的播放方式。 原因不在于媒体服务。 查看所选脱机视频播放器的文档。

音频不同步。

原因 解决方案
视频数据包延迟交付。 可能的解决方案:

1. 你可能实现了自动开启的存储版本控制策略,这会导致缓冲和断开连接。 删除策略并关闭自动存储版本控制。
2. 启用 CDN。
3. 使用具有足够预留单位的高级流式处理终结点。

VTT 文件的播放器请求导致了 CORS 错误。

原因 解决方案
CORS 规则设置 为存储帐户或 CDN 设置 CORS 规则

你还可以从资产中获取 VTT 文件的下载 URL。

流式处理终结点不启动。

原因 解决方案
你可能创建了仅启用 HTTPS 的自定义策略。 媒体服务目前不支持此服务。 可能的解决方法:
1. 在 Azure 门户中,禁用你的自定义策略。
2. 创建启用 CDN 的流式处理终结点,并禁用 CDN 终结点的 HTTP。
Or
1. 请勿使用门户或 API 为流式处理终结点启用 CDN。
2. 转到 Azure 门户中的 Azure CDN 页面或使用 Azure CDN API 创建指向媒体服务终结点的终结点,并将 CDN 终结点的原点设置为流式处理终结点的主机名。
你可能停止了具有 CDN 的流式处理终结点。 请参阅流式处理终结点不停止

具有 CDN 的流式处理终结点不停止。

原因 解决方案
为任何流式处理终结点启用 CDN 时,直到启动流式处理终结点才创建 CDN 终结点。 原因是启动过程中,平台会创建 CDN 终结点并链接到流式处理终结点(包括配置自定义主机名)。

在流式处理终结点的停止过程中,平台应删除 CDN 终结点。 因此,如果流式处理终结点处于停止状态,则 CDN 终结点将不存在,也不会指向流式处理终结点。

但在某些场景下,AMS 调用 CDN 以删除 CDN 终结点时会因 CDN 上的缓存而无法删除终结点。 如果 CDN 终结点仍然存在并触发停止流式处理终结点问题,这将导致主机名冲突问题。
手动删除 CDN 配置文件,然后删除流式处理终结点并设置新的流式处理终结点。

将帐户移动到其他订阅后,不会显示流式处理终结点。

原因 解决方案
将流式处理终结点移动到新订阅需要一些时间。 等待 2 小时并检查流式处理终结点是否在新订阅中显示。

本地编码器不向直播活动发送数据。

原因 解决方案
你可能正在使用未经媒体服务测试的编码器。 请参阅经过验证的本地实时传送视频流编码器
本地编码器可能未正确配置。 确认已正确配置本地编码器

编码似乎需要很长时间。

大多数编码持续时间问题都可以通过配置编码器设置以取得速度和质量之间的平衡来解决。 若要更快地编码,请将其设置为“速度”模式。

原因 解决方案
夹层文件可能非常大。 文件大小等于比特率乘以持续时间。
有大量的输出层。 减少输出层数量。
输出层具有高分辨率。 将输出层的分辨率降低到拟用于流式传输媒体的比特率。
夹层文件可能很复杂,尤其是在对 4k 分辨率文件进行编码时。

转换失败

原因 解决方案
你可能已经超出了每个帐户 100 的转换配额。 删除未使用的转换。

无法上传媒体

你无法将媒体上传到存储帐户。

原因 解决方案
你正在尝试使用 HTTP。 “使用 HTTPS”。 上传内容不再支持 HTTP 协议。
等待时间不足,存储帐户未部署完毕。 如果你以编程方式创建了存储帐户,请添加代码以测试存储帐户是否部署,然后再尝试上传媒体。

CORS 问题

原因 解决方案
如果你尝试使用包含 traceparent 标头的预检请求,你将收到 CORS 错误。 目前,媒体服务不支持预检请求。 我们知道,预检请求对客户很有价值。 在该功能可用之前,请勿使用预检请求。

存储帐户连接问题

断开连接状态

如果某个媒体服务帐户处于“已断开连接”状态,则表明该帐户不再能够访问一个或多个附加的存储帐户,因为存储访问密钥已更改。 媒体服务需要最新的存储访问密钥才能执行帐户中的许多任务。

下面这些主要场景会导致媒体服务帐户无法访问附加的存储帐户。

原因 解决方案
媒体服务帐户或附加的存储帐户已迁移到单独的订阅。 迁移存储帐户或媒体服务帐户,使它们全都位于同一个订阅中,或者,如果你的存储帐户在同一个租户中,请使用托管标识进行存储帐户身份验证。
媒体服务帐户在使用另一订阅中的附加存储帐户,因为它是支持此功能的早期媒体服务帐户。 所有早期的媒体服务帐户都已转换成新式的基于 Azure 资源管理器的帐户,其状态将为“已断开连接”。 迁移存储帐户或媒体服务帐户,使它们全都位于同一个订阅中,或者,如果你的存储帐户在同一个租户中,请使用托管标识进行存储帐户身份验证。

媒体服务帐户无法访问存储帐户

原因 解决方案
媒体服务托管标识尚未获得“存储 Blob 数据参与者”角色。 若要在 Azure 门户中核实这一点,请首先从媒体服务帐户的菜单中选择“存储帐户”,找到为存储帐户设置的标识,该标识应为“系统分配”或用户分配的托管标识的名称。 接下来,转到门户中的存储帐户,从菜单中选择“访问控制(IAM)”,从工具栏中选择“角色分配”,然后添加角色分配。 添加角色分配时,角色应设置为“存储 Blob 数据参与者”,成员应设置为媒体服务帐户用于访问存储帐户的托管标识。 添加角色分配后,更改可能需要几分钟才能生效。

媒体处理器列表中未返回 Azure Media Indexer 2。

原因 解决方案
Azure Media Indexer 2 已于 2020 年 1 月 1 日弃用。 迁移到媒体服务 v3 API

网络错误导致视频下载中途失败。

原因 解决方案
此错误通常源于客户端网络连接问题,而不是媒体服务。 请联系网络管理员或使用 Fiddler 或 F12 浏览器调试来查看基础错误。

下载问题

你可能收到了以下错误:

“尝试下载输入文件时,无法访问这些文件,请检查源的可用性”

原因 解决方案
如果正在使用 SAS 令牌访问该文件,则该文件可能已过期。 调整代码以在使用令牌进行身份验证之前检查令牌是否过期。

大量的间歇性 5xx 错误

原因 解决方案
本地编码可能未正确实现。 检查编码器是否正确配置
你可能正在使用未经测试的本地编码器 使用经过测试的本地编码器并检查是否正确配置
流式处理终结点和 CDN 之间的缓存速率可能不足。 1. 调整缓存速率,以便 CDN 处理更多流量。
2. 调整 CDN 的流式传输优化规则。
筛选器配置可能不正确。 检查筛选器配置是否正确

请参阅实时传送视频流最佳做法指南

常规代码错误

你可能会遇到流式处理终结点错误代码直播活动错误代码作业错误代码引用未涵盖的代码错误。

原因 解决方案
你可能正在尝试使用旧版 API 中未包含的对象、属性或方法。 在开发环境中升级 API 库。

如果未找到问题的解决方案,请联系媒体服务支持人员

获得帮助和支持

如果有任何疑问,可以联系媒体服务,或者使用以下方法之一关注我们的更新: