我正在尝试使用上传视频API将上传到Azure Blob中的视频自动传递给Azure视频索引服务:https://api-portal.videoindexer.ai/docs/services/Operations/operations/Upload-Video/console
我的问题是,如果我将video_url参数作为blob url + SAS访问令牌传递,API将返回一个错误。
{ "ErrorType":"INVALID_INPUT","Message":"Url内容类型'application/xml‘不受支持。只支持音频和视频文件。您可以找到支持的}
但是,如果我上传相同的视频到一个托管服务,给我一个直接的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开发工具中的网络选项卡显示内容类型为视频/MP4
那么,我如何才能让blob URL工作呢?
谢谢
发布于 2019-08-30 07:30:15
我认为你在这里做的组合是不正确的。
https://{Azure_Blob_Video_URL}.mp4?{sas_token}合并之后,它返回404和XML,表示Blob未找到。
尝试编码blob,因为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}发布于 2022-02-23 16:02:45
对于仍然遇到此问题的任何人,我通过用%26替换sas令牌中的每个来解决这个问题。%26是URL转义令牌。对于其他转义令牌检查:
https://stackoverflow.com/questions/57721658
复制相似问题