Загрузить видео в Brightcove через HTML-форму с Coldfusion

Я хочу загрузить видео из HTML-формы непосредственно в Brightcove. Мы запускаем Coldfusion 9 на наших серверах.

Я могу найти инструкции по загрузке видео на мой локальный сервер следующим образом:

<cffile action="upload" nameconflict="makeunique" filefield="form.video_file" destination="#upload_path#" result="uploaded_file">

... и инструкции по загрузке видео с моего локального сервера в Brightcove следующим образом:

<cfhttp url="#variables.apiBaseUrl#" method="post"  timeout="#variables.timeout#" result="resultVar" multipart="true">
    <cfhttpparam type="formfield" name="json" VALUE = "#arguments.jsonArgs#">
    <cfhttpparam type="file" name="#getFileFromPath(arguments.filename)#" file="#arguments.filename#"/>
</cfhttp>

Но не из HTML-формы непосредственно в Brightcove.

Это возможно?

Спасибо! Ник

1 ответ

Решение

В примерах JavaScript Media API приведены примеры того, как загружать данные прямо из браузера в Brightcove.

Но, как отмечается в документации, то, что вы хотите выполнить, не рекомендуется по нескольким причинам:

  • Некоторые браузеры, такие как IE9, предложат вам загрузить ответ, а не показывать его в форме, потому что браузер не знает, что делать с типом mime.
  • Не рекомендуется размещать на форме токен API, как отмечено в исходном коде примеров.
  • Вызовы Media API на стороне клиента не рекомендуются в качестве решения для загрузки UGC из-за отсутствия безопасности.

Если вы обнаружите, что процесс загрузки на ваш сервер, а затем в Brightcove занимает слишком много времени, вы, вероятно, захотите построить систему очередей.

  1. Пользователь ожидает загрузки в браузере на ваш сервер.
  2. Ваш сервер временно хранит файл где-то и добавляет задачу в таблицу базы данных, в которой хранятся поставленные в очередь задачи.
  3. Пользователь видит, что видео находится в состоянии ожидания, пока оно в очереди.
  4. Запланированная задача периодически проверяет таблицу очередей и загружает задачи по одной за раз. Как только задача выполнена, она обновляет видео, чтобы быть "готовым".
  5. Пользователь видит, что видео готово.
Другие вопросы по тегам