{"_id":"@eliyya/sange","name":"@eliyya/sange","dist-tags":{"latest":"1.2.0"},"versions":{"1.2.0":{"name":"@eliyya/sange","version":"1.2.0","description":"A Node.js addon built with CMake and node-addon-api","main":"index.js","author":{"name":"David Zeng","url":"https://github.com/davidzeng0"},"contributors":[{"name":"Eli Maciel","url":"https://github.com/eliyya"},{"name":"Ruben Ortiz","url":"https://github.com/rubenOrtz"},{"name":"David Zeng","url":"https://github.com/davidzeng0"}],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Node-Estudios/sange.git"},"homepage":"https://github.com/Node-Estudios/sange#readme","bugs":{"url":"https://github.com/Node-Estudios/sange/issues"},"keywords":["node-addon","cmake","native","addon","player","audio","ffmpeg"],"dependencies":{"bindings":"1.5.0","node-addon-api":"8.5.0"},"scripts":{"install":"npm run build","build":"cmake-js --CDNODE_ADDON_INC $(node -p \"require('node-addon-api').include_dir\")","debug":"cmake-js -D --CDNODE_ADDON_INC $(node -p \"require('node-addon-api').include_dir\")","clean":"rm -r build","prepublishOnly":"npm run build"},"devDependencies":{"cmake-js":"7.3.1"},"engines":{"node":">=22.0.0"},"_id":"@eliyya/sange@1.2.0","gitHead":"4e192cb9bf748c0f2297b70ec8d692b0182cde4b","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-p8ETu35XGvY27bTqR+0yCqLlElf5O0eIeXkQi9I8sOnnnh9cAb92BjIbqR+qh2nwFq1yjWwk1G2YUdSwuFct3Q==","shasum":"2dcd748dd7c2a55bb1e8c95f8eefea5f3a8dcb8d","tarball":"https://registry.npmjs.org/@eliyya/sange/-/sange-1.2.0.tgz","fileCount":16,"unpackedSize":67062,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICrNs+fqIB1gBZWz6z1H6SZmCmEyYKUoXDrni8CRrA6nAiAQUmIBcpv9qq6IumH/k7H42zzEIOWbZaeom5moybvIhA=="}]},"_npmUser":{"name":"eliyya","email":"elimacmun@gmail.com"},"directories":{},"maintainers":[{"name":"eliyya","email":"elimacmun@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sange_1.2.0_1754615689762_0.871885425347978"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-08T01:14:49.696Z","1.2.0":"2025-08-08T01:14:49.990Z","modified":"2025-08-08T01:14:50.220Z"},"maintainers":[{"name":"eliyya","email":"elimacmun@gmail.com"}],"description":"A Node.js addon built with CMake and node-addon-api","homepage":"https://github.com/Node-Estudios/sange#readme","keywords":["node-addon","cmake","native","addon","player","audio","ffmpeg"],"repository":{"type":"git","url":"git+https://github.com/Node-Estudios/sange.git"},"contributors":[{"name":"Eli Maciel","url":"https://github.com/eliyya"},{"name":"Ruben Ortiz","url":"https://github.com/rubenOrtz"},{"name":"David Zeng","url":"https://github.com/davidzeng0"}],"author":{"name":"David Zeng","url":"https://github.com/davidzeng0"},"bugs":{"url":"https://github.com/Node-Estudios/sange/issues"},"license":"MIT","readme":"# sange\r\nFFmpeg powered audio player in node.js\r\n\r\n*Sange and Yasha, when attuned by the moonlight and used together, become a very powerful combination.*\r\n\r\n### prerequisites\r\nonly compiles on Linux or WSL2+.\r\n\r\n1. node.js\r\n2. cmake\r\n3. c++ compiler\r\n4. ffmpeg\r\n5. libuv\r\n6. libopus\r\n\r\n### install\r\n```bash\r\n# dependencies\r\napt install cmake g++ gcc libuv1-dev libopus-dev\r\n# ffmpeg quick install (see below for issues and fixed installation)\r\napt install libavcodec-dev libavcodec58 libavformat-dev libavformat58 libavutil-dev libavutil56 libavfilter7 libavfilter-dev libswresample-dev libswresample3\r\n\r\n# optional\r\napt install ninja-build\r\n\r\n# install\r\nnpm i git://github.com/davidzeng0/sange.git\r\n```\r\n\r\n### ffmpeg\r\n\r\nbuilding ffmpeg from source may boost performance<br>\r\n**known issue: the default TLS library (gnutls) that ships with ffmpeg causes an infinite loop. building with OpenSSL fixes that issue.**\r\n**running with jemalloc helps with memory leaks**\r\n\r\nbefore installing, make sure ffmpeg and its libraries are not already on the machine<br>\r\nby uninstalling all libav*-dev and libav* packages and deleting any manual installations\r\nof ffmpeg and its libraries to avoid issues\r\n```bash\r\napt install pkg-config libssl-dev libmp3lame-dev libopus-dev libvorbis-dev nasm\r\n\r\ngit clone --depth 1 https://github.com/FFmpeg/FFmpeg\r\ncd FFmpeg\r\n./configure --arch=amd64 --disable-stripping --enable-openssl --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-shared --enable-nonfree\r\nmake -j $(nproc)\r\nmake install\r\nldconfig\r\n```\r\n\r\n### run with jemalloc\r\n```bash\r\napt install libjemalloc-dev\r\n\r\nLD_PRELOAD=/path/to/your/libjemalloc.so node entry.js\r\n```\r\n","readmeFilename":"README.md","_rev":"1-da08f28242cc1cdf94237ac8601276b2"}