首页 文章

将视频从azure blob上传到azure媒体服务

提问于
浏览
0

我的目标是允许用户上传未本地存储在磁盘上的视频 . 我见过的将视频上传到Azure媒体服务的所有示例都只显示正在上传的本地磁盘中的文件 . 所以我决定尝试之前在Stackoverflow上提到的方法,它首先将视频上传到Azure BLOB存储,然后从这里将视频上传到Azure媒体服务 . 到目前为止,我已成功将视频上传到Azure BLOB存储,但我不确定如何将此视频传输到Azure媒体服务 . 无论如何只是将存储的视频URI传递给Azure媒体服务?我已经看到了将整个存储容器复制到Azure Media服务的示例,但我想在逐个视频的基础上进行 . 有没有人知道任何解释这些步骤的体面教程?

3 回答

  • 0

    Asset实体包含数字文件(包括视频,音频,图像,缩略图集,文本轨道和隐藏式字幕文件)以及有关这些文件的元数据 . 将数字文件上载到资产后,可以将它们用于媒体服务编码和流式传输工作流程 .

    如果我理解正确,您的问题涉及如何在没有大多数教程使用的示例的情况下通过从磁盘读取文件来解决Azure媒体服务中的实体 . 据我所知,以下C#行将返回一个IAsset对象,该对象引用上传到Blob存储的blob .

    IAsset inputAsset = UploadFile(@"C:\VideoFiles\BigBuckBunny.mp4", AssetCreationOptions.None);`
    

    此操作的结果也可能来自用户上传,您可以在自己的Web应用程序中实现此操作 . 要稍后访问此视频,您应该存储此AssetId . 在您的情况下,您希望以与此类似的方式使用存储的资产ID:

    CloudMediaContext context = new CloudMediaContext("%accountName%","%accountKey%");
    string sourceAssetId = "%sourceAssetId%";
    IAsset sourceAsset = context.Assets.Where(a => a.Id == sourceAssetId).First();
    

    现在,您已通过Azure Media Services的AssetId检索了资产 . 您可以对其运行编码,或为其检索发布URL .

    资料来源:https://github.com/Azure/azure-sdk-for-media-services-extensions https://azure.microsoft.com/en-us/documentation/articles/media-services-dotnet-get-started/#encode-the-source-file-into-a-set-of-adaptive-bitrate-mp4-files

  • 0

    您要做的是创建一个Azure Media Streamer的新实例,当您这样做时,只需指向您当前的Blob存储帐户,并且 not have it create a new one.

    默认情况下,AMS会在您首次向其上传视频时创建新的blob存储帐户 .

    I have a tutorial series on Azure Media Services.

    我以与您相同的方式上传视频 - 首先上传到我的Blob存储帐户,以便我可以将它们放在指定的容器中 . 否则,当您只使用AMS时,它将为您创建一个包含随机字符的容器 .

    如果您需要任何进一步的细节,请告诉我 .

  • 0

    无论如何只是将存储的视频URI传递给Azure媒体服务?

    是 . 你有两个选择 . 你可以:

    我已经看到了将整个存储容器复制到Azure Media服务的示例,但我想逐个视频地执行此操作 .

    是的,您可以在容器中指定blob . 请参见"Create an Asset from a blob"部分https://github.com/Azure/azure-sdk-for-media-services-extensions

相关问题