c# - 将现有 blob 使用到媒体服务 Assets (API v3)

标签 c# azure azure-media-services

我在 Azure 存储 block blob 上有大型媒体文件,我想使用 Azure 媒体服务 API V3 对它们进行编码。

我在 API v2 中找到了等效项:Copying existing blobs into a Media Services Asset但 v2 已经过时,很快就会退役。

在哪里可以找到从现有 blob 创建 Assets 的示例?我能找到的所有示例(包括 offical SDK v3 tutorials )始终使用直接上传的本地小视频。 另外,尚不清楚在 V3 中我是否仍然需要像 V2 中那样将 Blob 复制到 Assets ,或者只要媒体服务使用相同的存储帐户就可以将 Blob 与 Assets 一起使用(因为如v2 到 v3 migration guideAssetFiles 在 v3 中不再存在。

最佳答案

我有一个相当广泛的示例,从存储帐户复制内容,使用 AMS 对其进行编码,并将其传送回此 Node.js/Typescript 示例中的同一位置: https://github.com/Azure-Samples/media-services-v3-node-tutorials/tree/main/VideoEncoding/Encoding_Bulk_Remote_Storage_Account_SAS

先看看那里,然后告诉我这是否是您所需要的。我在此处的公共(public)文件夹中使用了许多与存储 blob SDK 一起使用的辅助函数。 https://github.com/Azure-Samples/media-services-v3-node-tutorials/tree/main/Common

请记住,在 v3 中可以通过多种方式实现远程 Assets 的工作流程。

  1. V3 作业支持 JobInputHTTP 对象,该对象可以指向您从远程存储 Blob 传入的只读 SAS URL(如果存储帐户未附加到 AMS 帐户)。
  2. 您可以创建一个空 Assets ,然后从远程存储帐户将 blob 复制到其中,然后照常将作业作为 JobInputAsset 提交
  3. 您可以创建 Assets 并传入容器名称 - 如果这是附加的存储帐户,则您可以将现有存储帐户容器包装为 Assets ,然后使用该 Assets 容器中的指定文件作为作业提交输入源。这就是您在上面最后一句中所说的...但您可能不清楚是否可以在 JobInputAssets 中执行此操作 - 查看 JobInputAsset 上的 Files 属性,以将特定的文件列表传递给编码器(如果是单个或多个文件)进行叠加)。

“输入”:{ "@odata.type": "#Microsoft.Media.JobInputAsset", "file":[], “输入定义”:[], "assetName": "job1-InputAsset" },

关于c# - 将现有 blob 使用到媒体服务 Assets (API v3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72996085/

相关文章:

c# - VS2012 添加服务引用不更新配置文件

c# - 将 guest 用户添加到 Azure AD 组失败且权限设置正确

c# - Razor 中 ViewModel 的模型名称

c# - Microsoft.Azure.WebJobs.IAsyncCollector<T> 线程安全吗?

.net - 是否可以对 Azure DevOps (VSTS) 部署配置进行版本控制?

azure - 组织由 Azure 媒体服务创建的 Assets

wpf - Azure 媒体服务和通过 WPF 应用程序播放视频

.net - 删除 Assets 和转换作业(Azure 媒体服务 v3)

C# 从 ServerCertificateValidationCallback 获取 SMTP 服务器的 SSL 证书到期日期作为返回值

C# 线程 - 父访问问题