{"_id":"@dank074/medooze-media-server","_rev":"5-b47934438bcecc08b5d37c6fe39cdb49","name":"@dank074/medooze-media-server","dist-tags":{"latest":"1.156.4"},"versions":{"1.156.2":{"name":"@dank074/medooze-media-server","version":"1.156.2","keywords":["webrtc","media","server","sfu"],"author":{"name":"Sergio Garcia Murillo"},"license":"MIT","_id":"@dank074/medooze-media-server@1.156.2","maintainers":[{"name":"dank074","email":"torresefrain10@gmail.com"}],"homepage":"https://github.com/dank074/medooze-media-server#readme","bugs":{"url":"https://github.com/dank074/medooze-media-server/issues"},"dist":{"shasum":"b9f9693e59bfb8bf7fda49988fb212750d6b7e28","tarball":"https://registry.npmjs.org/@dank074/medooze-media-server/-/medooze-media-server-1.156.2.tgz","fileCount":2856,"integrity":"sha512-QTXs6LXTE5rygNkMOuLgZ9XpmJz5jSobJ/IAaKvBnSkxrvwPF9v1OJgWZck96cfh8EkaB1M0AyMaeW5M8fGdeQ==","signatures":[{"sig":"MEUCIDhhugg+da/kmXpLRXTTA76E7WbfjLvZO84xu/duoD85AiEA8rd4rJ9A9PGnS+ezNigC4EnU6EUt7jXj8TARq6z15Lw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19513355},"main":"index.js","types":"index.d.ts","gitHead":"fabf4fd31166e06b9ae37f69108fad44cd30c709","gypfile":true,"scripts":{"dist":"npm run configure && npm run build && npm run prepare && mkdir -p dist && tar cvzf dist/medooze-media-server-`node -e 'console.log(require(\"./package.json\").version)'`.tgz `([ \"$(uname)\" = 'Darwin' ] && echo \"-s |^|medooze-media-server/|\") || echo \" --transform=flags=r;s|^|medooze-media-server/|\"` package.json index.js index.d.ts build/types README.md lib/* build/Release/medooze-media-server.node","docs":"documentation build lib/MediaServer.js lib/*.js --shallow -o docs -f html && documentation build lib/MediaServer.js lib/*.js --shallow -o api.md -f md --markdown-toc false","swig":"swig -javascript -node -c++ -I`node -e \"require('medooze-media-server-src')\"`/include src/media-server.i","test":"tap tests/*.js  --show-full-coverage --allow-incomplete-coverage --jobs=1 --reporter tap","build":"node-gyp build --jobs=max","check":"tsc --noEmit --emitDeclarationOnly false","junit":"tap tests/*.js --show-full-coverage --allow-incomplete-coverage --jobs=1 --reporter junit --reporter-file test_results.xml","install":"test -f build/Release/medooze-media-server.node || (node-gyp configure && node-gyp rebuild --jobs=max)","prepare":"tsc --checkJs false && mkdir -p build/src && cp src/*.d.ts build/src","configure":"node-gyp configure"},"_npmUser":{"name":"dank074","email":"torresefrain10@gmail.com"},"repository":{"url":"git+https://github.com/dank074/medooze-media-server.git","type":"git"},"_npmVersion":"9.6.7","description":"WebRTC Media Server by Medooze","directories":{},"_nodeVersion":"18.17.0","dependencies":{"nan":"^2.18.0","lfsr":"0.0.3","uuid":"^3.3.2","netlink":"^0","semantic-sdp":"^3.31.1","medooze-event-emitter":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^21.0.1","typescript":"^5.2.2","@types/lfsr":"^0.0.0","@types/node":"^20.8.6","@types/uuid":"^9.0.5","documentation":"13.2.5"},"peerDependencies":{"medooze-media-server-src":"^3.1.1"},"optionalDependencies":{"netlink":"^0"},"_npmOperationalInternal":{"tmp":"tmp/medooze-media-server_1.156.2_1742798921463_0.7275402818878678","host":"s3://npm-registry-packages-npm-production"}},"1.156.21":{"name":"@dank074/medooze-media-server","version":"1.156.21","keywords":["webrtc","media","server","sfu"],"author":{"name":"Sergio Garcia Murillo"},"license":"MIT","_id":"@dank074/medooze-media-server@1.156.21","maintainers":[{"name":"dank074","email":"torresefrain10@gmail.com"}],"homepage":"https://github.com/dank074/medooze-media-server#readme","bugs":{"url":"https://github.com/dank074/medooze-media-server/issues"},"dist":{"shasum":"c1bf0547a8a194a3d3d47e1c1767ed7e88817825","tarball":"https://registry.npmjs.org/@dank074/medooze-media-server/-/medooze-media-server-1.156.21.tgz","fileCount":2857,"integrity":"sha512-wV6ytN002g/SAZQpbc+n55BX9NVm9w8c2xsxrXhVfKkrA0CFOvyPcYaJacZ83TCCC9PWBtjpG11XTjnRkyKv0Q==","signatures":[{"sig":"MEQCIAIoNtVoH88UV24tQNVbZP6hVXVfrof1AOO4yKxdqJbqAiAEta2J8C4rQpwrKAdrFoSeLerGrZU/DWzIVIaYsakfLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19514063},"main":"index.js","types":"index.d.ts","gitHead":"fabf4fd31166e06b9ae37f69108fad44cd30c709","gypfile":true,"scripts":{"dist":"npm run configure && npm run build && npm run prepare && mkdir -p dist && tar cvzf dist/medooze-media-server-`node -e 'console.log(require(\"./package.json\").version)'`.tgz `([ \"$(uname)\" = 'Darwin' ] && echo \"-s |^|medooze-media-server/|\") || echo \" --transform=flags=r;s|^|medooze-media-server/|\"` package.json index.js index.d.ts build/types README.md lib/* build/Release/medooze-media-server.node","docs":"documentation build lib/MediaServer.js lib/*.js --shallow -o docs -f html && documentation build lib/MediaServer.js lib/*.js --shallow -o api.md -f md --markdown-toc false","swig":"swig -javascript -node -c++ -I`node -e \"require('medooze-media-server-src')\"`/include src/media-server.i","test":"tap tests/*.js  --show-full-coverage --allow-incomplete-coverage --jobs=1 --reporter tap","build":"node-gyp build --jobs=max","check":"tsc --noEmit --emitDeclarationOnly false","junit":"tap tests/*.js --show-full-coverage --allow-incomplete-coverage --jobs=1 --reporter junit --reporter-file test_results.xml","install":"test -f build/Release/medooze-media-server.node || (node-gyp configure && node-gyp rebuild --jobs=max)","prepare":"tsc --checkJs false && mkdir -p build/src && cp src/*.d.ts build/src","configure":"node-gyp configure"},"_npmUser":{"name":"dank074","email":"torresefrain10@gmail.com"},"repository":{"url":"git+https://github.com/dank074/medooze-media-server.git","type":"git"},"_npmVersion":"9.6.7","description":"WebRTC Media Server by Medooze","directories":{},"_nodeVersion":"18.17.0","dependencies":{"nan":"^2.18.0","lfsr":"0.0.3","uuid":"^3.3.2","netlink":"^0","semantic-sdp":"^3.31.1","medooze-event-emitter":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^21.0.1","typescript":"^5.2.2","@types/lfsr":"^0.0.0","@types/node":"^20.8.6","@types/uuid":"^9.0.5","documentation":"13.2.5"},"peerDependencies":{"medooze-media-server-src":"^3.1.1"},"optionalDependencies":{"netlink":"^0"},"_npmOperationalInternal":{"tmp":"tmp/medooze-media-server_1.156.21_1742799630915_0.7212893711678621","host":"s3://npm-registry-packages-npm-production"}},"1.156.22":{"name":"@dank074/medooze-media-server","version":"1.156.22","keywords":["webrtc","media","server","sfu"],"author":{"name":"Sergio Garcia Murillo"},"license":"MIT","_id":"@dank074/medooze-media-server@1.156.22","maintainers":[{"name":"dank074","email":"torresefrain10@gmail.com"}],"homepage":"https://github.com/dank074/medooze-media-server#readme","bugs":{"url":"https://github.com/dank074/medooze-media-server/issues"},"dist":{"shasum":"c90c63e5d281ae31bbb8ea4c9280c34ac96a799e","tarball":"https://registry.npmjs.org/@dank074/medooze-media-server/-/medooze-media-server-1.156.22.tgz","fileCount":2857,"integrity":"sha512-8PKltESXDthv7DQn8oyb3yFMkHzSScrcOc/HOj+u779Sq0+pTnuGjXGaLfxOIvra+Kin5BWKtzzMIv8qEQ0Isw==","signatures":[{"sig":"MEYCIQCU5cR8hoDUqrVaHollttmIhYNMVFvbNO8I0mke1JC1dwIhALvPfHxJ7vRtnfRcxXAgghQs/9I3ffiz8dmL2ryX1b7E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19514082},"main":"index.js","types":"index.d.ts","gitHead":"fabf4fd31166e06b9ae37f69108fad44cd30c709","gypfile":true,"scripts":{"dist":"npm run configure && npm run build && npm run prepare && mkdir -p dist && tar cvzf dist/medooze-media-server-`node -e 'console.log(require(\"./package.json\").version)'`.tgz `([ \"$(uname)\" = 'Darwin' ] && echo \"-s |^|medooze-media-server/|\") || echo \" --transform=flags=r;s|^|medooze-media-server/|\"` package.json index.js index.d.ts build/types README.md lib/* build/Release/medooze-media-server.node","docs":"documentation build lib/MediaServer.js lib/*.js --shallow -o docs -f html && documentation build lib/MediaServer.js lib/*.js --shallow -o api.md -f md --markdown-toc false","swig":"swig -javascript -node -c++ -I`node -e \"require('medooze-media-server-src')\"`/include src/media-server.i","test":"tap tests/*.js  --show-full-coverage --allow-incomplete-coverage --jobs=1 --reporter tap","build":"node-gyp build --jobs=max","check":"tsc --noEmit --emitDeclarationOnly false","junit":"tap tests/*.js --show-full-coverage --allow-incomplete-coverage --jobs=1 --reporter junit --reporter-file test_results.xml","install":"test -f build/Release/medooze-media-server.node || (node-gyp configure && node-gyp rebuild --jobs=max && npm run prepare)","prepare":"tsc --checkJs false && mkdir -p build/src && cp src/*.d.ts build/src","configure":"node-gyp configure"},"_npmUser":{"name":"dank074","email":"torresefrain10@gmail.com"},"repository":{"url":"git+https://github.com/dank074/medooze-media-server.git","type":"git"},"_npmVersion":"9.6.7","description":"WebRTC Media Server by Medooze","directories":{},"_nodeVersion":"18.17.0","dependencies":{"nan":"^2.18.0","lfsr":"0.0.3","uuid":"^3.3.2","netlink":"^0","semantic-sdp":"^3.31.1","medooze-event-emitter":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^21.0.1","typescript":"^5.2.2","@types/lfsr":"^0.0.0","@types/node":"^20.8.6","@types/uuid":"^9.0.5","documentation":"13.2.5"},"peerDependencies":{"medooze-media-server-src":"^3.1.1"},"optionalDependencies":{"netlink":"^0"},"_npmOperationalInternal":{"tmp":"tmp/medooze-media-server_1.156.22_1742800471355_0.058760329352975926","host":"s3://npm-registry-packages-npm-production"}},"1.156.3":{"name":"@dank074/medooze-media-server","version":"1.156.3","keywords":["webrtc","media","server","sfu"],"author":{"name":"Sergio Garcia Murillo"},"license":"MIT","_id":"@dank074/medooze-media-server@1.156.3","maintainers":[{"name":"dank074","email":"torresefrain10@gmail.com"}],"homepage":"https://github.com/dank074/medooze-media-server#readme","bugs":{"url":"https://github.com/dank074/medooze-media-server/issues"},"dist":{"shasum":"89a44cadd195be15f4c9de86e21db3a34d82fee8","tarball":"https://registry.npmjs.org/@dank074/medooze-media-server/-/medooze-media-server-1.156.3.tgz","fileCount":2916,"integrity":"sha512-d95Cv/AZEdqxQg+SlYDn1SEiJeQv7/mobPE8F66CyFxhD1pF7YOyCowqreKnoErkR60sNO9XcZR2MEhgXYvgDg==","signatures":[{"sig":"MEYCIQCH7WN7uVfiiIFJXaqMBm0PIbG7WZSaK5CFqCvu/sdY4QIhAMUsvJX6UDPqPF6cYZFIqytyCa/Vd6Qdo1DDsOVZCCES","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19839426},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"fd4428c108b06d6543d8210bab6963e6e260a678","gypfile":true,"scripts":{"dist":"npm run configure && npm run build && npm run prepare && mkdir -p dist && tar cvzf dist/medooze-media-server-`node -e 'console.log(require(\"./package.json\").version)'`.tgz `([ \"$(uname)\" = 'Darwin' ] && echo \"-s |^|medooze-media-server/|\") || echo \" --transform=flags=r;s|^|medooze-media-server/|\"` package.json dist/index.js dist/index.d.ts build/types README.md lib/* build/Release/medooze-media-server.node","docs":"documentation build dist/MediaServer.js dist/*.js --shallow -o docs -f html && documentation build dist/MediaServer.js dist/*.js --shallow -o api.md -f md --markdown-toc false","swig":"swig -javascript -node -c++ -I`node -e \"require('medooze-media-server-src')\"`/include src/media-server.i","test":"tap tests/*.js  --show-full-coverage --allow-incomplete-coverage --jobs=1 --reporter tap","build":"node-gyp build --jobs=max","check":"tsc --noEmit --emitDeclarationOnly false","junit":"tap tests/*.js --show-full-coverage --allow-incomplete-coverage --jobs=1 --reporter junit --reporter-file test_results.xml","install":"test -f build/Release/medooze-media-server.node || (node-gyp configure && node-gyp rebuild --jobs=max && npm run prepare)","build:ts":"tsc","configure":"node-gyp configure"},"_npmUser":{"name":"dank074","email":"torresefrain10@gmail.com"},"repository":{"url":"git+https://github.com/dank074/medooze-media-server.git","type":"git"},"_npmVersion":"9.6.7","description":"WebRTC Media Server by Medooze","directories":{},"_nodeVersion":"18.17.0","dependencies":{"nan":"^2.18.0","lfsr":"0.0.3","uuid":"^3.3.2","netlink":"^0","semantic-sdp":"^3.31.1","medooze-event-emitter":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^21.0.1","typescript":"^5.2.2","@types/lfsr":"^0.0.0","@types/node":"^20.8.6","@types/uuid":"^9.0.5","documentation":"14.0.3"},"peerDependencies":{"medooze-media-server-src":"^3.1.1"},"optionalDependencies":{"netlink":"^0"},"_npmOperationalInternal":{"tmp":"tmp/medooze-media-server_1.156.3_1743486696516_0.8434195803891755","host":"s3://npm-registry-packages-npm-production"}},"1.156.4":{"name":"@dank074/medooze-media-server","version":"1.156.4","description":"WebRTC Media Server by Medooze","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"check":"tsc --noEmit --emitDeclarationOnly false","configure":"node-gyp configure","swig":"swig -javascript -node -c++ -I`node -e \"require('medooze-media-server-src')\"`/include src/media-server.i","build":"node-gyp build --jobs=max","rebuild":"node-gyp configure && node-gyp rebuild --jobs=max","build:ts":"tsc","install":"test -f build/Release/medooze-media-server.node || (node-gyp configure && node-gyp rebuild --jobs=max)","docs":"documentation build dist/MediaServer.js dist/*.js --shallow -o docs -f html && documentation build dist/MediaServer.js dist/*.js --shallow -o api.md -f md --markdown-toc false","dist":"npm run configure && npm run build && npm run prepare && mkdir -p dist && tar cvzf dist/medooze-media-server-`node -e 'console.log(require(\"./package.json\").version)'`.tgz `([ \"$(uname)\" = 'Darwin' ] && echo \"-s |^|medooze-media-server/|\") || echo \" --transform=flags=r;s|^|medooze-media-server/|\"` package.json dist/index.js dist/index.d.ts build/types README.md lib/* build/Release/medooze-media-server.node","test":"tap tests/*.js  --show-full-coverage --allow-incomplete-coverage --jobs=1 --reporter tap","junit":"tap tests/*.js --show-full-coverage --allow-incomplete-coverage --jobs=1 --reporter junit --reporter-file test_results.xml"},"repository":{"type":"git","url":"git+https://github.com/dank074/medooze-media-server.git"},"keywords":["webrtc","media","server","sfu"],"author":{"name":"Sergio Garcia Murillo"},"license":"MIT","gypfile":true,"dependencies":{"lfsr":"0.0.3","medooze-event-emitter":"^1.2.0","nan":"^2.18.0","semantic-sdp":"^3.31.1","uuid":"^3.3.2"},"peerDependencies":{"medooze-media-server-src":"^3.1.1"},"optionalDependencies":{"netlink":"^0"},"devDependencies":{"@types/lfsr":"^0.0.0","@types/node":"^20.8.6","@types/uuid":"^9.0.5","documentation":"14.0.3","tap":"^21.0.1","typescript":"^5.2.2"},"publishConfig":{"access":"public"},"_id":"@dank074/medooze-media-server@1.156.4","gitHead":"75d49160e8e821b72e1e79486eb2a35be59bd79f","bugs":{"url":"https://github.com/dank074/medooze-media-server/issues"},"homepage":"https://github.com/dank074/medooze-media-server#readme","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-snn1LJkt2YJtUSYKhbOGidOoVKS5BawO6jRklRzE3Uy17N6jTMwqZXOq3oosm1JrGGaQGbOHRQudNHur2SrPEg==","shasum":"81ea483a11172757fc62d6bbcd3dcb3214db2fe7","tarball":"https://registry.npmjs.org/@dank074/medooze-media-server/-/medooze-media-server-1.156.4.tgz","fileCount":2916,"unpackedSize":19839493,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCUWI/13BBk+0RaQq3eqkCOacm9mfIFAHMNyRoOa6oNjwIgYC3vLfcT/cmSd7EOSWMH7Bdg1kCHK3X2c28uIQREEfg="}]},"_npmUser":{"name":"dank074","email":"torresefrain10@gmail.com"},"directories":{},"maintainers":[{"name":"dank074","email":"torresefrain10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/medooze-media-server_1.156.4_1744580905390_0.5775034090599336"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-24T06:48:41.327Z","modified":"2025-04-13T21:48:25.969Z","1.156.2":"2025-03-24T06:48:41.789Z","1.156.21":"2025-03-24T07:00:31.275Z","1.156.22":"2025-03-24T07:14:31.668Z","1.156.3":"2025-04-01T05:51:36.870Z","1.156.4":"2025-04-13T21:48:25.766Z"},"bugs":{"url":"https://github.com/dank074/medooze-media-server/issues"},"author":{"name":"Sergio Garcia Murillo"},"license":"MIT","homepage":"https://github.com/dank074/medooze-media-server#readme","keywords":["webrtc","media","server","sfu"],"repository":{"type":"git","url":"git+https://github.com/dank074/medooze-media-server.git"},"description":"WebRTC Media Server by Medooze","maintainers":[{"name":"dank074","email":"torresefrain10@gmail.com"}],"readme":"[![media-server-node-test](https://github.com/medooze/media-server-node/actions/workflows/release.yaml/badge.svg)](https://github.com/medooze/media-server-node/actions/workflows/release.yaml)\n\n# WebRTC Medooze Media Server for Node.js\n\nThis media server will allow you to receive and send media streams from remote WebRTC peers and manage how you want to route them. \n\nSupported systems:\n\n - [x] Linux\n - [x] Mac Os X\n - [x] Raspberry Pi\n\n## Install\n \nJust add the Medooze media server as a dependency to your node project:\n```\n    npm i --save @dank074/medooze-media-server\n```\n## Distribution\n\nIf you don't want to compile the native code each time you use the media server, you could precompile Medooze Media server and generate a binary package for your platform. On the Medooze media server directory just do:\n\n```\n   git submodule update --init --recursive\n   npm i\n   npm run-script dist\n```\n\nIt will generate the binary package in `dist/medooze-media-server-x.y.x.tgz`.\n\nTo use it on your project just install it instead of the npm repository dependency:\n\n```\n    npm i --save medooze-media-server-x.y.x.tgz\n```\n\n## Usage\n```javascript\nconst MediaServer = require('@dank074/medooze-media-server');\n```\n## API Documention\nYou can check the full object documentation in [markdown](api.md) or [html](https://medooze.github.io/media-server-node/).\n\n## Support\nTo discuss issues related to this project or ask for help please [join the google community group](https://groups.google.com/forum/#!forum/medooze).\n\n## Demo application\nYou can check a demo application [here](https://github.com/medooze/media-server-demo-node)\n\n## Functionality\nWe intend to implement support the following features:\n\n- [x] MP4 multitrack recording support for all WebRTC codecs: H264,VP8,VP9, OPUS and PCMU/A.\n- [x] [VP9 SVC](https://tools.ietf.org/html/draft-ietf-payload-vp9-02) layer selection\n- [x] Simulcast with temporal layer selection\n- [x] [RTP transport wide congestion control](https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01)\n- [x] Sender side BitRate estimation\n- [ ] [Flex FEC draft 3](https://tools.ietf.org/html/draft-ietf-payload-flexible-fec-scheme-03)\n- [x] NACK and RTX support\n- [x] [RTCP reduced size] (https://tools.ietf.org/html/rfc5506)\n- [x] Bundle\n- [x] ICE lite\n- [x] [Frame Marking] (https://tools.ietf.org/html/draft-ietf-avtext-framemarking-04)\n- [x] [PERC double encryption] (https://tools.ietf.org/html/draft-ietf-perc-double-03)\n- [x] Plain RTP broadcasting/streaming\n- [ ] Datachannels\n\n## Media Server Client\n\nYou can use the [Media Server Client lib](https://github.com/medooze/media-server-client-js) for easy sync between any browser and the media server. If you do not want to depend on an external library or specifc signaling you can setup everything [manually](manual.md).\n\n## Tracing\n\nMedooze is instrumented with [Perfetto](https://perfetto.dev) track events.\nFor information about capturing and interpreting traces, see [Tracing](tracing.md).\n\n## Author\n\nSergio Garcia Murillo @ Medooze \n\n## Contributing\nTo get started, [Sign the Contributor License Agreement](https://www.clahub.com/agreements/medooze/media-server-node).\n\n## License\nMIT\n","readmeFilename":"README.md"}