Skip to content

Latest commit

 

History

History
27 lines (22 loc) · 1.01 KB

README.md

File metadata and controls

27 lines (22 loc) · 1.01 KB

Musicify Person Project

Purpose

This project aims for simulate some feature of streaming in Spotify app: stream music with http byte-range request.

How it works

The project uses Svelte for the frontend and Golang for backend:

  1. Transcode audio using Ffmpeg command, use library libfdk_aac for higher quality encoder.
  2. Use Mp4dash to fragment the file into byte-range within the mp4 container.
  3. Then in the frontend, fetch chunks of audio data in byte-range specified at the request headers.

Inspiration

Credit inspiration to this github repo.

Demo

Clone this project

cd backend
go run cmd/api/main.go

cd frontend
npm install
npm run dev

The demo looks like this image Notes TODO: seeking audio feature can becomes buggy and might not work properly.