FFmpeg powered audio player in node.js
Sange and Yasha, when attuned by the moonlight and used together, become a very powerful combination.
only compiles on Linux or WSL2+.
- node.js
- cmake
- c++ compiler
- ffmpeg
- libuv
- libopus
# dependencies
apt install cmake g++ gcc libuv1-dev libopus-dev
# ffmpeg (see below for issues)
apt install libavcodec-dev libavcodec58 libavformat-dev libavformat58 libavutil-dev libavutil56 libavfilter7 libavfilter-dev libswresample-dev libswresample3
# optional
apt install ninja-build
# install
npm i git://github.com/ilikdoge/sange.git
building ffmpeg from source may boost performance
known issue: the default TLS library (gnutls) that ships with ffmpeg causes an infinite loop. building with OpenSSL fixes that issue.
apt install pkg-config libssl-dev libmp3lame-dev libopus-dev libvorbis-dev nasm
git clone --depth 1 https://github.com/FFmpeg/FFmpeg
cd FFmpeg
./configure --arch=amd64 --disable-stripping --enable-openssl --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-shared --enable-nonfree
make -j $(nproc)
make install
ldconfig