Предоставить videoURL для видеоиндексатора с параметрами запроса в нем

#azure #video-indexer

#azure #видеоиндексатор

Вопрос:

Мы находимся в процессе внедрения видеоиндексатора. Для загрузки видео мы хотели бы использовать метод videoURL вместо загрузки видеофайла. Для этого мы используем URL-адреса видео в нашем хранилище больших двоичных объектов. Для этого требуется токен SAS, поэтому URL-адрес содержит параметры запроса. Однако я не могу предоставить videoURL с параметрами запроса для конечной точки на видеоиндексаторе.

Пример тестового запроса:

 https://api.videoindexer.ai/trial/Accounts/MY_ACCOUNT_ID/Videos?accessToken=MY_ACCESS_TOKENamp;name=interviewamp;description=interviewamp;privacy=privateamp;partition=some_partitionamp;indexingPreset=AudioOnlyamp;streamingPreset=NoStreamingamp;videoUrl=https://manualtovideos.blob.core.windows.net/asset-xxxxx/interview.mp4?sp=rlamp;st=2020-12-03T16:48:42Zamp;se=2020-12-04T16:48:42Zamp;sv=2019-12-12amp;sr=bamp;sig=l57dDjKYr...8%253D
 

Когда я сокращаю URL-адрес большого двоичного объекта с помощью службы сокращения URL-адресов, это работает.
В документах говорится, что мне нужно кодировать URL-адрес videoURL, поэтому я делаю это с помощью encodeURI javascript
Но это не сильно меняет URL-адрес, поскольку он игнорирует ? ‘s и amp; ‘s .

Нужно ли мне как-то кодировать URL-адрес по-другому? Или есть другой способ аутентификации, чтобы я мог использовать URL-адрес большого двоичного объекта без токена sas, поскольку он также находится в Azure?

Ответ №1:

Вам необходимо закодировать URL.

Вы можете увидеть, как он создается с помощью Azure Video Analyzer для портала разработчика мультимедиа в методе загрузки.

Комментарии:

1. Спасибо, но это то, что я делал, используя encodeURI. Обнаружил, что мне нужен encodeURIComponent

Ответ №2:

Так получилось, что мне нужно было использовать encodeURIComponent() для кодирования параметра videoURL вместо просто encodeURI() или escape()