Пайплайн транскодирования аудио
Серверный пайплайн: загрузка FLAC/MP3/OGG, транскодирование в нужные форматы, стриминг через S3. Lossless воспроизведение в браузере с любого устройства.

Задача
Мелотека - облачный музыкальный сервис, загружаешь свою коллекцию и слушаешь откуда угодно. Люди приносят файлы в разных форматах - от FLAC по 40-60 МБ до MP3 и OGG. Надо было и оригиналы сохранить, и сделать версии для стриминга в браузере, и чтобы трек начинал играть сразу. Бюджет стартапа на ранней стадии.
Решение
Я сделал асинхронный пайплайн на Node.js. Файл при загрузке сразу летит в S3 на Yandex Cloud - оригинал не трогаем. Параллельно создается задача в очереди, воркер берет файл и прогоняет через ffmpeg: AAC для браузерного стриминга (128/256/320 kbps по тарифу), метаданные, waveform-превью. Стриминг через presigned URLs - клиент получает прямую ссылку на S3, CDN кеширует популярное. Lossless отдается через отдельный эндпоинт с Range-запросами.
Результат
Трек обрабатывается в среднем за 15 секунд (FLAC 40 МБ). Воспроизведение стартует мгновенно благодаря CDN. Хранение - ~0.5 руб/ГБ в месяц. Пайплайн тянет до 100 треков параллельно.
Похожие кейсы
Нужно решить похожую задачу?