Потоковые mp3-файлы из хранилища Firebase

1

вопрос

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

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

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

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

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

1 ответ

1
Лучший ответ

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

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

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

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

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню