Azure 媒体服务获取缩略图文件 URL

Azure media service get the thumbnail file URL

我们目前正在使用 Azure 媒体服务上传视频。当作业在媒体服务中运行时,它会创建一个缩略图。我可以从 Azure 门户导航到它。

作业完成后,我们使用事件网格并拥有处理事件的代码。我们收到一个具有以下形式的 JSONObject

outputs {[
  {
    "@odata.type": "#Microsoft.Media.JobOutputAsset",
    "assetName": "output-06982218-ecb1-4680-8cd4-c6800d991fba",
    "error": null,
    "label": "BuiltInStandardEncoderPreset_0",
    "progress": 100,
    "state": "Finished"
  }
]}

如果我在 Azure 门户中导航到该输出资产,它会显示

存储空间container:asset-a5536b5c-3024-4162-ad78-81f5448d3f68

里面是缩略图文件

我的问题给出了输出-06982218-ecb1-4680-8cd4-c6800d991fba

我怎样才能将 URL 概括为 asset-a5536b5c-3024-4162-ad78-81f5448d3f68/Thumbnail000001.jpg
哪个是缩略图文件?

我们想将其存储在数据库中以备后用。

AMS 中的每个资产都有一个容器名称属性。

您可以使用它来查找存储资产内容的容器,包括 MP4 文件、清单、元数据以及任何输出缩略图 JPG、PNG 或 VTT 文件。
要访问它,只需使用存储客户端 SDK。我们的示例存储库中有许多使用存储客户端 SDK 下载内容的示例。 https://docs.microsoft.com/en-us/rest/api/media/assets/get#asset

查看 Node/Typescript 中使用存储客户端 SDKS 下载内容的各种示例。 https://github.com/Azure-Samples/media-services-v3-node-tutorials/tree/main/VideoEncoding/Encoding_Sprite_Thumbnail

如果您只需要为该文件获取一个 URL,您还可以使用 GetContainerSAS 方法在资产上创建一个 SAS URL,然后附加您想要的文件的名称SAS URL 并使用 URL 直接下载它。 https://docs.microsoft.com/en-us/rest/api/media/assets/list-container-sas 请注意,GetContainerSAS 将为您提供容器的 SAS URL。您仍然必须使用一些 URL 路径库将您的 .jpg 或 .png 图像的名称附加到那个 URL 的末尾,但保留带有标记的查询字符串。

更新:我还创建了一个快速 Typescript/Node.js 示例来展示如何使用您自己的容器名称创建资产,以及如何取回它。 https://github.com/Azure-Samples/media-services-v3-node-tutorials/blob/main/Assets/get-container-from-asset.ts

更新 2:在此处添加了另一个 .NET 示例 - https://github.com/Azure-Samples/media-services-v3-dotnet/blob/main/Assets/Program.cs