Стриминг файлов из облачного хранилища¶
При организации сервиса Video on Demand (VoD) с заранее неизвестным объемом библиотеки файлов и неизвестным количеством зрителей мы рекомендуем использовать облачное хранилище, например, Amazon S3/AWS, OpenStack Swift, Ceph и т.п. Холодное хранение в облаке может быть дешевле равномерного дискового хранилища, кроме того облачное хранилище лучше масштабируется при росте сервиса.
С помощью Flussonic Media Server вы можете транслировать видеофайлы, которые находятся на облачных хранилищах или на HTTP серверах.
Настройка через UI¶
Для организации надежного вещания с облачного хранилища необходимо выполнить следующие шаги:
- Подготовьте инсталляцию Flussonic Media Server с локальным диском достаточного большого размера, чтобы туда мог поместиться кеш горячего контента. В качестве стартового размера можно взять, например, 256GB SSD.
- Соберите ключи доступа к хранилищу. Например, для Amazon S3 надо знать
ACCESS_KEY
иSECRET_KEY
. -
Создайте VOD-локацию в Flussonic Media Server на странице Media -> VODs, указав адрес хранилища, например:
- Для публичного хранилища Amazon S3:
http://s3.amazonaws.com/publicbucket
- Для приватного хранилища Amazon S3:
http://ACCESS_KEY:SECRET_KEY@s3.amazonaws.com/privatebucket
. - Для хранилища Swift:
swift://user=USER&password=PASSWORD@swift-proxy/bucket
- Для HTTP-сервера:
http://example.com/prefix?key=12345
.
Можно передать любые параметры в query string. При обращению к файлу
http://FLUSSONIC-IP/vod/bunny.mp4
, запрос к хранилищу превратится вhttp://storage/prefix/bunny.mp4?key=12345
. - Для публичного хранилища Amazon S3:
-
Настройте локальный файловый кеш для этой локации на вкладке Input.
Note
Использование кеша необходимо для того, чтобы сгладить поток запросов к сетевому хранилищу. Без кеша чтение каждого кадра будет порождать несколько сетевых запросов, с ним запросы будут агрегироваться.
-
Затем нажмите Browse рядом с адресом хранилища на вкладке Overview и проверьте, что файлы проигрываются.
Настройка VOD через конфигурационный файл¶
Те же самые настройки можно сделать и через конфигурационный файл /etc/flussonic/flussonic.conf
или в редакторе Config editor в UI. Ниже приведен пример конфигурации VOD.
Обратите внимание на использование кэша, чтобы не было частых запросов к облаку.
vod public {
storage http://s3.amazonaws.com/publicbucket;
cache /cache 100G;
}
vod private {
storage s3://ACCESS_KEY:SECRET_KEY@s3.amazonaws.com/privatebucket;
cache /cache 100G;
}
Связанные задачи¶
- Как посмотреть файл: о стриминге из дискового хранилища.