0

我们正在实施视频索引器。要上传视频,我们想使用 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 时,它可以工作。文档说我需要对 videoUrl 进行 url 编码,所以我正在使用 javascript 的 encodeURI 进行此操作,但这并不会改变 url,因为它忽略了?'s 和&'s。

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

4

2 回答 2

3

您需要对 URL 进行编码。

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

于 2020-12-07T19:03:45.377 回答
0

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

于 2020-12-09T08:10:07.873 回答