Есть хранилище в selectel'e. Там хранятся все аудиозаписи.
Фронт написан на vue, сервер на пхп.
На данный момент все просто:
при загрузки аудиофайла на сервер в БД сохраняется путь до файла
затем сервер просто отправляет на фронт название и путь до файла на фронт
Так вот, мне кажется это слишком простым :)
Как работают более-менее большие проекты в этом плане?
Нужно ли мне обрабатывать как то аудиофайлы при загрузке на сервер?
-//- и на выдаче?
Почитайте про blob. Нужен дополнительный медиасервер(движок), который кусками отдает аудиозапись с определенной частотой. Предполагаю, что такие движки побитно режут файл, потом через цикл с периодичностью отправляют данные клиенту, где они воспроизводятся, или в лучшем случае склеиваются программным путем, таким образом не давай пути на этот файл. Так работают большие broadcast-овые сервисы, такие как Youtube, vimeo. На вк раньше использовался flash для таких целей, он где то на фоне работал себе и не мешал. Использовал при этом localConnection)) Были времена)) Но все же можно написать алгоритм который имитирует просмотр или прослушивание данных файлов, таким образом сам склеивает все кусочки в один файл и конвертирует в удобный нам формат)) Советую посмотреть в сторону red5. Никогда не пользовался, пока)) Удачи! Если будут успехи отпишитесь пожалуйста, я тоже заинтересован) Только не забудьте!))
Yeldos Adetbekov: А преимущество только в том, что не отдается полный путь к файлу? Просто как по мне только в этом плюс, а минус в виде дополнительной нагрузки на сервер. Мне почему то кажется, что тот же ютуб преследует какую то цель в виде разбивки, но не неотдача полного пути к файлу)
Artem0071: Напротив, Youtube заинтересован в сохранности данных на сервисе. Ну и с другой стороны вы правы. Скорее всего при изменении качества видео не нужно грузить уже просмотренные минуты, а лишь подгрузить непросмотренные.