我们目前正在使用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 1-4680-8 cd4-c6800d991fba。
如何通用到asset-a5536b5c-3024-4162-ad78-81f5448d3f68/Thumbnail000001.jpg的URL
哪个是缩略图文件?
我们希望将其存储在数据库中,以便以后使用。
发布于 2022-03-29 21:20:53
AMS中的每个资产都有一个容器名称属性。
您可以使用它找到存储资产内容的容器,包括MP4文件、清单、元数据和任何输出缩略图JPG或PNG或VTT文件。
要获得对此的访问,只需使用。在我们的示例repos中,我们有许多使用存储客户端SDK下载内容的示例。https://learn.microsoft.com/en-us/rest/api/media/assets/get#asset
有关使用Storage下载内容的各种示例,请查看Node/Typescript。https://github.com/Azure-Samples/media-services-v3-node-tutorials/tree/main/VideoEncoding/Encoding_Sprite_Thumbnail
如果您只需要为该文件获取一个URL,还可以使用GetContainerSAS方法在Asset上创建一个SAS,然后将您想要的文件的名称附加到该SAS并使用该URL直接下载它。https://learn.microsoft.com/en-us/rest/api/media/assets/list-container-sas只需注意,GetContainerSAS将向您提供容器的SAS。您仍然需要使用一些URL路径库将您的.jpg或.png图像的名称附加到该URL的末尾,但是保留带有令牌的查询字符串。
更新:我还创建了一个快速的类型记录/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
https://stackoverflow.com/questions/71665395
复制相似问题