Skip to content

Audio server and player, for Node.js and JavaScript client

Notifications You must be signed in to change notification settings

SergioCrisostomo/node-audio-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node audio server


This project aims to create a server and client for serving audio between Node.js and browser.

API exposure

(more details soon)

  • createPlaylist - method to create playlists, ie generate audio files and a .json manifest file). The .json file serves the same purpose as a DASH .mpd file or a HLS .m3u8 file.
  • serveAudio - function to get audio chunks with a very basic cache layer
  • startServer - Not implemented yet. A node.js server implementation to serve audio.
  • player - Not implemented yet, work in progress. Client side player.

Where the project is at now:

Creating a prototype (PoC) player with some of the Roadmap functionality. WIP.

Roadmap:

  • generate playlists with different bitrates from WAV files
  • middleware to serve audio chunks
  • test consuming sequential chunks using MSE api
  • client side player with basic functionality (prototype)
    • load chunks on demand (no need to download all chunks if the player is paused)
    • show what parts are downloaded in the progress bar
    • enable seek
  • enable encryption in server-client audio data (clear key)
  • use different bitrates depending on network performance
  • audio play tracking and more DRM analytics
  • use flac and opus (currently only .mp4 container is implemented)
  • client side player
    • in React
    • in Vue.js
    • vanilla js

How to contribute:

  • feel free to reach out
  • install, check the tests or check the dev-server with npm run dev and open localhost:3000 in your favorite browser

Dependencies

At file conversion time (createPlaylist API)