{"_id":"@zoom/rtms","_rev":"20-5fdcd85b1538b0f39bbee19ef001586d","name":"@zoom/rtms","dist-tags":{"beta":"0.0.2-beta.1","latest":"1.1.0"},"versions":{"0.0.2-beta.0":{"name":"@zoom/rtms","version":"0.0.2-beta.0","keywords":["zoom","rtms","realtime","media","streaming","real","time","sdk"],"author":{"name":"Zoom Communications, Inc."},"license":"MIT","_id":"@zoom/rtms@0.0.2-beta.0","maintainers":[{"name":"tommygaessler","email":"tommy.gaessler@zoom.us"},{"name":"zoomwebteam","email":"jack.yang@zoom.us"},{"name":"carsonzoom","email":"carson.chen@zoom.us"},{"name":"joma_zoom","email":"joyce.ma@zoom.com"},{"name":"vic.yang","email":"vic.yang@zoom.us"},{"name":"endazoom","email":"enda.zhang@zoom.us"},{"name":"ticorrianheard","email":"ticorrianheard@gmail.com"},{"name":"shirley.zhang","email":"shirley.zhang@zoom.us"},{"name":"wezrine","email":"wezrine@me.com"},{"name":"clever.su","email":"clever.su@zoom.us"},{"name":"jonathan.chong","email":"jonathan.chong@zoom.us"},{"name":"aparna.ananthakrishnan","email":"aparna.ananthakrishnan@zoom.us"},{"name":"jcoon97","email":"james@jcoon.dev"},{"name":"maxmansfield","email":"max.mansfield@zoom.us"}],"contributors":[{"url":"https://www.npmjs.com/~maxmansfield","name":"Max Mansfield","email":"max.mansfield@zoom.us"}],"homepage":"https://github.com/zoom/rtms#readme","bugs":{"url":"https://github.com/zoom/rtms/issues"},"os":["linux","darwin"],"cpu":["x64","arm64"],"dist":{"shasum":"ad4bad94573276d686acb558cd872731b9bd048e","tarball":"https://registry.npmjs.org/@zoom/rtms/-/rtms-0.0.2-beta.0.tgz","fileCount":20,"integrity":"sha512-biI0mAj73z4Ek/MdZrcv8mFOU6LxnJKKydZo9Zp7nIBfl9Gzv0lFz5fKXe/vYi01bgeO+yFpo7HGwJa8Cfrq2Q==","signatures":[{"sig":"MEYCIQDxAg1x74ggXb2xGcPwO2S4Fw/Om4/Zklf8K+BaK1+udQIhAMLxtyUFpHBh8kSWSM7E9eN1mDqn7cySJPXjdQCMTBC9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211896},"main":"./build/Release/index.js","type":"module","types":"rtms.d.ts","binary":{"napi_versions":[9]},"gitHead":"6b10d4bacb99da0502fbe22623f0c02a5dc1861f","scripts":{"cli":"node scripts/rtms.js","docs":"node scripts/rtms.js docs all","help":"node scripts/rtms.js help","rtms":"node scripts/rtms.js","test":"node scripts/rtms.js test all","build":"node scripts/rtms.js build all","clean":"node scripts/rtms.js clean","debug":"node scripts/rtms.js mode debug","setup":"npm install && node scripts/rtms.js build all","upload":"node scripts/rtms.js build upload","docs:js":"node scripts/rtms.js docs js","docs:py":"node scripts/rtms.js docs python","install":"node scripts/rtms.js install || node scripts/rtms.js build js","release":"node scripts/rtms.js mode release","test:go":"node scripts/rtms.js test go","test:js":"node scripts/rtms.js test js","test:py":"node scripts/rtms.js test python","build:go":"node scripts/rtms.js build go","build:js":"node scripts/rtms.js build js","build:py":"node scripts/rtms.js build python","prebuild":"node scripts/rtms.js build prebuild","build:debug":"node scripts/rtms.js build all -- --debug","upload_linux":"node scripts/rtms.js build upload_linux","build:release":"node scripts/rtms.js build all -- --release","test:js-manual":"node scripts/rtms.js test js:manual","test:py-manual":"node scripts/rtms.js test py:manual","// CLI commands":"Use the unified CLI for most operations","// Test commands":"Run tests for different languages","// Build commands":"Build the project for different languages and modes","// Utility commands":"Various helper commands","// Documentation commands":"Generate documentation"},"_npmUser":{"name":"maxmansfield","email":"max.mansfield@zoom.us"},"repository":{"url":"git+https://github.com/zoom/rtms.git","type":"git"},"_npmVersion":"10.9.2","description":"Node.js Wrapper for the Zoom RTMS C SDK","directories":{},"_nodeVersion":"22.13.0","dependencies":{"bindings":"^1.5.0","node-addon-api":"^8.3.0"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.2","cmake-js":"^7.3.0","typescript":"^5.8.3","@types/jest":"^29.5.14","typedoc-plugin-missing-exports":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rtms_0.0.2-beta.0_1750100902142_0.9061405422639122","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-beta.1":{"name":"@zoom/rtms","version":"0.0.2-beta.1","keywords":["zoom","rtms","realtime","media","streaming","real","time","sdk"],"author":{"name":"Zoom Communications, Inc."},"license":"MIT","_id":"@zoom/rtms@0.0.2-beta.1","maintainers":[{"name":"tommygaessler","email":"tommy.gaessler@zoom.us"},{"name":"zoomwebteam","email":"jack.yang@zoom.us"},{"name":"carsonzoom","email":"carson.chen@zoom.us"},{"name":"joma_zoom","email":"joyce.ma@zoom.com"},{"name":"vic.yang","email":"vic.yang@zoom.us"},{"name":"endazoom","email":"enda.zhang@zoom.us"},{"name":"ticorrianheard","email":"ticorrianheard@gmail.com"},{"name":"shirley.zhang","email":"shirley.zhang@zoom.us"},{"name":"wezrine","email":"wezrine@me.com"},{"name":"clever.su","email":"clever.su@zoom.us"},{"name":"jonathan.chong","email":"jonathan.chong@zoom.us"},{"name":"aparna.ananthakrishnan","email":"aparna.ananthakrishnan@zoom.us"},{"name":"jcoon97","email":"james@jcoon.dev"},{"name":"maxmansfield","email":"max.mansfield@zoom.us"}],"contributors":[{"url":"https://www.npmjs.com/~maxmansfield","name":"Max Mansfield","email":"max.mansfield@zoom.us"}],"homepage":"https://github.com/zoom/rtms#readme","bugs":{"url":"https://github.com/zoom/rtms/issues"},"os":["linux","darwin"],"cpu":["x64","arm64"],"dist":{"shasum":"26a9b68d46d255faad45e77068787de45762c5b7","tarball":"https://registry.npmjs.org/@zoom/rtms/-/rtms-0.0.2-beta.1.tgz","fileCount":20,"integrity":"sha512-7sWMM8gOX7ohmDsYdGAJ97Hac54iYmRo70Tu9Yh5B8wSeLwH4BeYBVgklvwKxukxPqI+x/LE44UdJcsTu+n6PQ==","signatures":[{"sig":"MEQCIEAsJB9zdqvqwsOK8ukuQKgWsXF8SjnD3H4TyPXMayNrAiBwKth2kyzsIJsZkxQGc3+KQH9BDUB4j1NVS1lf7xw5Ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211941},"main":"./build/Release/index.js","type":"module","types":"rtms.d.ts","binary":{"napi_versions":[9]},"gitHead":"17e627627f45861c19b401d3fd7a87690085a076","scripts":{"cli":"node scripts/rtms.js","docs":"node scripts/rtms.js docs all","help":"node scripts/rtms.js help","rtms":"node scripts/rtms.js","test":"node scripts/rtms.js test all","build":"node scripts/rtms.js build all","clean":"node scripts/rtms.js clean","debug":"node scripts/rtms.js mode debug","setup":"npm install && node scripts/rtms.js build all","upload":"node scripts/rtms.js build upload","docs:js":"node scripts/rtms.js docs js","docs:py":"node scripts/rtms.js docs python","install":"node scripts/rtms.js install || node scripts/rtms.js build js","release":"node scripts/rtms.js mode release","test:go":"node scripts/rtms.js test go","test:js":"node scripts/rtms.js test js","test:py":"node scripts/rtms.js test python","build:go":"node scripts/rtms.js build go","build:js":"node scripts/rtms.js build js","build:py":"node scripts/rtms.js build python","prebuild":"node scripts/rtms.js build prebuild","build:debug":"node scripts/rtms.js build all -- --debug","upload_linux":"node scripts/rtms.js build upload_linux","build:release":"node scripts/rtms.js build all -- --release","test:js-manual":"node scripts/rtms.js test js:manual","test:py-manual":"node scripts/rtms.js test py:manual","// CLI commands":"Use the unified CLI for most operations","// Test commands":"Run tests for different languages","// Build commands":"Build the project for different languages and modes","// Utility commands":"Various helper commands","// Documentation commands":"Generate documentation"},"_npmUser":{"name":"maxmansfield","email":"max.mansfield@zoom.us"},"repository":{"url":"git+https://github.com/zoom/rtms.git","type":"git"},"_npmVersion":"10.9.2","description":"Node.js Wrapper for the Zoom RTMS C SDK","directories":{},"_nodeVersion":"22.13.0","dependencies":{"tar":"^7.4.3","bindings":"^1.5.0","node-addon-api":"^8.3.0","prebuild-install":"^7.1.3"},"_hasShrinkwrap":false,"readmeFilename":"README.MD","devDependencies":{"typedoc":"^0.28.2","cmake-js":"^7.3.0","typescript":"^5.8.3","@types/jest":"^29.5.14","typedoc-plugin-missing-exports":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rtms_0.0.2-beta.1_1750102245466_0.25830562124626044","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@zoom/rtms","version":"0.0.2","keywords":["zoom","rtms","realtime","media","streaming","real","time","sdk"],"author":{"name":"Zoom Communications, Inc."},"license":"MIT","_id":"@zoom/rtms@0.0.2","maintainers":[{"name":"tommygaessler","email":"tommy.gaessler@zoom.us"},{"name":"zoomwebteam","email":"jack.yang@zoom.us"},{"name":"carsonzoom","email":"carson.chen@zoom.us"},{"name":"joma_zoom","email":"joyce.ma@zoom.com"},{"name":"vic.yang","email":"vic.yang@zoom.us"},{"name":"endazoom","email":"enda.zhang@zoom.us"},{"name":"ticorrianheard","email":"ticorrianheard@gmail.com"},{"name":"shirley.zhang","email":"shirley.zhang@zoom.us"},{"name":"wezrine","email":"wezrine@me.com"},{"name":"clever.su","email":"clever.su@zoom.us"},{"name":"jonathan.chong","email":"jonathan.chong@zoom.us"},{"name":"aparna.ananthakrishnan","email":"aparna.ananthakrishnan@zoom.us"},{"name":"jcoon97","email":"james@jcoon.dev"},{"name":"maxmansfield","email":"max.mansfield@zoom.us"}],"contributors":[{"url":"https://www.npmjs.com/~maxmansfield","name":"Max Mansfield","email":"max.mansfield@zoom.us"}],"homepage":"https://github.com/zoom/rtms#readme","bugs":{"url":"https://github.com/zoom/rtms/issues"},"os":["linux","darwin"],"cpu":["x64","arm64"],"dist":{"shasum":"1ce0cfed0c984709e805907e23420766d040a5a8","tarball":"https://registry.npmjs.org/@zoom/rtms/-/rtms-0.0.2.tgz","fileCount":21,"integrity":"sha512-WK+aJQUlqsKu9z1Zmz08ZQJjER4yYRXXONtpO1QOLecM048rvPkiD54reH/p/QfZijB9JFZ9M6m43ISzA36oXw==","signatures":[{"sig":"MEQCIH4sJ0CMeis7aBQbCTrmZIry48aUEY/qw3CitE/kr7YgAiB/PzvFOcl5FtgMrYNQJnV8+TCxRSuRGwLkMGRPRev1hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228698},"main":"./build/Release/index.js","type":"module","types":"rtms.d.ts","binary":{"napi_versions":[9]},"gitHead":"3b7f7bc6f55686afded919689d9ef51147023eac","scripts":{"cli":"node scripts/rtms.js","docs":"node scripts/rtms.js docs all","help":"node scripts/rtms.js help","rtms":"node scripts/rtms.js","test":"node scripts/rtms.js test all","build":"node scripts/rtms.js build all","clean":"node scripts/rtms.js clean","debug":"node scripts/rtms.js mode debug","setup":"npm install && node scripts/rtms.js build all","upload":"node scripts/rtms.js build upload","docs:js":"node scripts/rtms.js docs js","docs:py":"node scripts/rtms.js docs python","install":"node scripts/rtms.js install || node scripts/rtms.js build js","release":"node scripts/rtms.js mode release","test:go":"node scripts/rtms.js test go","test:js":"node scripts/rtms.js test js","test:py":"node scripts/rtms.js test python","build:go":"node scripts/rtms.js build go","build:js":"node scripts/rtms.js build js","build:py":"node scripts/rtms.js build python","prebuild":"node scripts/rtms.js build prebuild","build:debug":"node scripts/rtms.js build all -- --debug","upload_linux":"node scripts/rtms.js build upload_linux","build:release":"node scripts/rtms.js build all -- --release","test:js-manual":"node scripts/rtms.js test js:manual","test:py-manual":"node scripts/rtms.js test py:manual","// CLI commands":"Use the unified CLI for most operations","// Test commands":"Run tests for different languages","// Build commands":"Build the project for different languages and modes","// Utility commands":"Various helper commands","// Documentation commands":"Generate documentation"},"_npmUser":{"name":"maxmansfield","email":"max.mansfield@zoom.us"},"repository":{"url":"git+https://github.com/zoom/rtms.git","type":"git"},"_npmVersion":"10.9.2","description":"Node.js Wrapper for the Zoom RTMS C SDK","directories":{},"_nodeVersion":"22.13.0","dependencies":{"tar":"^7.4.3","bindings":"^1.5.0","node-addon-api":"^8.3.0","prebuild-install":"^7.1.3"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.2","cmake-js":"^7.3.0","typescript":"^5.8.3","@types/jest":"^29.5.14","typedoc-plugin-missing-exports":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rtms_0.0.2_1750110516678_0.02846607336253304","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@zoom/rtms","version":"0.0.3","keywords":["zoom","rtms","realtime","media","streaming","real","time","sdk"],"author":{"name":"Zoom Communications, Inc."},"license":"MIT","_id":"@zoom/rtms@0.0.3","maintainers":[{"name":"tommygaessler","email":"tommy.gaessler@zoom.us"},{"name":"maxmansfield","email":"max.mansfield@zoom.us"}],"contributors":[{"url":"https://www.npmjs.com/~maxmansfield","name":"Max Mansfield","email":"max.mansfield@zoom.us"}],"homepage":"https://github.com/zoom/rtms#readme","bugs":{"url":"https://github.com/zoom/rtms/issues"},"os":["linux","darwin"],"cpu":["x64","arm64"],"dist":{"shasum":"67f88266f41a878c1db046bf44bf9b3950264c3a","tarball":"https://registry.npmjs.org/@zoom/rtms/-/rtms-0.0.3.tgz","fileCount":21,"integrity":"sha512-ytZqC1mnzMyOo8GllnIlAemykaw0tANTOedm/ooBEt+HR9fCJmbmzKvOwgjCVUxX5RCVlBE+NnsrxuW8y8pNMA==","signatures":[{"sig":"MEYCIQD9iopGA1FA3I3fqai6dgJrF5jXBxkvI4WGs2OEVVlDIgIhAK5W1Jzmdk+q2PLf/leoBgS9CFm58fgi1+LsnXvsoawN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245713},"main":"./build/Release/index.js","type":"module","types":"rtms.d.ts","binary":{"napi_versions":[9,10]},"gitHead":"5f96b2aa5289bbcb8011ac23d4437bd2659c5d62","scripts":{"cli":"node scripts/rtms.js","docs":"node scripts/rtms.js docs all","help":"node scripts/rtms.js help","rtms":"node scripts/rtms.js","test":"node scripts/rtms.js test all","build":"node scripts/rtms.js build all","clean":"node scripts/rtms.js clean","debug":"node scripts/rtms.js mode debug","setup":"npm install && node scripts/rtms.js build all","upload":"node scripts/rtms.js build upload","docs:js":"node scripts/rtms.js docs js","docs:py":"node scripts/rtms.js docs python","install":"node scripts/rtms.js install || node scripts/rtms.js build js","release":"node scripts/rtms.js mode release","test:go":"node scripts/rtms.js test go","test:js":"node scripts/rtms.js test js","test:py":"node scripts/rtms.js test python","build:go":"node scripts/rtms.js build go","build:js":"node scripts/rtms.js build js","build:py":"node scripts/rtms.js build python","prebuild":"node scripts/rtms.js build prebuild","build:debug":"node scripts/rtms.js build all -- --debug","upload_linux":"node scripts/rtms.js build upload_linux","build:release":"node scripts/rtms.js build all -- --release","test:js-manual":"node scripts/rtms.js test js:manual","test:py-manual":"node scripts/rtms.js test py:manual","// CLI commands":"Use the unified CLI for most operations","// Test commands":"Run tests for different languages","// Build commands":"Build the project for different languages and modes","// Utility commands":"Various helper commands","// Documentation commands":"Generate documentation"},"_npmUser":{"name":"maxmansfield","email":"max.mansfield@zoom.us"},"overrides":{"tar-fs":">=2.1.4","form-data":">=4.0.4"},"repository":{"url":"git+https://github.com/zoom/rtms.git","type":"git"},"_npmVersion":"10.9.2","description":"Node.js Wrapper for the Zoom RTMS C SDK","directories":{},"_nodeVersion":"22.17.1","dependencies":{"tar":"^7.4.3","bindings":"^1.5.0","node-addon-api":"^8.3.0","prebuild-install":"^7.1.3"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.2","cmake-js":"^7.3.0","typescript":"^5.8.3","@types/jest":"^29.5.14","typedoc-plugin-missing-exports":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rtms_0.0.3_1761688524413_0.7318068469482066","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@zoom/rtms","version":"0.0.4","keywords":["zoom","rtms","realtime","media","streaming","real","time","sdk"],"author":{"name":"Zoom Communications, Inc."},"license":"MIT","_id":"@zoom/rtms@0.0.4","maintainers":[{"name":"tommygaessler","email":"tommy.gaessler@zoom.us"},{"name":"maxmansfield","email":"max.mansfield@zoom.us"}],"contributors":[{"url":"https://www.npmjs.com/~maxmansfield","name":"Max Mansfield","email":"max.mansfield@zoom.us"}],"homepage":"https://github.com/zoom/rtms#readme","bugs":{"url":"https://github.com/zoom/rtms/issues"},"os":["linux","darwin"],"cpu":["x64","arm64"],"dist":{"shasum":"23f6230e1bdd0b463773702a10c6367a5ca6478f","tarball":"https://registry.npmjs.org/@zoom/rtms/-/rtms-0.0.4.tgz","fileCount":21,"integrity":"sha512-0RuxwX9zBt9A0tpTTzEYMaawqOI+nLoVWIQM5uzUJ1BtIGU0bGa5I7kZSS12nmHn4cMNsJiw7zXXk+wZlcKG9g==","signatures":[{"sig":"MEUCIAN/ViF2RW0gd5zxdy4GJsnb/NPb9SYbWXnb8C3q0in6AiEA3iAGrh603jrigHn3CcEPiYxNDM+E8iGaYmxEhCwfktE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245713},"main":"./build/Release/index.js","type":"module","types":"rtms.d.ts","binary":{"napi_versions":[9,10]},"gitHead":"87496254cae217691b4b5cb93f2143512d45e835","scripts":{"cli":"node scripts/rtms.js","docs":"node scripts/rtms.js docs all","help":"node scripts/rtms.js help","rtms":"node scripts/rtms.js","test":"node scripts/rtms.js test all","build":"node scripts/rtms.js build all","clean":"node scripts/rtms.js clean","debug":"node scripts/rtms.js mode debug","setup":"npm install && node scripts/rtms.js build all","upload":"node scripts/rtms.js build upload","docs:js":"node scripts/rtms.js docs js","docs:py":"node scripts/rtms.js docs python","install":"node scripts/rtms.js install || node scripts/rtms.js build js","release":"node scripts/rtms.js mode release","test:go":"node scripts/rtms.js test go","test:js":"node scripts/rtms.js test js","test:py":"node scripts/rtms.js test python","build:go":"node scripts/rtms.js build go","build:js":"node scripts/rtms.js build js","build:py":"node scripts/rtms.js build python","prebuild":"node scripts/rtms.js build prebuild","build:debug":"node scripts/rtms.js build all -- --debug","upload_linux":"node scripts/rtms.js build upload_linux","build:release":"node scripts/rtms.js build all -- --release","test:js-manual":"node scripts/rtms.js test js:manual","test:py-manual":"node scripts/rtms.js test py:manual","// CLI commands":"Use the unified CLI for most operations","// Test commands":"Run tests for different languages","// Build commands":"Build the project for different languages and modes","// Utility commands":"Various helper commands","// Documentation commands":"Generate documentation"},"_npmUser":{"name":"maxmansfield","email":"max.mansfield@zoom.us"},"overrides":{"tar-fs":">=2.1.4","form-data":">=4.0.4"},"repository":{"url":"git+https://github.com/zoom/rtms.git","type":"git"},"_npmVersion":"10.9.2","description":"Node.js Wrapper for the Zoom RTMS C SDK","directories":{},"_nodeVersion":"22.17.1","dependencies":{"tar":"^7.4.3","bindings":"^1.5.0","node-addon-api":"^8.3.0","prebuild-install":"^7.1.3"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.2","cmake-js":"^7.3.0","typescript":"^5.8.3","@types/jest":"^29.5.14","typedoc-plugin-missing-exports":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rtms_0.0.4_1762373420458_0.13904259558173448","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@zoom/rtms","version":"0.0.7","keywords":["zoom","rtms","realtime","media","streaming","real","time","sdk"],"author":{"name":"Zoom Communications, Inc."},"license":"MIT","_id":"@zoom/rtms@0.0.7","maintainers":[{"name":"tommygaessler","email":"tommy.gaessler@zoom.us"},{"name":"maxmansfield","email":"max.mansfield@zoom.us"}],"contributors":[{"url":"https://www.npmjs.com/~maxmansfield","name":"Max Mansfield","email":"max.mansfield@zoom.us"}],"homepage":"https://github.com/zoom/rtms#readme","bugs":{"url":"https://github.com/zoom/rtms/issues"},"os":["linux","darwin"],"cpu":["x64","arm64"],"dist":{"shasum":"4b30ce8fdd57c0bd15965f50609dec2a75f1e277","tarball":"https://registry.npmjs.org/@zoom/rtms/-/rtms-0.0.7.tgz","fileCount":18,"integrity":"sha512-51VYeMCw2TJeQgMhVlR75sTkFdlfOX/fF7wOrg/p9YrozGQqK5+dULOrvd0cwvzs4HpwG9E9pLaOp8yEQj+E+Q==","signatures":[{"sig":"MEQCIDhkM8+618zbEgRITMlZko2kOt6/pQ6EyV6FLBfGEC5jAiAn3hr64KXBmH9/zSUdFzY4LVyiA79AChTlYQSB98AbnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":247811},"main":"./build/Release/index.js","type":"module","types":"rtms.d.ts","binary":{"napi_versions":[9,10]},"engines":{"node":">=20.3.0"},"gitHead":"6689180f93b8d296cccdd06d0fcdd22f66a6adde","scripts":{"install":"node scripts/install.js"},"_npmUser":{"name":"maxmansfield","email":"max.mansfield@zoom.us"},"overrides":{"tar-fs":">=2.1.4","form-data":">=4.0.4"},"repository":{"url":"git+https://github.com/zoom/rtms.git","type":"git"},"_npmVersion":"10.9.2","description":"Node.js Wrapper for the Zoom RTMS C SDK","directories":{},"_nodeVersion":"22.17.1","dependencies":{"tar":"^7.5.2","bindings":"^1.5.0","node-addon-api":"^8.5.0","prebuild-install":"^7.1.3"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.14","cmake-js":"^7.4.0","typescript":"^5.9.3","@types/jest":"^30.0.0","typedoc-plugin-missing-exports":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rtms_0.0.7_1764105671331_0.31746896673056124","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@zoom/rtms","version":"1.0.1","keywords":["zoom","rtms","realtime","media","streaming","real","time","sdk"],"author":{"name":"Zoom Communications, Inc."},"license":"MIT","_id":"@zoom/rtms@1.0.1","maintainers":[{"name":"tommygaessler","email":"tommy.gaessler@zoom.us"},{"name":"maxmansfield","email":"max.mansfield@zoom.us"}],"contributors":[{"url":"https://www.npmjs.com/~maxmansfield","name":"Max Mansfield","email":"max.mansfield@zoom.us"}],"homepage":"https://github.com/zoom/rtms#readme","bugs":{"url":"https://github.com/zoom/rtms/issues"},"os":["linux","darwin"],"cpu":["x64","arm64"],"dist":{"shasum":"5f039391c0e65896b196be44ba9d6109b430f956","tarball":"https://registry.npmjs.org/@zoom/rtms/-/rtms-1.0.1.tgz","fileCount":20,"integrity":"sha512-FvXh7pQUwc3Gv2+y0Uyn7iM9qEtiKZtayHVgVxTI7gYa/CyKITDhmqhmsYmpKIm+I/Zs2dcjXU7FTJZxWBzXmw==","signatures":[{"sig":"MEUCIQD9/jyTwU1Xng+WxpnRehwEkhXi3BtDLONapgs9tgTh0wIgVx1pmMKFk6F8JZUCOr1FTxBbvA+F4E44ZVGG5L2pv9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zoom%2frtms@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277738},"main":"./build/Release/index.js","type":"module","types":"rtms.d.ts","binary":{"napi_versions":[9,10]},"engines":{"node":">=20.3.0"},"gitHead":"6031e98468c60089ca2b3577f6fadd86de445b0f","scripts":{"install":"node scripts/install.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ef26c95-b2af-4ec0-abb0-482135ed35f8"}},"overrides":{"tar-fs":">=2.1.4","form-data":">=4.0.4"},"repository":{"url":"git+https://github.com/zoom/rtms.git","type":"git"},"_npmVersion":"11.6.2","description":"Node.js Wrapper for the Zoom RTMS C SDK","directories":{},"_nodeVersion":"24.13.0","dependencies":{"tar":"^7.5.6","bindings":"^1.5.0","node-addon-api":"^8.5.0","prebuild-install":"^7.1.3"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.14","cmake-js":"^7.4.0","typescript":"^5.9.3","@types/jest":"^30.0.0","typedoc-plugin-missing-exports":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rtms_1.0.1_1769502960111_0.5370479900424607","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@zoom/rtms","version":"1.0.2","keywords":["zoom","rtms","realtime","media","streaming","real","time","sdk"],"author":{"name":"Zoom Communications, Inc."},"license":"MIT","_id":"@zoom/rtms@1.0.2","maintainers":[{"name":"tommygaessler","email":"tommy.gaessler@zoom.us"},{"name":"maxmansfield","email":"max.mansfield@zoom.us"}],"contributors":[{"url":"https://www.npmjs.com/~maxmansfield","name":"Max Mansfield","email":"max.mansfield@zoom.us"}],"homepage":"https://github.com/zoom/rtms#readme","bugs":{"url":"https://github.com/zoom/rtms/issues"},"os":["linux","darwin"],"cpu":["x64","arm64"],"dist":{"shasum":"2d82ca3010a54f8d0277f0746b51d907f8405bb3","tarball":"https://registry.npmjs.org/@zoom/rtms/-/rtms-1.0.2.tgz","fileCount":20,"integrity":"sha512-D8+wFs06CJ6J+9SHttQ2O2e/SdZe4uaw+LBDDq9h+4rHUm2myOh1D40Sau0o4jVAsbmmzCMt0oc+GnAoUoDc2Q==","signatures":[{"sig":"MEYCIQDkjdXhRR4uA/s7GFRRz+1GGVTlkxSrklNoPqhKcRt0HQIhAO7zPeYtmrTo4oOQEXMlHfjsD0Di39zedi20Qw3kgraW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zoom%2frtms@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":283815},"main":"./build/Release/index.js","type":"module","types":"rtms.d.ts","binary":{"napi_versions":[9,10]},"engines":{"node":">=20.3.0"},"gitHead":"f9d601bf0f7c29f45741b1850edbdbf21ffc6d20","scripts":{"install":"node scripts/install.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ef26c95-b2af-4ec0-abb0-482135ed35f8"}},"overrides":{"tar-fs":">=2.1.4","form-data":">=4.0.4"},"repository":{"url":"git+https://github.com/zoom/rtms.git","type":"git"},"_npmVersion":"11.6.2","description":"Node.js Wrapper for the Zoom RTMS C SDK","directories":{},"_nodeVersion":"24.13.0","dependencies":{"tar":"^7.5.6","bindings":"^1.5.0","node-addon-api":"^8.5.0","prebuild-install":"^7.1.3"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.14","cmake-js":"^8.0.0","typescript":"^5.9.3","@types/jest":"^30.0.0","typedoc-plugin-missing-exports":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rtms_1.0.2_1769749093536_0.28154403210782775","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@zoom/rtms","version":"1.0.3","keywords":["zoom","rtms","realtime","media","streaming","real","time","sdk"],"author":{"name":"Zoom Communications, Inc."},"license":"MIT","_id":"@zoom/rtms@1.0.3","maintainers":[{"name":"mh-zoom","email":"michael.harrington@zoom.us"},{"name":"ekaansharora","email":"ekaansh68@gmail.com"},{"name":"tommygaessler","email":"tommy.gaessler@zoom.us"},{"name":"maxmansfield","email":"max.mansfield@zoom.us"}],"contributors":[{"url":"https://www.npmjs.com/~maxmansfield","name":"Max Mansfield","email":"max.mansfield@zoom.us"}],"homepage":"https://github.com/zoom/rtms#readme","bugs":{"url":"https://github.com/zoom/rtms/issues"},"os":["linux","darwin"],"cpu":["x64","arm64"],"dist":{"shasum":"a0c35da0907263c42852ce74fc45755eddec7b04","tarball":"https://registry.npmjs.org/@zoom/rtms/-/rtms-1.0.3.tgz","fileCount":20,"integrity":"sha512-w5t9RYS7fGsCG78xAlq+G/VIWEov/ZlTP9KAiK7mt+g3YoD5iZ4simuLEwVV/9qPW23TTFYc7p/E3r0h6aaA5Q==","signatures":[{"sig":"MEUCIGCmobPghGatNmmyL1bnQanjKpCSoYqgg4LJOCYH4fIlAiEA4o2++GHYNTJAS1NE0OzQJ27q58D18pn9jjCQh6jhCxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zoom%2frtms@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":286662},"main":"./build/Release/index.js","type":"module","types":"rtms.d.ts","binary":{"napi_versions":[9,10]},"engines":{"node":">=20.3.0"},"gitHead":"0fa99bd9ef6b170da3ac7d59e22d07b9ca77f544","scripts":{"install":"node scripts/install.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ef26c95-b2af-4ec0-abb0-482135ed35f8"}},"overrides":{"tar-fs":">=2.1.4","form-data":">=4.0.4"},"repository":{"url":"git+https://github.com/zoom/rtms.git","type":"git"},"_npmVersion":"11.6.2","description":"Node.js Wrapper for the Zoom RTMS C SDK","directories":{},"_nodeVersion":"24.13.0","dependencies":{"tar":"^7.5.6","bindings":"^1.5.0","node-addon-api":"^8.5.0","prebuild-install":"^7.1.3"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.14","cmake-js":"^8.0.0","typescript":"^5.9.3","@types/jest":"^30.0.0","typedoc-plugin-missing-exports":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rtms_1.0.3_1771974610242_0.49644383646581147","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@zoom/rtms","version":"1.1.0","description":"Node.js Wrapper for the Zoom RTMS C SDK","main":"./build/Release/index.js","types":"rtms.d.ts","type":"module","scripts":{"install":"node scripts/install.js"},"dependencies":{"bindings":"^1.5.0","node-addon-api":"^8.5.0","prebuild-install":"^7.1.3","tar":"^7.5.6"},"devDependencies":{"@types/jest":"^30.0.0","cmake-js":"^8.0.0","ts-jest":"^29.4.6","typedoc":"^0.28.14","typedoc-plugin-missing-exports":"^4.1.2","typescript":"^5.9.3"},"overrides":{"tar-fs":">=2.1.4","form-data":">=4.0.4"},"binary":{"napi_versions":[9,10]},"repository":{"type":"git","url":"git+https://github.com/zoom/rtms.git"},"keywords":["zoom","rtms","realtime","media","streaming","real","time","sdk"],"bugs":{"url":"https://github.com/zoom/rtms/issues"},"homepage":"https://github.com/zoom/rtms#readme","author":{"name":"Zoom Communications, Inc."},"contributors":[{"name":"Max Mansfield","email":"max.mansfield@zoom.us","url":"https://www.npmjs.com/~maxmansfield"}],"os":["linux","darwin"],"cpu":["x64","arm64"],"license":"MIT","engines":{"node":">=22.0.0"},"gitHead":"6e904a3fa3646cf9848aa67af1b57dcb282afd59","_id":"@zoom/rtms@1.1.0","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-xxd8OpYjpi9mbjMpv3sh4RX0Q0/lT/5Y/tHR4TR+kyOfz8bNuBxy2C80q+GlyQrDgUyPV+fgI5taI3W9RxsC5g==","shasum":"b8a302cf82b0959e445a7cdc0ce0b4482165b708","tarball":"https://registry.npmjs.org/@zoom/rtms/-/rtms-1.1.0.tgz","fileCount":24,"unpackedSize":405065,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zoom%2frtms@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDuGMQWcGaikEeKjMxGxju4huPTLMF3LO8j5eYYkliNFAiEAngMImbiDgwLTXwKDpUA+QAsaIRpki3HFtbvmnt07veg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ef26c95-b2af-4ec0-abb0-482135ed35f8"}},"directories":{},"maintainers":[{"name":"mh-zoom","email":"michael.harrington@zoom.us"},{"name":"ekaansharora","email":"ekaansh68@gmail.com"},{"name":"tommygaessler","email":"tommy.gaessler@zoom.us"},{"name":"maxmansfield","email":"max.mansfield@zoom.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rtms_1.1.0_1776340695842_0.6320016494834257"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-16T19:08:22.051Z","modified":"2026-04-16T11:58:16.347Z","0.0.1":"2025-06-14T17:54:20.358Z","0.0.2-beta.0":"2025-06-16T19:08:22.313Z","0.0.2-beta.1":"2025-06-16T19:30:45.688Z","0.0.2":"2025-06-16T21:48:36.875Z","0.0.3":"2025-10-28T21:55:24.600Z","0.0.4":"2025-11-05T20:10:20.657Z","0.0.6":"2025-11-25T21:00:18.619Z","0.0.7":"2025-11-25T21:21:11.552Z","1.0.0":"2026-01-27T07:20:39.361Z","1.0.1":"2026-01-27T08:36:00.264Z","1.0.2":"2026-01-30T04:58:13.751Z","1.0.3":"2026-02-24T23:10:10.387Z","1.1.0":"2026-04-16T11:58:15.996Z"},"bugs":{"url":"https://github.com/zoom/rtms/issues"},"author":{"name":"Zoom Communications, Inc."},"license":"MIT","homepage":"https://github.com/zoom/rtms#readme","keywords":["zoom","rtms","realtime","media","streaming","real","time","sdk"],"repository":{"type":"git","url":"git+https://github.com/zoom/rtms.git"},"description":"Node.js Wrapper for the Zoom RTMS C SDK","contributors":[{"name":"Max Mansfield","email":"max.mansfield@zoom.us","url":"https://www.npmjs.com/~maxmansfield"}],"maintainers":[{"name":"mh-zoom","email":"michael.harrington@zoom.us"},{"name":"ekaansharora","email":"ekaansh68@gmail.com"},{"name":"tommygaessler","email":"tommy.gaessler@zoom.us"},{"name":"maxmansfield","email":"max.mansfield@zoom.us"}],"readme":"# Zoom Realtime Media Streams (RTMS) SDK\n\nBindings for real-time audio, video, and transcript streams from Zoom Meetings\n\n[![npm](https://img.shields.io/npm/v/@zoom/rtms)](https://www.npmjs.com/package/@zoom/rtms)\n[![PyPI](https://img.shields.io/pypi/v/rtms)](https://pypi.org/project/rtms/)\n[![docs](https://img.shields.io/badge/docs-online-blue)](https://zoom.github.io/rtms/)\n\n## Supported Products\n\nThe RTMS SDK works with multiple Zoom products:\n\n- **[Zoom Meetings](examples/meetings.md)** - Real-time streams from Zoom Meetings\n- **[Zoom Webinars](examples/webinars.md)** - Broadcast-quality streams from Zoom Webinars\n- **[Zoom Video SDK](examples/videosdk.md)** - Custom video experiences with RTMS access\n- **[Zoom Contact Center](examples/zcc.md)** - Real-time streams from Zoom Contact Center voice engagements\n\nSee [examples/](examples/) for complete guides and code samples.\n\n## Platform Support Status\n\n| Language | Status | Supported Platforms |\n|----------|--------|---------------------|\n| Node.js | ✅ Supported | darwin-arm64, linux-x64 |\n| Python | ✅ Supported | darwin-arm64, linux-x64 |\n| Go | 📅 Planned | - |\n\n> We are actively working to expand both language and platform support in future releases.\n\n## Overview\n\nThe RTMS SDK allows developers to:\n\n- Connect to live Zoom meetings\n- Process real-time media streams (audio, video, transcripts)\n- Receive events about session and participant updates\n- Build applications that interact with Zoom meetings in real-time\n- Handle webhook events with full control over validation and responses\n\n## Installation\n\n### Node.js\n\n**⚠️ Requirements: Node.js >= 22.0.0 (Node.js 24 LTS recommended)**\n\nThe RTMS SDK uses N-API versions 9 and 10, which require Node.js 22.0.0 or higher.\n\n```bash\n# Check your Node.js version\nnode --version\n\n# Install the package\nnpm install @zoom/rtms\n```\n\n#### Using NVM\n**If you're using an older version of Node.js:**\n```bash\n# Using nvm (recommended)\nnvm install 24       # Install Node.js 24 LTS (recommended)\nnvm use 24\n\n# Or install Node.js 22 LTS (minimum supported)\nnvm install 22\nnvm use 22\n\n# Reinstall the package\nnpm install @zoom/rtms\n```\n\n### Python\n\n**⚠️ Requirements: Python >= 3.10 (Python 3.10, 3.11, 3.12, or 3.13)**\n\nThe RTMS SDK requires Python 3.10 or higher.\n\n```bash\n# Check your Python version\npython3 --version\n\n# Install from PyPI\npip install rtms\n```\n\n**If you're using an older version of Python:**\n```bash\n# Using pyenv (recommended)\npyenv install 3.12\npyenv local 3.12\n\n# Or using your system's package manager\n# Ubuntu/Debian: sudo apt install python3.12\n# macOS: brew install python@3.12\n```\n\n## Usage\n\nRegardless of the language that you use the RTMS SDK follows the same basic steps: \n\n - Receive and validate the webhook event\n - Create an RTMS SDK Client \n - Assign data callbacks to that client\n - Join the meeting with the event payload\n\n### Configure\n\nAll SDK languages read from the environment or a `.env` file:\n\n```bash\n# Required - Your Zoom OAuth credentials\nZM_RTMS_CLIENT=your_client_id\nZM_RTMS_SECRET=your_client_secret\n\n# Optional - Webhook server configuration\nZM_RTMS_PORT=8080\nZM_RTMS_PATH=/webhook\n\n# Optional - Logging configuration\nZM_RTMS_LOG_LEVEL=debug          # error, warn, info, debug, trace\nZM_RTMS_LOG_FORMAT=progressive    # progressive or json\nZM_RTMS_LOG_ENABLED=true          # true or false\n```\n\n### Node.js\n\nFor more details, see our [Quickstart App](https://github.com/zoom/rtms-quickstart-js)\n\n```javascript\nimport rtms from \"@zoom/rtms\";\n\n// CommonJS\n// const rtms = require('@zoom/rtms').default;\n\nrtms.onWebhookEvent(({event, payload}) => {\n    if (event !== \"meeting.rtms_started\") return;\n\n    const client = new rtms.Client();\n    \n    client.onAudioData((data, timestamp, metadata) => {\n        console.log(`Received audio: ${data.length} bytes from ${metadata.userName}`);\n    });\n\n    client.join(payload);\n});\n```\n\n> **Production note:** The example above does not validate the incoming webhook signature. Zoom cryptographically signs every webhook — production apps must verify signatures before processing. See [Webhook Validation](examples/node.md#webhook-validation)\n\n### Python \n\nFor more details, see our [Quickstart App](https://github.com/zoom/rtms-quickstart-py)\n\n#### Environment Setup\n\nCreate a virtual environment and install dependencies:\n\n```bash\n# Create virtual environment\npython3 -m venv .venv\n\n# Activate virtual environment\nsource .venv/bin/activate  # On Windows: .venv\\Scripts\\activate\n\n# Install dependencies\npip install python-dotenv\n\n# Install RTMS SDK\npip install rtms\n```\n\n#### Quickstart\n\n\n```python\nimport rtms\nfrom dotenv import load_dotenv\n\nload_dotenv()\n\nclients = {}\n\n\n@rtms.on_webhook_event\ndef handle_webhook(webhook):\n    event = webhook.get('event')\n    payload = webhook.get('payload', {})\n    stream_id = payload.get('rtms_stream_id')\n\n    if event == 'meeting.rtms_stopped':\n        client = clients.pop(stream_id, None)\n        if client:\n            client.leave()\n        return\n\n    if event != 'meeting.rtms_started':\n        return\n\n    client = rtms.Client()\n    clients[stream_id] = client\n\n    @client.on_transcript_data\n    def _(data, _, timestamp, metadata):\n        print(f'[transcript] ts={timestamp} user=\"{metadata.userName}\": {data.decode()}')\n\n    client.join(payload)\n\n\nrtms.run()\n```\n\n> **Production note:** The example above does not validate the incoming webhook signature. Zoom cryptographically signs every webhook — production apps must verify signatures before processing. See [Webhook Validation](examples/python.md#webhook-validation) \n\n## Troubleshooting\n\nIf you encounter issues some of these steps may help.\n\n### 1. Segmentation Fault / Crash on Startup\n\n**Symptoms:**\n- Immediate crash when requiring/importing the module\n- Error message: `Segmentation fault (core dumped)`\n- Stack trace shows `napi_module_register_by_symbol`\n\n**Root Cause:** Using Node.js version < 22.0.0\n\n**Solution:** See [Using NVM](#using-nvm)\n\n\n**Prevention:**\n- Always use Node.js 22.0.0 or higher\n- Use recommended version with `.nvmrc`: `nvm use` (Node.js 24 LTS)\n- Check version before installing: `node --version`\n\n### 2. Platform Support\nVerify you're using a supported platform (darwin-arm64 or linux-x64)\n\n### 3. SDK Files\nEnsure RTMS C++ SDK files are correctly placed in the appropriate lib directory\n\n### 4. Build Mode\nTry both debug and release modes (`npm run debug` or `npm run release`)\n\n### 5. Dependencies\nVerify all prerequisites are installed\n\n### 6. Audio Defaults Mismatch\nThis SDK uses different default audio parameters than the raw RTMS WebSocket protocol for better out-of-the-box quality. If you need to match the WebSocket protocol defaults, see [#92](https://github.com/zoom/rtms/issues/92) for details.\n\n### 7. Identifying Speakers with Mixed Audio Streams\nWhen using `AUDIO_MIXED_STREAM`, the audio callback's metadata does not identify the current speaker since all participants are mixed into a single stream. To identify who is speaking, use the `onActiveSpeakerEvent` callback:\n\n**Node.js:**\n```javascript\nclient.onActiveSpeakerEvent((timestamp, userId, userName) => {\n    console.log(`Active speaker: ${userName} (${userId})`);\n});\n```\n\n**Python:**\n```python\n@client.onActiveSpeakerEvent\ndef on_active_speaker(timestamp, user_id, user_name):\n    print(f\"Active speaker: {user_name} ({user_id})\")\n```\n\nThis callback notifies your application whenever the active speaker changes in the meeting. You can also use the lower-level `onEventEx` function with the active speaker event type directly. See [#80](https://github.com/zoom/rtms/issues/80) for more details.\n\n## Building from Source\n\nThe RTMS SDK can be built from source using either Docker (recommended) or local build tools.\n\n### Using Docker (Recommended)\n\n#### Prerequisites\n- Docker and Docker Compose\n- Zoom RTMS C++ SDK files (contact Zoom for access)\n- Task installed (or use Docker's Task installation)\n\n#### Steps\n```bash\n# Clone the repository\ngit clone https://github.com/zoom/rtms.git\ncd rtms\n\n# Place your SDK library files in the lib/{arch} folder\n# For linux-x64:\ncp ../librtmsdk.0.2025xxxx/librtmsdk.so.0 lib/linux-x64\n\n# For darwin-arm64 (Apple Silicon):\ncp ../librtmsdk.0.2025xxxx/librtmsdk.dylib lib/darwin-arm64\n\n# Place the include files in the proper directory\ncp ../librtmsdk.0.2025xxxx/h/* lib/include\n\n# Build using Docker Compose with Task\ndocker compose run --rm build task build:js    # Build Node.js for linux-x64\ndocker compose run --rm build task build:py    # Build Python wheel for linux-x64\n\n# Or use convenience services\ndocker compose run --rm test-js                # Build and test Node.js\ndocker compose run --rm test-py                # Build and test Python\n```\n\nDocker Compose creates **distributable packages** for linux-x64 (prebuilds for Node.js, wheels for Python). Use this when developing on macOS to build Linux packages for distribution.\n\n### Building Locally\n\n#### Prerequisites\n- Node.js (>= 22.0.0, LTS recommended)\n- Python 3.10+ with pip (for Python build)\n- CMake 3.25+\n- C/C++ build tools\n- Task (go-task) - https://taskfile.dev/installation/\n- Zoom RTMS C++ SDK files (contact Zoom for access)\n\n#### Steps\n```bash\n# Install system dependencies\n## macOS\nbrew install cmake go-task python@3.13 node@24\n\n## Linux\nsudo apt update\nsudo apt install -y cmake python3-full python3-pip npm\nsh -c \"$(curl --location https://taskfile.dev/install.sh)\" -- -d -b ~/.local/bin\n\n# Clone and set up the repository\ngit clone https://github.com/zoom/rtms.git\ncd rtms\n\n# Place SDK files in the appropriate lib directory\n# lib/linux-x64/ or lib/darwin-arm64/\n\n# Verify your environment meets requirements\ntask doctor\n\n# Setup project (fetches SDK if not present, installs dependencies)\ntask setup\n\n# Build for specific language and platform\ntask build:js             # Build Node.js for current platform\ntask build:js:linux       # Build Node.js for Linux (via Docker)\ntask build:js:darwin      # Build Node.js for macOS\n\ntask build:py             # Build Python for current platform\ntask build:py:linux       # Build Python wheel for Linux (via Docker)\ntask build:py:darwin      # Build Python wheel for macOS\n```\n\n### Development Commands\n\nThe project uses Task (go-task) for build orchestration. Commands follow the pattern: `task <action>:<lang>:<platform>`\n\n```bash\n# See all available commands\ntask --list\n\n# Verify environment\ntask doctor                   # Check Node, Python, CMake, Docker versions\n\n# Setup project\ntask setup                    # Fetch SDK and install dependencies\n\n# Build modes\nBUILD_TYPE=Debug task build:js    # Build in debug mode\nBUILD_TYPE=Release task build:js  # Build in release mode (default)\n\n# Debug logging for C++ SDK callbacks\nRTMS_DEBUG=ON task build:js       # Enable verbose callback logging\n```\n\n## For Contributors\n\nFor detailed contribution guidelines, build instructions, and troubleshooting, see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## For Maintainers\n\nIf you're a maintainer looking to build, test, or publish new releases of the RTMS SDK, please refer to [PUBLISHING.md](PUBLISHING.md)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.\n","readmeFilename":"README.md"}