Skip to content

Стриминг файлов из облачного хранилища

При организации сервиса Video on Demand (VoD) с заранее неизвестным объемом библиотеки файлов и неизвестным количеством зрителей мы рекомендуем использовать облачное хранилище, например, Amazon S3/AWS, OpenStack Swift, Ceph и т.п. Холодное хранение в облаке может быть дешевле равномерного дискового хранилища, кроме того облачное хранилище лучше масштабируется при росте сервиса.

С помощью Flussonic Media Server вы можете транслировать видеофайлы, которые находятся на облачных хранилищах или на HTTP серверах.

Настройка через UI

Для организации надежного вещания с облачного хранилища необходимо выполнить следующие шаги:

  1. Подготовьте инсталляцию Flussonic Media Server с локальным диском достаточного большого размера, чтобы туда мог поместиться кеш горячего контента. В качестве стартового размера можно взять, например, 256GB SSD.
  2. Соберите ключи доступа к хранилищу. Например, для Amazon S3 надо знать ACCESS_KEY и SECRET_KEY.
  3. Создайте 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.

    Настройка VOD из облака

  4. Настройте локальный файловый кеш для этой локации на вкладке Input.

    Note

    Использование кеша необходимо для того, чтобы сгладить поток запросов к сетевому хранилищу. Без кеша чтение каждого кадра будет порождать несколько сетевых запросов, с ним запросы будут агрегироваться.

    VOD cache

  5. Затем нажмите 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;
}

Связанные задачи