向 videoindexer 提供一个 videoUrl,其中包含查询参数

Provide a videoUrl to the videoindexer with query parameters in it

我们正在实施视频索引器。 要上传视频,我们想使用 videoUrl 方法而不是上传视频文件。为此,我们在 blob 存储中使用 url 的视频。这些需要提供 SAS 令牌,因此 url 包含查询参数。 但是,我无法向 videoindexer 上的端点提供带有查询参数的 videoUrl。

测试请求示例:

https://api.videoindexer.ai/trial/Accounts/MY_ACCOUNT_ID/Videos?accessToken=MY_ACCESS_TOKEN&name=interview&description=interview&privacy=private&partition=some_partition&indexingPreset=AudioOnly&streamingPreset=NoStreaming&videoUrl=https://manualtovideos.blob.core.windows.net/asset-xxxxx/interview.mp4?sp=rl&st=2020-12-03T16:48:42Z&se=2020-12-04T16:48:42Z&sv=2019-12-12&sr=b&sig=l57dDjKYr...8%25253D

当我使用 url 缩短服务缩短 blob url 时,它起作用了。 文档说我需要 url 对 videoUrl 进行编码,所以我正在使用 javascript 的 encodeURI 进行编码 但这并没有改变 url 太多,因为它忽略了 ?&

我是否需要以某种不同的方式对 url 进行编码? 还是有另一种身份验证方法,这样我就可以在没有 sas 令牌的情况下使用 blob url,因为它也在 Azure 上?

您需要对URL进行编码。

您可以在上传方法中使用 Azure Video Analyzer for Media Developer Portal 查看它是如何创建的。

所以我需要使用 encodeURIComponent() 来编码 videoUrl 参数,而不仅仅是 encodeURI()escape()