【问题标题】:Azure Media Services: Get the duration of a video that needs to be encodedAzure 媒体服务:获取需要编码的视频的时长
【发布时间】:2021-04-27 11:04:51
【问题描述】:

是否可以使用 Azure 媒体服务 .NET SDK创建编码作业之前获取视频的持续时间?如果持续时间超过阈值,我需要忽略编码请求。 Blob 是使用 SAS 令牌上传的,不幸的是令牌无法强制执行此限制,因此我必须在服务器端进行验证。

【问题讨论】:

    标签: .net azure encoding azure-blob-storage azure-media-services


    【解决方案1】:

    很遗憾,我们没有 API 来“探测”存储中或远程 URL 中的文件。 但是...也就是说,有一种方法可以做到这一点。我已经看到人们构建了一个 Azure 函数,它只托管 FFProbe 或 MediaInfo.exe 来快速完成这项工作。您甚至可以找到其中的样本。

    例如,这是我们使用 ffmpeg.exe 制作的,您可以修改它以使用 ffprobe.exe https://github.com/Azure-Samples/media-services-v3-dotnet-core-functions-integration/blob/master/Encoding/Encoding/VodFunctions/ffmpeg-encoding.cs

    【讨论】:

    • 此外,您还可以使用生成单个缩略图的媒体服务启动编码作业。结果将是缩略图本身(不是本练习的重点)和一个元数据 JSON,其中包含有关输入文件的信息,包括持续时间。请记住,这不是即时的。作业排队和运行需要一点时间。
    • 这也是真的!使用 FFMPEG 路径,我认为 FFProbe 可以从 URL 获取,因此您不必将资产复制到任何位置。它应该能够仅使用 SAS URL 探测远程 URL 路径
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    相关资源
    最近更新 更多