Как правильно загружать видеофайлы в службы мультимедиа Azure из angularjs

Для моего сценария наше текущее приложение начинается с html5 и angularjs, взаимодействующих с веб-API. У меня есть сценарий рабочего процесса, для которого мне кажется, что я не могу найти пример из конца в конец. Я хочу разрешить пользователям моего веб-сайта загружать видео и изображения в службы мультимедиа Azure. Я нашел несколько примеров, которые, кажется, перемещают данные с веб-страницы в хранилище BLOB-объектов, а затем копируют в службы Azure Media.

  1. Есть ли способ загрузить файл непосредственно в службы мультимедиа вместо использования временного и постоянного контейнера больших двоичных объектов (один из которых связан с AMS), поскольку этот подход вынуждает меня иметь дополнительный контейнер для хранения или существует способ перемещения файл в хранилище больших двоичных объектов с последующим связыванием файла большого двоичного объекта с AMS через IAssetFile?
  2. Может ли кто-нибудь предоставить конечный пример, демонстрирующий поток от загрузки веб-интерфейса до файла, заканчивающегося в AMS?
  3. Оказавшись там, есть ли способ убедиться, что пользователи могут просматривать, но не скачивать видео?

2 ответа

Решение

1. Есть ли способ загрузить файл напрямую в медиа сервисы:

  • Пакет Media Services SDK требует, чтобы вы сначала создали объект Asset в нашей системе. Этот объект актива поддерживается контейнером в хранилище. Вы можете создать пустой объект Asset и запросить SAS URL только для записи (в нашем API мы называем их "локаторами"), чтобы загрузить свой контент непосредственно в. Вы можете проверить этот модуль AngularJS и посмотреть, работает ли он. http://ngmodules.org/modules/angular-azure-blob-upload

2. Может ли кто-нибудь предоставить конечный пример, демонстрирующий поток от загрузки веб-интерфейса до файла, заканчивающегося в AMS?

  • Ваш веб-API/ интерфейс должен использовать Media Services SDK, чтобы сначала создать пустой актив. После создания вручную создайте URL-адрес только для записи SAS и передайте его своему клиенту Angular. Затем клиент Angular может использовать клиентскую библиотеку javascript для загрузки непосредственно в BLOB-объект / контейнер с помощью URL-адреса SAS и модуля для загрузки Azure-BLOB-объектов, например, здесь: http://ngmodules.org/modules/angular-azure-blob-upload

3.После того, есть ли способ убедиться, что пользователи могут просматривать, но не загружать видео?

  • Как только видео загружено, вы должны удалить "Локатор" SAS "Только запись" из коллекции локаторов вашего актива. Таким образом, никто не может использовать это, чтобы написать снова.
  • На данный момент вы можете создать потоковый локатор. Пользователи смогут только передавать файл через наши потоковые сервисы. Ваш файл должен быть закодирован в формате, для которого мы можем поддерживать потоковую передачу, поэтому вам, возможно, придется сначала запустить задание кодирования, чтобы привести его в правильный формат и настройки кодирования (файлы MP4 с H264 и аудио AAC). Если вы хотите осуществлять потоковую передачу из служб мультимедиа, необходимо убедиться, что в вашей учетной записи включено по крайней мере 1 потоковое зарезервированное устройство. Кроме того, если вы хотите защитить свои файлы, вы можете ознакомиться с нашими услугами по защите контента, которые обеспечат оперативное шифрование AES 128 или PlayReady DRM для ваших активов. Вы можете интегрировать это с токенами JWT и Active Directory для аутентификации / аутентификации ваших пользователей, прежде чем они смогут расшифровать видео на стороне клиента.

Я не слишком знаком со службами мультимедиа Azure, но после просмотра этого руководства http://azure.microsoft.com/en-us/documentation/articles/media-services-rest-get-started/ мне кажется, что вы можете создать ресурс в службах мультимедиа Azure и связать его с большим двоичным объектом. Это означает, что у вас будет только один контейнер BLOB-объектов.

AMS предоставляет Rest API для всех возможностей обработки мультимедиа, включая загрузку, кодирование и публикацию. В GitHub есть образец проекта (коллекция почтальонов), с которым можно поиграть. Этот образец проекта также сопровождается хорошо написанной статьей. Пожалуйста, найдите ссылки ниже.

https://github.com/Azure-Samples/media-services-v3-rest-postman

https://docs.microsoft.com/en-us/azure/media-services/latest/stream-files-tutorial-with-rest

Надеюсь, это поможет

Другие вопросы по тегам