如何将元数据添加到 Azure 媒体服务中的资产?
How to Add Metadata to assets in Azure Media Services?
我正在使用 Azure 媒体服务上传、编码和流式传输视频。 问题是,有没有办法在 Azure 媒体服务中的某处附加视频标题、描述和标签API?
其他详细信息:
当我处理资产时,会在 Azure Blob 存储中创建一个新容器,当我单击 blob 本身时,它有 "User Defined Fields" - 也就是元数据,我可以使用它们,但我不确定它们是否公开到 Azure Media API 以及如何访问它们。
我搜索了所有 MS 文档,但一无所获:/
目前 Azure 媒体服务 API 公开有关编码媒体资产的有限元数据集。您可以查看 https://github.com/Azure/azure-sdk-for-media-services-extensions 获取元数据的示例及其实现方式:
// The asset encoded with the Windows Media Services Encoder. Get a reference to it from the context.
IAsset asset = null;
// Get an enumerator with the metadata for all the asset files.
IEnumerable<AssetFileMetadata> manifestAssetFile = asset.GetMetadata();
如果您需要将自定义元数据与媒体资产相关联并能够进行搜索,则必须将其存储在外部服务中,例如 Azure 文档数据库或 Azure 搜索。 Azure 媒体服务公开了 属性 IAsset.AlternateId,您可以在其中存储来自外部存储的 id/key 元数据以用于链接目的。
谢谢你@George 的回答,我花了一个星期的时间尝试和搜索并尝试了你的建议,但最后,我得出的结论是 Azure Media API 不是存储,索引器或任何媒体处理服务,应该这样使用。 [呃...]
所以我所做的是将 SQL 数据库引入我的抽象层,它为我的资产、索引等保存我的所有数据。这也帮助我加快了我的系统,因为我不再制作调用 AMS 列出我的资产 - 我在我的数据库中跟踪它们的标题、描述、标签、child-parent 层次结构等
对于它的价值,我最终重新附加到 Azure 媒体服务存储到的存储 Blob,并且对于每个特定的 .mp4 资产(我只有 1 个渐进式流 URI),我最终将我的元数据保存到Storage Blob,非常适合我的应用程序。
所以我不仅要为 uploading/encoding 使用 Azure 媒体服务 API,还要为基于文件的元数据操作使用存储 API。
我正在使用 Azure 媒体服务上传、编码和流式传输视频。 问题是,有没有办法在 Azure 媒体服务中的某处附加视频标题、描述和标签API?
其他详细信息: 当我处理资产时,会在 Azure Blob 存储中创建一个新容器,当我单击 blob 本身时,它有 "User Defined Fields" - 也就是元数据,我可以使用它们,但我不确定它们是否公开到 Azure Media API 以及如何访问它们。
我搜索了所有 MS 文档,但一无所获:/
目前 Azure 媒体服务 API 公开有关编码媒体资产的有限元数据集。您可以查看 https://github.com/Azure/azure-sdk-for-media-services-extensions 获取元数据的示例及其实现方式:
// The asset encoded with the Windows Media Services Encoder. Get a reference to it from the context.
IAsset asset = null;
// Get an enumerator with the metadata for all the asset files.
IEnumerable<AssetFileMetadata> manifestAssetFile = asset.GetMetadata();
如果您需要将自定义元数据与媒体资产相关联并能够进行搜索,则必须将其存储在外部服务中,例如 Azure 文档数据库或 Azure 搜索。 Azure 媒体服务公开了 属性 IAsset.AlternateId,您可以在其中存储来自外部存储的 id/key 元数据以用于链接目的。
谢谢你@George 的回答,我花了一个星期的时间尝试和搜索并尝试了你的建议,但最后,我得出的结论是 Azure Media API 不是存储,索引器或任何媒体处理服务,应该这样使用。 [呃...]
所以我所做的是将 SQL 数据库引入我的抽象层,它为我的资产、索引等保存我的所有数据。这也帮助我加快了我的系统,因为我不再制作调用 AMS 列出我的资产 - 我在我的数据库中跟踪它们的标题、描述、标签、child-parent 层次结构等
对于它的价值,我最终重新附加到 Azure 媒体服务存储到的存储 Blob,并且对于每个特定的 .mp4 资产(我只有 1 个渐进式流 URI),我最终将我的元数据保存到Storage Blob,非常适合我的应用程序。
所以我不仅要为 uploading/encoding 使用 Azure 媒体服务 API,还要为基于文件的元数据操作使用存储 API。