Процесс загрузки видео и Amazon S3

Мой вопрос касается того, как я должен это делать. Мой сайт позволяет пользователям загружать видео (продолжительностью от 1 до 5 минут). В данный момент пользователь выбирает видеофайл, затем я начинаю загружать его в iframe. Затем пользователь заполняет некоторую информацию о видео. После заполнения формы я надеялся позволить пользователю делать что-то еще, пока я загружаю эту часть видеосервера.

Прямо сейчас эта система работает, но после того, как они заполнили форму и нажали «отправить», браузер начинает загрузку, и пользователь не может предпринять никаких действий, пока не завершит загрузку. Это мой первый веб-сайт, работающий с такими файлами, поэтому любые предложения очень приветствуются.


person user1151295    schedule 16.01.2012    source источник


Ответы (2)


Общеизвестно, что обработку видео в контексте веб-приложений сложно выполнить правильно (по крайней мере, не тратя много драгоценного времени, которое лучше всего использовать в другом месте). генерация эскизов, преобразование формата и т. д.

Поэтому я собираюсь буквально воспринять "любые предложения очень приветствуются" и настоятельно рекомендую ознакомиться с Transloadit. — их предложение включает в себя желаемую вами функциональность, а также многое другое (конечно, необязательно):

  • Flexible, fast and scalable file uploading and encoding with our API:
    • Encode video & audio into any format
    • Изменяйте размер, добавляйте водяные знаки и конвертируйте изображения
    • Хранить файлы в S3, Cloudfiles или SFTP
    • Поместите индикатор выполнения загрузки на свой сайт
    • Отдайте обработку файлов на аутсорсинг и сосредоточьтесь на своем приложении!

Существуют демонстрации для большинства функций (в которых показаны многие варианты использования обработки изображений/видео), например. показано, как сохранить исходно загруженные файлы в корзине S3 или как комбинируйте функции Кодируйте видео, извлекайте 8 эскизов и сохраняйте все в своей корзине S3< /а>.

Обязательно прочитайте Уведомления и URL-адрес перенаправления, в котором объясняются варианты использования случае, в частности, вы, вероятно, захотите использовать Уведомления, чтобы избежать блокировки пользователя:

Если вы используете плагин jQuery и установите для его параметра ожидания значение false, вам придется использовать уведомления, иначе нет возможности получить результаты файла из Transloadit.

Несмотря на то, что это коммерческое предложение, они действительно идеально подходят для использования и снимают большую часть нагрузки, связанной с обработкой видео в веб-приложениях; их предложение основано на Amazon Web Services (AWS), а цены очень разумны и доступны соответственно.

Удачи!

person Steffen Opel    schedule 26.01.2012

Загрузка сложна, потому что стандартный HttpRequest не может показать процент загрузки в большинстве браузеров без опроса на стороне сервера через ajax, и если это большой файл, пользователь может ждать целую вечность, даже не видя, была ли загрузка был успешным.

Есть несколько решений для этого. (1) многие люди используют для этого Flash-объекты, и есть много примеров:

http://www.plupload.com/example_queuewidget.php

http://blueimp.github.com/jQuery-File-Upload/

.. есть много, просто погуглите, пока не найдете тот, который вам нравится

(2) если вы не хотите использовать для этого небольшой swf, вам нужно опубликовать файл с помощью ajax и продолжать проверять сервер (с помощью ajax), чтобы ответить с текущим размером файла, что намного сложнее.

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

Ура А

person Alex    schedule 26.01.2012