1

Я пишу одностраничное веб-приложение (angularJs) и серверный сервер (node.js). Связь между ними осуществляется через REST.Загрузка файла на основе браузера в AWS S3 и кодирование рабочего процесса сервера-клиента

В настоящее время им пытаются реализовать следующий сценарий:

  1. Загрузить большие файлы из браузера S3 общественное ведро.

  2. Скопируйте загруженный файл в частном ведром на S3

  3. перекодировать загруженный файл в формате HTML 5 совместимый формат (AWS Elastic Транскодер)

  4. магазин Meta-Object о файле в БД, чтобы получить доступ позже

Я ломаю себе голову, чтобы получить хорошо работающий дизайн связи/обработки данных между сервером и клиентом, но всегда застрял в следующих вопросах?

  • Хранить файл мета-объекта в конце или в начале процесса. Если это в начале, я должен хранить и обрабатывать некоторую информацию о состоянии?

  • Кому следует начинать копирование загруженных файлов в личное ведро. Сервер или клиент? Если это сервер, как клиент может получить информацию о задании?

  • Кто начинает процесс транскодирования? Если это сервер, как клиент может получить информацию о задании?

Как вы это сделаете?

ответ

1

есть довольно хороший учебник, который описывает случай использования вы планируете реализовать: http://www.bitcodin.com/blog/2015/02/create-mpeg-dash-hls-content-for-amazon-s3-and-cloudfront/

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

Я лично буду хранить информацию метаданных в начале процесса, так как это момент времени, когда вы генерируете «актив» в своей базе данных/CMS/и т. Д.

+0

Thx для вашего ответа Стефан. Я проверил учебник, который вы связали, и действительно это соответствует тому, что я планирую реализовать. Главное отличие состоит в том, что все эти шаги должны выполняться автоматически, в моей системе. Пользователь просто отбрасывает файл в браузер. Это тот момент, когда поток данных и сообщений между сервером и клиентом начинает меня не настолько очевидным. Как клиент узнает о перекодировке, завершился ли запуск этого процесса сервером? –

 Смежные вопросы

  • Нет связанных вопросов^_^