【问题标题】:Azure Media Service, VideoJS, Need to hide Azure endpoint url in srcAzure 媒体服务,VideoJS,需要在 src 中隐藏 Azure 端点 url
【发布时间】:2021-07-19 09:15:05
【问题描述】:

在带有 VideoJS 的 Azure 媒体服务中,我们正在创建 Mainfest 文件并在 UI 中显示该视频,

我想隐藏 Azure URL 或使用其他方式显示视频,而不在前端显示 Azure 云,

以下 URL 来自 Spring Boot 后端,

需要对客户端隐藏 Azure 端口或以任何其他方式将视频从 springboot ressonce 显示到 Video.js,

代码:

const videoJsOptions = {
  techOrder: ['html', 'youtube', 'flash', 'other supported tech'],
  autoplay: true,
  controls: true,
  usingNativeControls: true,
  sources: [
    {
      src:
'https://**my-video.streaming.media.azure.net**/tes-122/manifest',
      type: 'application/vnd.ms-sstr+xml'
    }
  ]
};

【问题讨论】:

  • 快速提示:考虑同时添加 javascript 标签

标签: spring-boot vue.js video.js azure-media-services


【解决方案1】:

不确定我是否理解这个问题。是否要对客户端隐藏视频流 URL“https://my-video.streaming.media.azure.net/tes-122/manifest”?
即使您将其隐藏在 JavaScript 中,客户端也可以执行 F12 并获取正确的 URL?除非您想实现一个代理,其中来自客户端的所有请求都通过代理,然后代理连接到实际的 Azure 资源。 虽然一个简单的代理服务器就足够了,但现在所有视频数据都必须通过代理进行路由,因此需要根据您拥有的视频数量以及在任何给定时间观看它的客户数量而具有相当大的可扩展性。

【讨论】:

  • 是的,没错。您能否与我分享在 TypeScript 或 VueJs 中配置代理连接的任何链接文档?
  • 这种情况下的代理是一个单独的服务器,它将充当客户端(所有客户端)和媒体服务流端点之间的中继。您可以做的另一件事是根据docs.microsoft.com/en-us/azure/media-services/latest/… 为流式传输端点使用自定义主机名。请注意,这不会隐藏端点名称,只是将其更改为您想要的名称。
  • 使用代理对客户端是透明的。因此客户端不需要特殊代码(TypeScript/JavaScript)。相反,所有媒体请求都发送到一个特殊的代理服务器,并且该服务器在内部调用 Azure 媒体服务。类似docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy
  • 但是要清楚你到底想保护什么?是否担心人们下载内容或与不应该看到的人分享?然后,您可以使用 AES 加密或 DRM 等经过身份验证的密钥请求 docs.microsoft.com/en-us/azure/media-services/previous/…。这样,即使 Azure 媒体服务视频 URL 泄露,它也无法播放,因为内容已加密。只有有效的客户端才能对用户进行身份验证,然后请求密钥。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多