Потоковые mp3-файлы из хранилища Firebase - PullRequest
0 голосов
/ 30 октября 2018

Выпуск

Я создаю бэкэнд-сервис, который создает mp3 для клиента Android для потоковой передачи через ExoPlayer .

Глядя на Стоимость хранилища Firebase в долгосрочной перспективе, если будет храниться 10 ГБ * и 10 000 пользователей будет 100 000 ГБ перевод очень дорогой ( $ 11 600 ).

Какое будет лучшее решение для потоковой передачи mp3 в облаке, чтобы избежать платы за передачу данных?

Возможные решения

  1. Используйте ExoPlayer для потоковой передачи mp3 прямо из облака без загрузки.
  2. Используйте отдельный API для загрузки 10 ГБ из облачного хранилища один раз и потоковой передачи mp3-файлов на мобильный клиент из отдельного API.

1 Ответ

0 голосов
/ 01 ноября 2018

Возможное решение # 1 является лучшим решением: Используйте ExoPlayer для потоковой передачи mp3-файлов прямо из облака без загрузки.

Спасибо Оливеру Вудману из команды ExoPlayer за решение этого вопроса на Github !

Если mp3-файл сохранен в облаке, например: Firebase Storage / Google Cloud Storage, может ли файл передаваться из Exoplayer без необходимости загружать полный размер файла?

Да. Это именно то, что происходит по умолчанию, когда вы используете ExoPlayer для воспроизведения потока.

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

Вы можете настроить это, создав свой собственный DefaultLoadControl, который вы можете передать в ExoPlayerFactory.newSimpleInstance при сборке проигрывателя. Вы также можете реализовать свой собственный LoadControl с нуля, если вам нужно больше контроля.

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

...