Загрузка видео на инстансах Amazon?
У меня есть реальные проблемы, пытаясь обернуть мою голову вокруг моей проблемы. Я выбрал среднее и конечное решение моей проблемы, но не могу понять, с чего это началось.
Так что как часть проекта я создаю сайт в стиле Youtube. Мое решение проблемы загрузки видео до сих пор состоит из:
- Использование S3 для размещения 5 различных кодировок каждого видео
- Использование стандартного экземпляра EC2 с управляемой MongoDB системой очередей, определенной на свободном дисковом пространстве в этом экземпляре, по сравнению с размером файла следующего видео в очереди. Таким образом, в основном, если в экземпляре есть 5-кратное пространство видео, оно начнет кодировать это видео (может быть, 5 серверов с высокой загрузкой процессора выбирают из очереди, кодирующей по одному, легко масштабируемой). Я решил, что мне нужно это временное пространство, так как само кодирование не может быть выполнено на S3 (?), Поэтому я должен перенести видео из корзины S3 на сервер кодирования (экземпляр EC2), а затем запустить 4 параллельных кодирования друг с другом, а затем загрузите эти закодированные файлы в S3 и затем удалите временные закодированные файлы в экземпляре EC2.
Проблема, которую я получил, состоит в том, как обработать начальную загрузку на сервер. Итак, когда пользователь переходит на страницу загрузки, как изначально получить это видео:
- На S3, не теряя места на моем сервере приложений во время хранения информации об этом видео (даже возможно? Не думаю)
- Получить его в очередь
Теперь главная проблема - космос. Я пытаюсь понять, как загрузить файл, зная, что на начальном этапе будет достаточно места для его загрузки на S3 (здесь мы думаем о множестве загрузок в минуту). Меня беспокоит то, что я должен сначала загрузить либо на супер сервер хранения, такой как S3, но не CDN, либо я загружаю на сервер приложений и надеюсь на лучшее. Ни один из них не кажется действительно масштабируемым с точки зрения как расширения, так и денег, поэтому мне интересно, как лучше загрузить видео изначально?
Если я должен использовать свой сервер приложений, как лучше настроить его для этих загрузок? Должен ли я просто получить жесткий сервер приложений?
Если бы я сделал это другим способом за пределами сервера приложений, как бы я это сделал?
Извините, если мой вопрос кажется немного расплывчатым, это заставило меня задуматься.
Спасибо,
Эйдт: Я решил использовать zencoder с S3. Я думаю, что это действительно хорошая идея, я не буду пытаться создать эту часть сам, так как я не собираюсь должным образом размещать этот сайт, так что в итоге я буду платить много денег за то, что может быть лучше сделано третьим вечеринка.
Спасибо за помощь, ребята:D
1 ответ
Вы можете разрешить пользователям загружать данные прямо в корзину S3, например, см. Загрузка браузером в S3 с использованием HTML POST Forms.