Azure视频索引器-使用SAS令牌从Blob URL上传视频时出现问题

时间:2019-08-30 06:36:33

标签: azure video blob

我正在尝试使用 Upload Video API(此处为https://api-portal.videoindexer.ai/docs/services/Operations/operations/Upload-Video/console

)将上传到Azure Blob中的视频自动传递给Azure Video Indexer Services。

我的问题是,如果我将video_url参数作为blob url + SAS访问令牌传递,则API返回错误

{
  "ErrorType": "INVALID_INPUT",
  "Message": "Url content type 'application/xml' is not supported. Only audio and video files are supported. You can find the supported
}

但是,如果我将同一视频上传到托管服务,该服务会为我提供直接指向视频文件的URL,然后使用该URL,则它可以正常工作。

API调用如下:

POST https://api.videoindexer.ai/trial/Accounts/{Account_ID}/Videos?name={Video_Name}&privacy=Private&videoUrl=https://{Azure_Blob_Video_URL}.mp4?{sas_token}&indexingPreset=Default&streamingPreset=Default&sendSuccessEmail=False&accessToken={access_token} HTTP/1.1
Host: api.videoindexer.ai
x-ms-client-request-id: 1012ac93-bbbb-cccc-aaaa-edf520fa7e8c
Ocp-Apim-Subscription-Key: {api_key}

请注意,如果我将blob url + SAS令牌粘贴到浏览器中,则视频可以正常播放,并且Chrome开发工具中的网络标签显示内容类型为video / mp4

那么如何使Blob URL起作用?

谢谢

1 个答案:

答案 0 :(得分:1)

我认为您在此处进行的组合不正确。

https://{Azure_Blob_Video_URL}.mp4?{sas_token}

可能的是,将其合并后,它返回404和XML,表示未找到Blob。

请尝试对Blob URL进行编码,因为SAS字符串中的特殊符号可能是问题所在。

或将其设为URL中的最后一个变量。

POST https://api.videoindexer.ai/trial/Accounts/{Account_ID}/Videos?name={Video_Name}&privacy=Private&indexingPreset=Default&streamingPreset=Default&sendSuccessEmail=False&accessToken={access_token}&videoUrl=https://{Azure_Blob_Video_URL}.mp4?{sas_token}