{"_id":"@vonage/video-effects","_rev":"125-73703d8b217402e5cb736bf768e21932","name":"@vonage/video-effects","dist-tags":{"latest":"1.0.0"},"versions":{"0.1.0-rc1.0":{"name":"@vonage/video-effects","version":"0.1.0-rc1.0","author":{"name":"Enrico Portolan"},"license":"MIT","_id":"@vonage/video-effects@0.1.0-rc1.0","maintainers":[{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},{"name":"web-il","email":"web-il@vonage.com"},{"name":"iceberg-team","email":"icebergteam@vonage.com"},{"name":"yinon","email":"yinon.oved@vonage.com"},{"name":"unified_portal","email":"unified_portal_dev@vonage.com"},{"name":"vreporter-npm","email":"vreporter-support@vonage.com"},{"name":"vbcbe","email":"vbc-be@vonage.com"},{"name":"voxip_team","email":"guy.mininberg@vonage.com"},{"name":"gunifydevops","email":"gunifydevops@vonage.com"},{"name":"yuri.guller","email":"gullerya@gmail.com"},{"name":"idanvon","email":"idan.cohen@vonage.com"},{"name":"nexmo-devrel","email":"devrel@vonage.com"},{"name":"vvd","email":"vivid@vonage.com"},{"name":"vonagemeetings","email":"VBC-Meetings@vonage.com"},{"name":"tweinfeld","email":"talw@webwise.co.il"},{"name":"vonage-jenkins","email":"video.api.ops@vonage.com"},{"name":"maikthomas","email":"michaelgeorge.thomas@vonage.com"},{"name":"germangol","email":"german.goldenstein@gmail.com"},{"name":"ashwinvprabhu","email":"ashwin.venkateshprabhu@vonage.com"},{"name":"arivonage","email":"ari.ades@vonage.com"}],"dist":{"shasum":"2903e33d2033accb99461e6f003b409e3f49ea6d","tarball":"https://registry.npmjs.org/@vonage/video-effects/-/video-effects-0.1.0-rc1.0.tgz","fileCount":32,"integrity":"sha512-MJJTgOU7sN/LT2GvePOZT5PSXVHbQRleLv9F1zlgKsSplbu9uMp8VQPr67U/b10tX5VrLP6gxuscj5nfQF+Esw==","signatures":[{"sig":"MEQCIHJ5uzk5n+pu8EgPRqcFFN359J9R8oUMs0OePCeaM4W4AiBNH5/ZvEKG+LT5xkejMLaePxuPoe2VXAS4FDbluNq0DQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1029638},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14"},"gitHead":"5be7917e22a4e349b2117aa17a49edfb889ebebb","scripts":{"lint":"tslint -c ./tslint.json --project ./tsconfig.json -t stylish","build":"tsc","clean":"rimraf dist","watch":"npm run build:version && nodemon","prepare":"npm run clean && npm run build && npm run build-umd-prod","build-umd":"webpack && npm run copy:library-to-sample-app","build-umd-prod":"NODE_ENV=production webpack","copy:js-assets":"mkdir -p ./dist/build/ && cp -r ./assets/* ./dist/build/","copy:library-to-sample-app":"mkdir -p ./sample-app/library && cp ./dist/umd/vonage-video-effects.js ./sample-app/library/vonage-video-effects.js"},"_npmUser":{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},"_npmVersion":"6.14.11","description":"Library to add video effects","directories":{},"_nodeVersion":"14.16.0","dependencies":{"loglevel":"^1.7.1","@tensorflow/tfjs-core":"^3.9.0","@tensorflow/tfjs-backend-cpu":"^3.3.0","@tensorflow/tfjs-backend-webgl":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","tsify":"^5.0.4","rimraf":"^3.0.2","tslint":"^6.1.3","nodemon":"^2.0.13","ts-node":"^10.3.0","webpack":"^5.33.2","ts-loader":"^9.0.0","typescript":"^4.4.4","webpack-cli":"^4.7.2"},"_npmOperationalInternal":{"tmp":"tmp/video-effects_0.1.0-rc1.0_1635867055437_0.8628654243818021","host":"s3://npm-registry-packages"}},"0.1.0-rc2.0":{"name":"@vonage/video-effects","version":"0.1.0-rc2.0","author":{"name":"Enrico Portolan"},"license":"MIT","_id":"@vonage/video-effects@0.1.0-rc2.0","maintainers":[{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},{"name":"web-il","email":"web-il@vonage.com"},{"name":"iceberg-team","email":"icebergteam@vonage.com"},{"name":"yinon","email":"yinon.oved@vonage.com"},{"name":"unified_portal","email":"unified_portal_dev@vonage.com"},{"name":"vreporter-npm","email":"vreporter-support@vonage.com"},{"name":"vbcbe","email":"vbc-be@vonage.com"},{"name":"voxip_team","email":"guy.mininberg@vonage.com"},{"name":"gunifydevops","email":"gunifydevops@vonage.com"},{"name":"yuri.guller","email":"gullerya@gmail.com"},{"name":"idanvon","email":"idan.cohen@vonage.com"},{"name":"nexmo-devrel","email":"devrel@vonage.com"},{"name":"vvd","email":"vivid@vonage.com"},{"name":"vonagemeetings","email":"VBC-Meetings@vonage.com"},{"name":"tweinfeld","email":"talw@webwise.co.il"},{"name":"vonage-jenkins","email":"video.api.ops@vonage.com"},{"name":"maikthomas","email":"michaelgeorge.thomas@vonage.com"},{"name":"germangol","email":"german.goldenstein@gmail.com"},{"name":"ashwinvprabhu","email":"ashwin.venkateshprabhu@vonage.com"},{"name":"arivonage","email":"ari.ades@vonage.com"}],"homepage":"https://github.com/nexmo-se/video-api-effects#readme","bugs":{"url":"https://github.com/nexmo-se/video-api-effects/issues"},"dist":{"shasum":"7ba354eeaf6444bc1a08f9321c1339f8ff801ab3","tarball":"https://registry.npmjs.org/@vonage/video-effects/-/video-effects-0.1.0-rc2.0.tgz","fileCount":32,"integrity":"sha512-OUyDUGwpWy8/JhMPekeDfP+qYD6/2eA2qxBa3D1mxO38Qqj+dL/W3g20ZF9Y9zO8ZCyYcje4mOarghBmIXCVZw==","signatures":[{"sig":"MEUCIAdlXC0VC58sa4YhMVVNaLKmd6y4U8A36SGzMSya4a1TAiEAvB4kiqFsgnDcOJWaSWpAlCGDXvq4h94eR0WsHxSEisQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1031939},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14"},"gitHead":"bef3df8fb8137d68be4e7b8cc68ea265a6f5db51","scripts":{"lint":"tslint -c ./tslint.json --project ./tsconfig.json -t stylish","build":"tsc","clean":"rimraf dist","watch":"npm run build:version && nodemon","prepare":"npm run clean && npm run build && npm run build-umd-prod","prelease":"npm version prerelease --preid=rc2","build-umd":"webpack && npm run copy:library-to-sample-app","build-umd-prod":"NODE_ENV=production webpack","copy:js-assets":"mkdir -p ./dist/build/ && cp -r ./assets/* ./dist/build/","copy:library-to-sample-app":"mkdir -p ./sample-app/library && cp ./dist/umd/vonage-video-effects.js ./sample-app/library/vonage-video-effects.js"},"_npmUser":{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},"repository":{"url":"git+https://github.com/nexmo-se/video-api-effects.git"},"_npmVersion":"6.14.11","description":"Library to add video effects","directories":{},"_nodeVersion":"14.16.0","dependencies":{"loglevel":"^1.7.1","@tensorflow/tfjs-core":"^3.9.0","@tensorflow/tfjs-backend-cpu":"^3.3.0","@tensorflow/tfjs-backend-webgl":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","tsify":"^5.0.4","rimraf":"^3.0.2","tslint":"^6.1.3","nodemon":"^2.0.13","ts-node":"^10.3.0","webpack":"^5.33.2","ts-loader":"^9.0.0","typescript":"^4.4.4","webpack-cli":"^4.7.2"},"_npmOperationalInternal":{"tmp":"tmp/video-effects_0.1.0-rc2.0_1636019208173_0.35472186806686357","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@vonage/video-effects","version":"0.1.0","author":{"name":"Enrico Portolan"},"license":"MIT","_id":"@vonage/video-effects@0.1.0","maintainers":[{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},{"name":"web-il","email":"web-il@vonage.com"},{"name":"iceberg-team","email":"icebergteam@vonage.com"},{"name":"yinon","email":"yinon.oved@vonage.com"},{"name":"unified_portal","email":"unified_portal_dev@vonage.com"},{"name":"vreporter-npm","email":"vreporter-support@vonage.com"},{"name":"vbcbe","email":"vbc-be@vonage.com"},{"name":"voxip_team","email":"guy.mininberg@vonage.com"},{"name":"gunifydevops","email":"gunifydevops@vonage.com"},{"name":"yuri.guller","email":"gullerya@gmail.com"},{"name":"idanvon","email":"idan.cohen@vonage.com"},{"name":"nexmo-devrel","email":"devrel@vonage.com"},{"name":"vvd","email":"vivid@vonage.com"},{"name":"vonagemeetings","email":"VBC-Meetings@vonage.com"},{"name":"tweinfeld","email":"talw@webwise.co.il"},{"name":"vonage-jenkins","email":"video.api.ops@vonage.com"},{"name":"maikthomas","email":"michaelgeorge.thomas@vonage.com"},{"name":"germangol","email":"german.goldenstein@gmail.com"},{"name":"ashwinvprabhu","email":"ashwin.venkateshprabhu@vonage.com"},{"name":"arivonage","email":"ari.ades@vonage.com"}],"homepage":"https://github.com/nexmo-se/video-api-effects#readme","bugs":{"url":"https://github.com/nexmo-se/video-api-effects/issues"},"dist":{"shasum":"39deb8c43d175aa6ea45617156ea66af64a4713b","tarball":"https://registry.npmjs.org/@vonage/video-effects/-/video-effects-0.1.0.tgz","fileCount":33,"integrity":"sha512-+YLd2XPLwqpe1CBdTDAnBrT42vo4zqb0gxjHeImYDoK6klREPszsjYKgASMIn11QKWi95XS0YI2O/vTh9BgA+Q==","signatures":[{"sig":"MEYCIQDWNHcKonkn11BjRPgx5yFbnp8ThPvByRpQHZsfMBhJmAIhAMberi2iyB8J7A+yAyReUQSIAaJ2hLuqPpTmgVVKDPft","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1032587},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14"},"gitHead":"1c67597d2ca8d4d49509005aefb447aa1b37df7a","scripts":{"lint":"tslint -c ./tslint.json --project ./tsconfig.json -t stylish","build":"tsc","clean":"rimraf dist","watch":"npm run build:version && nodemon","prepare":"npm run clean && npm run build && npm run build-umd-prod","prelease":"npm version prerelease --preid=rc2","build-umd":"webpack && npm run copy:library-to-sample-app","build-umd-prod":"NODE_ENV=production webpack","copy:js-assets":"mkdir -p ./dist/build/ && cp -r ./assets/* ./dist/build/","copy:library-to-sample-app":"mkdir -p ./sample-app/library && cp ./dist/umd/vonage-video-effects.js ./sample-app/library/vonage-video-effects.js"},"_npmUser":{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},"repository":{"url":"git+https://github.com/nexmo-se/video-api-effects.git"},"_npmVersion":"6.14.11","description":"Library to add video effects","directories":{},"_nodeVersion":"14.16.0","dependencies":{"loglevel":"^1.7.1","@tensorflow/tfjs-core":"^3.9.0","@tensorflow/tfjs-backend-cpu":"^3.3.0","@tensorflow/tfjs-backend-webgl":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","tsify":"^5.0.4","rimraf":"^3.0.2","tslint":"^6.1.3","nodemon":"^2.0.13","ts-node":"^10.3.0","webpack":"^5.33.2","ts-loader":"^9.0.0","typescript":"^4.4.4","webpack-cli":"^4.7.2"},"_npmOperationalInternal":{"tmp":"tmp/video-effects_0.1.0_1636025130898_0.7293120127785484","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@vonage/video-effects","version":"0.2.0","author":{"name":"Enrico Portolan"},"license":"MIT","_id":"@vonage/video-effects@0.2.0","maintainers":[{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},{"name":"web-il","email":"web-il@vonage.com"},{"name":"iceberg-team","email":"icebergteam@vonage.com"},{"name":"yinon","email":"yinon.oved@vonage.com"},{"name":"unified_portal","email":"unified_portal_dev@vonage.com"},{"name":"vreporter-npm","email":"vreporter-support@vonage.com"},{"name":"vbcbe","email":"vbc-be@vonage.com"},{"name":"voxip_team","email":"guy.mininberg@vonage.com"},{"name":"gunifydevops","email":"gunifydevops@vonage.com"},{"name":"yuri.guller","email":"gullerya@gmail.com"},{"name":"idanvon","email":"idan.cohen@vonage.com"},{"name":"nexmo-devrel","email":"devrel@vonage.com"},{"name":"vvd","email":"vivid@vonage.com"},{"name":"vonagemeetings","email":"VBC-Meetings@vonage.com"},{"name":"tweinfeld","email":"talw@webwise.co.il"},{"name":"vonage-jenkins","email":"video.api.ops@vonage.com"},{"name":"maikthomas","email":"michaelgeorge.thomas@vonage.com"},{"name":"germangol","email":"german.goldenstein@gmail.com"},{"name":"ashwinvprabhu","email":"ashwin.venkateshprabhu@vonage.com"},{"name":"arivonage","email":"ari.ades@vonage.com"}],"homepage":"https://github.com/nexmo-se/video-api-effects#readme","bugs":{"url":"https://github.com/nexmo-se/video-api-effects/issues"},"dist":{"shasum":"f0a34e18db57725c0f41646733257c051a4a0af3","tarball":"https://registry.npmjs.org/@vonage/video-effects/-/video-effects-0.2.0.tgz","fileCount":33,"integrity":"sha512-gph8EeZqCj5Y4fo51k3f4lHW4SFZPsDu+mjlz3AHiWYIvwD6T1HO2z+nhwgIvcqavXdbD2EKK6FHG9sVJF8h8A==","signatures":[{"sig":"MEYCIQCEs8F8hDeP5eFKfbEkupqDRi2GOVHrG0WyrCKCtQMVLgIhAMwfr+flVoNcsIYN6nUIA1JS5QQwZHfAqOOac8e7QrXS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1034443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhm3NdCRA9TVsSAnZWagAA+cAP/At4zs2Wnfwt5vmvTcax\nMP7ZMUTElEurvX0bH2ZbV2YDETkL4KJxHqp+vuVbX266m3/165NiFQ1ErX9m\ngqDWmj1zTYxnGipULpJS7e8tQePYzqK+6k7U+oOlA3GXMPEech4CK3YUTOV5\nDmMcPWGACItGfMUZ3zM4ymbh7w1XoQLj8mUeaR7GPuEN1b+oSTlTkUTxBB0r\n302tXdweQTCIcv93ZfLuQRTbfyUFPT7Hv2Lfcjv7L98Yb+5w6suETKm6O4Q9\n/DAhWPRGO8PDzQBV7gdIrim6arAgcjY2wBDSw2b+tuK/Su6HWanas/b9GvBe\nM/58gHDkMcvaaAtAsVPQJMxwCLwPz02XD+dEFPsgOJvzp93w5irKQYs0R1xk\nHC6A3QOJxFDRdh6GGZZogXjQCQMMkZ0v8QuNOPdUpaldOtg9Jbwe8qX8eqtf\nO/Pmj7YWilpOESHug4+ZhcFMpaI7toZ19mlBVEX8884XNPG8aQf69GLM9OJk\n5Hr6cvRSBNtlONxuzjgWjLHrhc2M8sqISbgmLfHXDvgyN/JgY6kWnCm53lx6\nDC0gHzmo64+w5Pv/FMU7EJkcpvtQ2b6hQ894ZxMRb/Gqyn+N5pgjRPf+rFeg\noEpYVNP72CqTzer+BLIb19MtpbUEbajpJvnXAyjk0CmrDE6J3qTZLil2GdNF\nFvTi\r\n=No81\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14"},"gitHead":"7623384ecdf751e1c913c387a2be6333270622a9","scripts":{"lint":"tslint -c ./tslint.json --project ./tsconfig.json -t stylish","build":"tsc","clean":"rimraf dist","watch":"npm run build:version && nodemon","prepare":"npm run clean && npm run build && npm run build-umd-prod","prelease":"npm version prerelease --preid=rc2","build-umd":"webpack && npm run copy:library-to-sample-app","build-umd-prod":"NODE_ENV=production webpack","copy:js-assets":"mkdir -p ./dist/build/ && cp -r ./assets/* ./dist/build/","copy:library-to-sample-app":"mkdir -p ./sample-app/library && cp ./dist/umd/vonage-video-effects.js ./sample-app/library/vonage-video-effects.js"},"_npmUser":{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},"repository":{"url":"git+https://github.com/nexmo-se/video-api-effects.git"},"_npmVersion":"6.14.11","description":"Library to add video effects","directories":{},"_nodeVersion":"14.16.0","dependencies":{"loglevel":"^1.7.1","@tensorflow/tfjs-core":"^3.9.0","@tensorflow/tfjs-backend-cpu":"^3.3.0","@tensorflow/tfjs-backend-webgl":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","tsify":"^5.0.4","rimraf":"^3.0.2","tslint":"^6.1.3","nodemon":"^2.0.13","ts-node":"^10.3.0","webpack":"^5.33.2","ts-loader":"^9.0.0","typescript":"^4.4.4","webpack-cli":"^4.7.2"},"_npmOperationalInternal":{"tmp":"tmp/video-effects_0.2.0_1637577565038_0.0207998260960911","host":"s3://npm-registry-packages"}},"1.0.0-rc2":{"name":"@vonage/video-effects","version":"1.0.0-rc2","author":{"name":"Enrico Portolan"},"license":"MIT","_id":"@vonage/video-effects@1.0.0-rc2","maintainers":[{"name":"v-kpheng","email":"Kongpheng.Nanthavongsa@vonage.com"},{"name":"vgai-dev","email":"vgai-studio-developers@vonage.com"},{"name":"nitzanhardon","email":"nitzan.hardon@vonage.com"},{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},{"name":"web-il","email":"web-il@vonage.com"},{"name":"iceberg-team","email":"icebergteam@vonage.com"},{"name":"yinon","email":"yinon.oved@vonage.com"},{"name":"unified_portal","email":"unified_portal_dev@vonage.com"},{"name":"vreporter-npm","email":"vreporter-support@vonage.com"},{"name":"vbcbe","email":"vbc-be@vonage.com"},{"name":"voxip_team","email":"guy.mininberg@vonage.com"},{"name":"gunifydevops","email":"gunifydevops@vonage.com"},{"name":"yuri.guller","email":"gullerya@gmail.com"},{"name":"idanvon","email":"idan.cohen@vonage.com"},{"name":"nexmo-devrel","email":"devrel@vonage.com"},{"name":"vvd","email":"vivid@vonage.com"},{"name":"vonagemeetings","email":"VBC-Meetings@vonage.com"},{"name":"tweinfeld","email":"talw@webwise.co.il"},{"name":"vonage-jenkins","email":"video.api.ops@vonage.com"},{"name":"maikthomas","email":"michaelgeorge.thomas@vonage.com"},{"name":"germangol","email":"german.goldenstein@gmail.com"},{"name":"ashwinvprabhu","email":"ashwin.venkateshprabhu@vonage.com"},{"name":"arivonage","email":"ari.ades@vonage.com"}],"homepage":"https://github.com/nexmo-se/video-api-effects#readme","bugs":{"url":"https://github.com/nexmo-se/video-api-effects/issues"},"dist":{"shasum":"56c60d403a2d1be247cae744f459ab9afef19124","tarball":"https://registry.npmjs.org/@vonage/video-effects/-/video-effects-1.0.0-rc2.tgz","fileCount":43,"integrity":"sha512-cK5jYbEaHF/AOzzFAr/UQj5AI8fRxWTAk4y1Klq3X43c9dgDcv0qMtJVYK77vuJ9R2HkHvSLBWVEYwEPaTIg9g==","signatures":[{"sig":"MEQCID1TRoTlXvYvj2ztYPDGCI6CfRqJ486rskU5QATzGQJNAiAhHmFZhRPhUCqxZaT5hqQ0t/u+xAz2G7GNO5jkl9EniQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6442078,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSrlqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOZg/9EXzqdhRPtKIpAvloRHcqiMIJfZwiXRpzD6xr8YlIfG4vmIhn\r\nDHINS+deVes4iacZSr3juZ52T2cpOvhtEG5gZYv7abQx5CQtfnd422Jpyj+6\r\nfUwG90u6d7brSBfIen0CEPcxroQJd1b5plOzX48nMyZgZErhQuKMftAkHapj\r\nWt5bQ0/8McpzVDir1VkXhPSXzEjmJNq/4OHfr4K1bmWiX67nnToLZqesI3Mm\r\nQJgoU69zkUcNv0zy8sXrZzF/dk8GhtdkVZcwCkVpsuHuDiueIP9sylIW2FIg\r\ntqpi6HGmdRewOLSHYbBiGudtLO1k+oVwzbta/XONcvyL9BrmGQz2VY7fipe9\r\nNam6WDRhmzxnl63DOCM94uNLN0Q36FA2j0fe5mnfDvcQvwMm00XoIUXCul3l\r\nNhPQIFZaHdQIOnXqUp+IcGB/dkcV1Qm3MkeO8YTlx5mIaYqfQhUDpSLsD8M9\r\nck6z44A+SPZkvAnBBVMr0zMGIlIuxYkCO4k1dYlB+1TdCyUTdexWcFAp+ZJI\r\neAkfFp+ek3h/wiekbw9IB02NWFARlYJA+G1pwZ9KYaTplJtj3ULAnrypXIh4\r\nRgkcQIJZTYUw2KTKYY5tPYbPKmHps924kAB12FCVEXD2S7oaCCwMhC5415nE\r\ns9BuNr92uxs9Qd5YQFkunVJnYSkvW+B1xxs=\r\n=FzoR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14"},"gitHead":"d6005496ceeae542d4e1f29527ad97102feeffb9","scripts":{"lint":"tslint -c ./tslint.json --project ./tsconfig.json -t stylish","build":"tsc","clean":"rimraf dist","watch":"npm run build && nodemon","prepare":"npm run clean && npm run build && npm run build-umd-prod","prelease":"npm version prerelease --preid=rc2","build-umd":"webpack && npm run copy:library-to-sample-app && npm run copy:assets-to-sample-app","build-umd-prod":"NODE_ENV=production webpack","copy:js-assets":"mkdir -p ./dist/build/ && cp -r ./assets/* ./dist/build/","copy:assets-to-sample-app":"mkdir -p ./sample-app/assets/ && cp -r ./assets/* ./sample-app/assets/","copy:library-to-sample-app":"mkdir -p ./sample-app/library/ && cp -r ./dist/umd/* ./sample-app/library/"},"_npmUser":{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},"repository":{"url":"git+https://github.com/nexmo-se/video-api-effects.git"},"_npmVersion":"8.6.0","description":"Library to add video effects","directories":{},"_nodeVersion":"14.16.0","dependencies":{"loglevel":"^1.7.1","@tensorflow/tfjs-core":"^3.9.0","@tensorflow/tfjs-backend-cpu":"^3.3.0","@tensorflow/tfjs-backend-webgl":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","tsify":"^5.0.4","rimraf":"^3.0.2","tslint":"^6.1.3","nodemon":"^2.0.13","ts-node":"^10.3.0","webpack":"^5.33.2","ts-loader":"^9.0.0","typescript":"^4.4.4","webpack-cli":"^4.7.2"},"_npmOperationalInternal":{"tmp":"tmp/video-effects_1.0.0-rc2_1649064297812_0.9540696665976962","host":"s3://npm-registry-packages"}},"1.0.0-rc3":{"name":"@vonage/video-effects","version":"1.0.0-rc3","author":{"name":"Enrico Portolan"},"license":"MIT","_id":"@vonage/video-effects@1.0.0-rc3","maintainers":[{"name":"v-kpheng","email":"Kongpheng.Nanthavongsa@vonage.com"},{"name":"vgai-dev","email":"vgai-studio-developers@vonage.com"},{"name":"nitzanhardon","email":"nitzan.hardon@vonage.com"},{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},{"name":"web-il","email":"web-il@vonage.com"},{"name":"iceberg-team","email":"icebergteam@vonage.com"},{"name":"yinon","email":"yinon.oved@vonage.com"},{"name":"unified_portal","email":"unified_portal_dev@vonage.com"},{"name":"vreporter-npm","email":"vreporter-support@vonage.com"},{"name":"vbcbe","email":"vbc-be@vonage.com"},{"name":"voxip_team","email":"guy.mininberg@vonage.com"},{"name":"gunifydevops","email":"gunifydevops@vonage.com"},{"name":"yuri.guller","email":"gullerya@gmail.com"},{"name":"idanvon","email":"idan.cohen@vonage.com"},{"name":"nexmo-devrel","email":"devrel@vonage.com"},{"name":"vvd","email":"vivid@vonage.com"},{"name":"vonagemeetings","email":"VBC-Meetings@vonage.com"},{"name":"tweinfeld","email":"talw@webwise.co.il"},{"name":"vonage-jenkins","email":"video.api.ops@vonage.com"},{"name":"maikthomas","email":"michaelgeorge.thomas@vonage.com"},{"name":"germangol","email":"german.goldenstein@gmail.com"},{"name":"ashwinvprabhu","email":"ashwin.venkateshprabhu@vonage.com"},{"name":"arivonage","email":"ari.ades@vonage.com"}],"homepage":"https://github.com/nexmo-se/video-api-effects#readme","bugs":{"url":"https://github.com/nexmo-se/video-api-effects/issues"},"dist":{"shasum":"324795468ce9d62569d862b18742363588962c45","tarball":"https://registry.npmjs.org/@vonage/video-effects/-/video-effects-1.0.0-rc3.tgz","fileCount":43,"integrity":"sha512-bk82ecZReCz/iS3cEFd4QfQSWPtKgOj913FXdRRaq7g/bK0sJrQXxH5GJuM25XmhY1eCWYumPC+6AWJj3/DWqw==","signatures":[{"sig":"MEUCIC91UbNaNsqTDV8wl4IlEmYNHMh97NS1ENc3n91dAFULAiEA5l1p+QX1/3eQr3BvJblTxpeV/UOi682tl9Y5dUhUe3Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":198822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVDLLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSUQ/9FPUAg7G0Wj0GCXFMnbo3k6qa7CsZi0D8HOv4ghW59A9RM8pb\r\nWZ3j9G368EQmRZZdZ6sj5HKe0u8LsAEl3+Pgdqd1kxIqzlN2T0Q96Wp/RmsP\r\nKeuI7mi2/x7UDAmAyeXEpVUQi35NoG+/GCxnVwQWWjCgqGqm5CQS8FJ/9fFD\r\ncWbsucnl6oP+6vIwvVLR01qdHPzRivDfLOnx2CC+qc1P+cHKqtgG4C1zNIYk\r\nppgRD475m7jKHZe7bdawLEb5GWMw1NBQyoV/4+MTLDHdMIgMH05MQ+iwxVOb\r\n8D+oY5bhyykha+PCCgypccRStMuXAJ9i2O6sSd7H+JNp78nQAxo7zPOQLn9R\r\nut98d9Ip6SM0RFiMkNc85FKSuj3vS08g70T3t45UqDfQTTXYgymHNOyAleZw\r\nju4OVVZxHLYUArSULURJx1+17ZwOAL4hdKY3cjxW87McmIo7MmTmo7AlyZy7\r\nJuwdUFuVOpD7w6c92A3xE2ZtIkJW8mtHTRdMQlRd0MExjcuhhrOynE/todNV\r\n4UHwVNYfdSVXbPOOCY14VXQIzqKggnaHPR19OWiLrIW6//+2IsUhXJxKZVcC\r\nkBHK6u4oH3lKBdnx/bQigN884c69nOXQFDSE+sPTRjI9pVWfSxGARToxf9cE\r\naLRxjej19bZIdDFUYwRtRCSTUbm616cJXNI=\r\n=/pYB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14"},"gitHead":"9a929f1873f4c17d8844cd006fa51f9e605129ec","scripts":{"lint":"tslint -c ./tslint.json --project ./tsconfig.json -t stylish","build":"tsc","clean":"rimraf dist","watch":"npm run build && nodemon","prepare":"npm run clean && npm run build && npm run build-umd-prod","prelease":"npm version prerelease --preid=rc2","build-umd":"webpack && npm run copy:library-to-sample-app && npm run copy:assets-to-sample-app","build-umd-prod":"NODE_ENV=production webpack","copy:js-assets":"mkdir -p ./dist/build/ && cp -r ./assets/* ./dist/build/","copy:assets-to-sample-app":"mkdir -p ./sample-app/assets/ && cp -r ./assets/* ./sample-app/assets/","copy:library-to-sample-app":"mkdir -p ./sample-app/library/ && cp -r ./dist/umd/* ./sample-app/library/"},"_npmUser":{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},"repository":{"url":"git+https://github.com/nexmo-se/video-api-effects.git"},"_npmVersion":"8.6.0","description":"Library to add video effects","directories":{},"_nodeVersion":"14.16.0","dependencies":{"loglevel":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","tsify":"^5.0.4","rimraf":"^3.0.2","tslint":"^6.1.3","nodemon":"^2.0.13","ts-node":"^10.3.0","webpack":"^5.33.2","ts-loader":"^9.0.0","typescript":"^4.4.4","webpack-cli":"^4.7.2"},"_npmOperationalInternal":{"tmp":"tmp/video-effects_1.0.0-rc3_1649685195621_0.07899361433212482","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@vonage/video-effects","version":"1.0.0","author":{"name":"Enrico Portolan"},"license":"MIT","_id":"@vonage/video-effects@1.0.0","maintainers":[{"name":"javiermolsanz","email":"javier.molinasanz@vonage.com"},{"name":"agus-vonage","email":"agus.barra@vonage.com"},{"name":"yonatan.kra","email":"yonatan.kra@vonage.com"},{"name":"v-kpheng","email":"Kongpheng.Nanthavongsa@vonage.com"},{"name":"vgai-dev","email":"vgai-studio-developers@vonage.com"},{"name":"nitzanhardon","email":"nitzan.hardon@vonage.com"},{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},{"name":"web-il","email":"web-il@vonage.com"},{"name":"iceberg-team","email":"icebergteam@vonage.com"},{"name":"yinon","email":"yinon.oved@vonage.com"},{"name":"unified_portal","email":"unified_portal_dev@vonage.com"},{"name":"vreporter-npm","email":"vreporter-support@vonage.com"},{"name":"vbcbe","email":"vbc-be@vonage.com"},{"name":"voxip_team","email":"guy.mininberg@vonage.com"},{"name":"gunifydevops","email":"gunifydevops@vonage.com"},{"name":"yuri.guller","email":"gullerya@gmail.com"},{"name":"idanvon","email":"idan.cohen@vonage.com"},{"name":"nexmo-devrel","email":"devrel@vonage.com"},{"name":"vvd","email":"vivid@vonage.com"},{"name":"vonagemeetings","email":"VBC-Meetings@vonage.com"},{"name":"tweinfeld","email":"talw@webwise.co.il"},{"name":"vonage-jenkins","email":"video.api.ops@vonage.com"},{"name":"maikthomas","email":"michaelgeorge.thomas@vonage.com"},{"name":"germangol","email":"german.goldenstein@gmail.com"},{"name":"ashwinvprabhu","email":"ashwin.venkateshprabhu@vonage.com"},{"name":"arivonage","email":"ari.ades@vonage.com"}],"homepage":"https://github.com/nexmo-se/video-api-effects#readme","bugs":{"url":"https://github.com/nexmo-se/video-api-effects/issues"},"dist":{"shasum":"cdf0ea838355983c58517a9a503877c7afe9741a","tarball":"https://registry.npmjs.org/@vonage/video-effects/-/video-effects-1.0.0.tgz","fileCount":43,"integrity":"sha512-qjniwwQWoQK4pN8qTK2rq8pff9K7uqxuVfP98GYUxIWw/0Z5JYWeP1GLcLehY+1vv+KwB1T0R62FBdmiOxFbvA==","signatures":[{"sig":"MEQCIBQ5emVCVSOevqc6lT7GJR4XpTWykuRB2r7+b7slH39kAiAfCGzA5S7x18ArFEN5t/vLcTSD/oizHACSaAcF7T5d1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":194315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixZtbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJEhAAmwXoeolCuqivpWhYHap3uKfgFzHMsZsLxrIUPZI9JKDLP6Eo\r\naKlgpNzHc2BrCv/BwZnd2vRdtiDSIXh8dx4Beyo3V5pwwXm4ZOBthXzYJiFp\r\nCAbuPj4FxfE35ezGS6VGUTDhhP5xG1g9CssdXoejo05ZS6/tJCRldNOiOhlq\r\n/NEGVOR9EIBFwVoWNyQ6wK9cMp2ra5mC2qjw3AGPJdUqi7ER20N7/or4GzBU\r\nPbkgpv5DnPU9lcVR8SfWpPuMEqJjLhGPlF4scDlOFsdJtgMfezi00jV55Wde\r\nc/9JGXQJSdrnoiaOfGcJhlW/aqqIS/eU6GoxjOX518+2z8ummgCewXs+t1oj\r\n91w1wDu+jt5+2jnPqw2TTfd5m96UAJtrorvl1/tn1jgirPIRY54nozu+Ec/R\r\nDXvmvPFMPDXSfOZAEvSlH95ULzcoazqWR9nRmKVrXqGyt8u0KQU9OX0oX2Qa\r\nOh7Esl18okKpPGRmAxFnqdL29vY8pteeV2sb2LRM1VcB3Dak4k2dSqLASI8D\r\nJG0v9XR/iXb0BKbT1XlDuU3WjpmHrvhbAx58rMcg5e3n2VAmnqOrQXWX/VGG\r\nfE07P04CQvbC1CWIDyCcjv3SWDQpNxbtllPW5CrtwmX/ppfNJCaH6QWwtqVI\r\nLW6fBJ5cvKETxUNmLe5kvyhA2JmQH1b4XPA=\r\n=TNzK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14"},"gitHead":"b28b950d78e0e69e7bef42c0492099d18d5f1371","scripts":{"lint":"tslint -c ./tslint.json --project ./tsconfig.json -t stylish","build":"tsc","clean":"rimraf dist","watch":"npm run build && nodemon","prepare":"npm run clean && npm run build && npm run build-umd-prod","prelease":"npm version prerelease --preid=rc2","build-umd":"webpack && npm run copy:library-to-sample-app && npm run copy:assets-to-sample-app","build-umd-prod":"NODE_ENV=production webpack","copy:js-assets":"mkdir -p ./dist/build/ && cp -r ./assets/* ./dist/build/","copy:assets-to-sample-app":"mkdir -p ./sample-app/assets/ && cp -r ./assets/* ./sample-app/assets/","copy:library-to-sample-app":"mkdir -p ./sample-app/library/ && cp -r ./dist/umd/* ./sample-app/library/"},"_npmUser":{"name":"eportolanvonage","email":"enrico.portolan@vonage.com"},"repository":{"url":"git+https://github.com/nexmo-se/video-api-effects.git"},"_npmVersion":"8.12.1","description":"Library to add video effects","directories":{},"_nodeVersion":"18.4.0","dependencies":{"loglevel":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","tsify":"^5.0.4","rimraf":"^3.0.2","tslint":"^6.1.3","nodemon":"^2.0.13","ts-node":"^10.3.0","webpack":"^5.33.2","ts-loader":"^9.0.0","typescript":"^4.4.4","webpack-cli":"^4.7.2"},"_npmOperationalInternal":{"tmp":"tmp/video-effects_1.0.0_1657117531176_0.08683349476757418","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-11-02T15:30:55.436Z","modified":"2026-09-03T04:38:31.646Z","0.1.0-rc1.0":"2021-11-02T15:30:55.663Z","0.1.0-rc2.0":"2021-11-04T09:46:48.341Z","0.1.0":"2021-11-04T11:25:31.013Z","0.2.0":"2021-11-22T10:39:25.238Z","1.0.0-rc2":"2022-04-04T09:24:58.033Z","1.0.0-rc3":"2022-04-11T13:53:15.980Z","1.0.0":"2022-07-06T14:25:31.368Z"},"bugs":{"url":"https://github.com/nexmo-se/video-api-effects/issues"},"author":{"name":"Enrico Portolan"},"license":"MIT","homepage":"https://github.com/nexmo-se/video-api-effects#readme","repository":{"url":"git+https://github.com/nexmo-se/video-api-effects.git"},"description":"Library to add video effects","maintainers":[{"email":"web-il@vonage.com","name":"web-il"},{"email":"icebergteam@vonage.com","name":"iceberg-team"},{"email":"unified_portal_dev@vonage.com","name":"unified_portal"},{"email":"vreporter-support@vonage.com","name":"vreporter-npm"},{"email":"vbc-be@vonage.com","name":"vbcbe"},{"email":"gullerya@gmail.com","name":"yuri.guller"},{"email":"idan.cohen@vonage.com","name":"idanvon"},{"email":"devrel@vonage.com","name":"nexmo-devrel"},{"email":"vivid@vonage.com","name":"vvd"},{"email":"VBC-Meetings@vonage.com","name":"vonagemeetings"},{"email":"video.api.ops@vonage.com","name":"vonage-jenkins"},{"email":"andreina.dasilvacabral@vonage.com","name":"adasilvacabral"},{"email":"sarvesh.bisht@vonage.com","name":"sarvesh.bisht"},{"email":"vgai-studio-developers@vonage.com","name":"vgai-dev"},{"email":"vcp_webrtc@vonage.com","name":"vonage_client_media_processing"},{"email":"or.abramovich@vonage.com","name":"or.cpc"},{"email":"lily.lihovodov@vonage.com","name":"llihovodov"},{"email":"daniel.sapir@vonage.com","name":"daniel-sapir"},{"email":"Aviad.Houri@vonage.com","name":"aviadhouri.va"},{"email":"ignacio.delacruz@vonage.com","name":"idelacruz"},{"email":"frontier@vonage.com","name":"vonage-frontier"},{"email":"hila.klein@vonage.com","name":"hilakl"},{"email":"Saurabh.Kulkarni@vonage.com","name":"saurabh.vonage"},{"email":"tamir.nahum@vonage.com","name":"leppelin"},{"email":"antoni.silvestrepadros@vonage.com","name":"asilvonage"},{"email":"Gayathri.Pojula@vonage.com","name":"gpojula"},{"email":"egor.limenko@vonage.com","name":"elimenko.vonage"},{"email":"kanav.bhatia@vonage.com","name":"kanav_vonage"},{"email":"omri.zilber@vonage.com","name":"omrizilber"},{"email":"marceli.olszewski@vonage.com","name":"molszewski_v"},{"email":"sailu.vejella@vonage.com","name":"sailusha"},{"email":"ragul.palanisamy@vonage.com","name":"rpalanisamy-vonage"},{"email":"Valentyn.Bohdan@vonage.com","name":"vbohdan_vonage"},{"email":"andrew.bolles@vonage.com","name":"abolles"},{"email":"gorka.revillafernandez@vonage.com","name":"gorka.vonage"},{"email":"bharath.ps@vonage.com","name":"bharath-vonage"},{"email":"mor.tubul@vonage.com","name":"morvonage"},{"email":"ilan.aradbilavsky@vonage.com","name":"ilan.aradbilavsky.at.vonage.com"},{"email":"chuck.reeves@vonage.com","name":"vonreeves"},{"email":"avi.dantes@vonage.com","name":"avi.dantes"},{"email":"michal.galin@vonage.com","name":"mgalin"},{"email":"jakub.hajduk@vonage.com","name":"jhajduk.vonage"},{"email":"Nitsan.unger@vonage.com","name":"nitsanungerfrontier"},{"email":"vladimir.quezada@vonage.com","name":"vquezada"},{"email":"alessio.didomenico@vonage.com","name":"adidomenico"},{"email":"sathish.r@vonage.com","name":"sathishr-vonage"},{"email":"pamu.pravallika@vonage.com","name":"pravallika-pamu"},{"email":"avijit.bagdi@vonage.com","name":"abagdi"},{"email":"anuradh.lankapalli@vonage.com","name":"anuradhlankapalli"},{"email":"hen.rosenberg@vonage.com","name":"hrosenberg"},{"email":"gokul.narayanan@vonage.com","name":"gokul-vonage"},{"email":"alistair.slowe@vonage.com","name":"aslowe-vcc"},{"email":"vbc-web-cicd@vonage.com","name":"vbc-web-cicd-bot"},{"email":"marina.serranomontes@vonage.com","name":"mserranomontes"},{"email":"Ariel.Bar@vonage.com","name":"ariel12955"},{"email":"Francisco.Becerra@vonage.com","name":"franbecerra"},{"email":"Uri.Haim@vonage.com","name":"urihaim"},{"email":"manuel.veranieto@vonage.com","name":"mvera_vonage"},{"email":"mike.zhylevych@vonage.com","name":"mike.zhylevych"},{"email":"mithun.prabhu@vonage.com","name":"mprabhuvonage"},{"email":"sharad.srivastava@vonage.com","name":"sharad-srivastava2"},{"email":"lukasz.pilarski@vonage.com","name":"lucas_pilarski"},{"email":"manish.ranjan@vonage.com","name":"manish-ranjan07"},{"email":"shubham.rajput@vonage.com","name":"srajput0909"},{"email":"pablo.villenamontes@vonage.com","name":"pvillenamontes"},{"email":"diogo.simoes@vonage.com","name":"dsimoes2"},{"email":"manel.jimeno@vonage.com","name":"manel_vonage"},{"email":"joseantonio.oliveraortega@vonage.com","name":"joliveraortega"}],"readme":"# Vonage Video API - Video Effects\n\nThe Vonage Video Effect library adds effects to a camera video stream that you can use\nwith [Vonage Video API](https://www.npmjs.com/package/@opentok/client).\n\nThe main feature is the background blur applied to the person's background\n\n## Live Example\n\nYou can see a working\nexample: [https://vonage-video-effect-sample-app.herokuapp.com/](https://vonage-video-effect-sample-app.herokuapp.com/)\n\n## Prerequisites\n\n* [Vonage Video API SDK](https://www.npmjs.com/package/@opentok/client)\n\n## Installation\n\n### NPM\n\nYou can install directly from npm.\n\n```\nnpm install @vonage/video-effects\n```\n\nUsing this method, you can import `vonage-video-effects` like so:\n\n```ts\nimport * as VideoEffects from '@vonage/video-effects';\n```\n\n### Script tag\n\nYou can also copy `vonage-video-effects.js` from the `dist/build` folder and include it directly in your web app using\na `<script>` tag.\n\n ```html\n\n<script src=\"https://my-server-path/vonage-video-effects.js\"></script>\n ```\n\nUsing this method, `vonage-video-effects.js` will set a browser global:\n\n ```ts\n const VideoEffects = OT.VideoEffect;\n\n```\n\n### Build the library locally\n\nYou can build the library locally following these steps:\n\n1. `npm install`\n2. `npm run build-umd`\n3. `cd sample-app` and `npm install`. The app server will start on port 3000\n\n### Assets\n\nThe VideoEffect library uses WebAssembly to run TensorFlow Lite for person segmentation. You need to serve the tflite\nmodel and binaries so they can be loaded properly. These files can be downloaded from the [assets](./assets) folder.\n\nThese effects run TensorFlow Lite using MediaPipe Selfie Segmentation Landscape Model and requires Chrome's WebAssembly\nSIMD support in order to achieve the best performance. WebAssembly SIMD can be turned on by visiting chrome://flags on\nversions 84 through 90. This will be enabled by default on Chrome 91+.\n\n### Background Effect Processor\n\nThe BackgroundEffectProcessor allows you to dynamically add different background effects, enabling and disabling them\nand making sure everything is applied to the stream being published by the OpenTok video API.\n\n| Option      | Type | Required | Description\n| ----------- | ----------- | --- | ----------- |\n| assetsPath  | String       | Yes | The path where the assets are loaded. These files can be downloaded from the dist/build folder. |\n| frameRate   | Number| No | The frames per second (fps) to use for the output stream. (default 30)\n\nExample:\n\n```js\nconst effectProcessor = new BackgroundEffectProcessor({\n    assetsPath: 'https://your-server-url.com/assets',\n    maskBlurRadius: 5,\n    frameRate: 30\n});\nawait effectProcessor.loadEffect(someEffect);\n\n// pause effect processing\neffectProcessor.pauseStreamProcessing(true);\n// set and dynamically change the input stream the effects are applied to\neffectProcessor.setInputStream(yourCameraSteam);\n// enable / disable the effect. If disabled the input stream will simply be forwarded to the output\neffectProcessor.enableEffect(true);\n// the output stream that has the effect applied to it and will dynamically change based on the properties above.\neffectProcessor.outputStream;\n```\n\nCurrently, the BackgroundEffectProcessor allows you to use the following 2 effects.\n\n### Background Blur Effect\n\nThe BackgroundBlurEffect applies a blur filter on the background in each video frame and leaves the person untouched.\nThe constructor has the following options:\n\n| Option      | Type | Required | Description\n| ----------- | ----------- | --- | ----------- |\n| blurFilterRadius   | Number| No | The background blur filter radius to use in pixels. (default 15)\n| maskBlurRadius   | Number| No | The blur radius to use when smoothing out the edges of the person's mask (default 5)\n\nExample:\n\n```js\nconst effectProcessor = new BackgroundEffectProcessor({...});\nawait effectProcessor.loadEffect(new BackgroundBlurEffect({\n    blurFilterRadius: 15\n}));\n```\n\n### Virtual Background Effect\n\nThe Virtual Background Effect applies a virtual background in each video frame and leaves the person untouched. The\nconstructor has the following options:\n\n| Option      | Type | Required | Description\n| ----------- | ----------- | --- | ----------- |\n| virtualBackground.backgroundType   | String | Yes | Type of virtual background. The only supported type is \"image\".\n| virtualBackground.backgroundImage   | HTMLImageElement | Yes | The HTMLImageElement representing the current background image.\n| fitType   | Number| No | The ImageFit for positioning of the background image in the viewport. Available options: \"Contain\", \"Cover\", \"Fill\" or \"None\"\n| maskBlurRadius   | Number| No | The blur radius to use when smoothing out the edges of the person's mask (default 5)\n\nExample:\n\n```js\n\nasync function loadImage(name) {\n    return new Promise((resolve) => {\n        const image = document.createElement('img');\n        image.crossOrigin = 'anonymous';\n        image.src = `backgrounds/${name}.jpg`;\n        image.onload = () => resolve(image);\n    });\n};\n\nconst effectProcessor = new BackgroundEffectProcessor({...});\nconst backgroundImage = await loadImage('vonage_background');\nawait effectProcessor.loadEffect(new VirtualBackgroundEffect({\n    virtualBackground: {\n        backgroundType: 'image',\n        backgroundImage\n    }\n}));\n```\n\nThe library adds effects on a MediaStream object. The developer needs to create the MediaStream and pass it to the\nlibrary. You can see an example on the previous paragraph.\n\n### Bringing it all together\n\nA simple example for a full integration with the opentok video API.\n\n```js\nimport OT from \"@opentok/client\"\nimport {\n    BackgroundEffectProcessor,\n    BackgroundBlurEffect,\n    VirtualBackgroundEffect,\n} from \"@vonage/video-effects\";\n\n\nasync function getLocalMedia() {\n    try {\n        return await OT.getUserMedia({audioSource: null, videoSource: true});\n    } catch (err) {\n        console.error('OTGetUserMedia - err', err);\n    }\n}\n\nasync function createBackgroudEffectProcessor() {\n    const effectProcessor = new BackgroundEffectsProcessor({assetsPath: 'https://your-server-url.com/assets'});\n    effectProcessor.setInputStream(await getLocalMedia());\n    return effectProcessor;\n}\n\nasync function publishToSession(effectProcessor) {\n    // Create the publisher and publish into the session\n    let publisher = OT.initPublisher(\n        'publisher',\n        {\n            videoSource: effectProcessor.outputStream.getVideoTracks()[0],\n            width: 640,\n            height: 480,\n            insertMode: 'append'\n        },\n        (err) => {\n            console.log('Publisher Created');\n        }\n    );\n    session = OT.initSession(apikey, sessionId);\n    session.on('streamCreated', (stream) => {\n        session.subscribe(stream, (err) => {\n            if (err) {\n                console.log('Error while subscribing', stream);\n            }\n            console.log('Subscribed to ', stream);\n        });\n    });\n    session.on(\"streamPropertyChanged\", event => {\n        if (event.stream == publisher.stream) {\n            if (event.changedProperty === \"hasVideo\") {\n                // make sure we pause effect processing while we are not publishing video\n                effectProcessor.pauseStreamProcessing(!event.event.newValue);\n            }\n        }\n    });\n    session.connect(token, (err) => {\n        if (err) {\n            console.log('Error while connecting to the session');\n        }\n        console.log('Session Connected');\n        session.publish(publisher, (errPublisher) => {\n            if (errPublisher) {\n                console.log('Error while publishing into the session');\n            }\n            console.log('Successfully published the stream');\n        });\n    });\n\n    return publisher;\n}\n\n\n// putting it all together\nconst effectProcessor = await createBackgroudEffectProcessor();\nawait effectProcessor.loadEffect(new BackgroundBlurEffect());\nconst publisher = await publishToSession(effectProcessor);\n\n// enable disable the effect\nfunction toggleBackgroundEffect() {\n    effectProcessor.enableEffect(!effectProcessor.effectEnabled);\n}\n\n// dynamically switch to blur effect\nasync function switchToBlurEffect(blurRadius) {\n    await effectProcessor.loadEffect(new BackgroundBlurEffect({blurFilterRadius: blurRadius}));\n}\n\n// dynamically switch to background image effect\nasync function switchToImageEffect(imageUrl) {\n    const image = await new Promise((resolve) => {\n        const img = document.createElement('img');\n        img.crossOrigin = 'anonymous';\n        img.onload = () => resolve(img);\n        img.src = imageUrl;\n    });\n    await effectProcessor.loadEffect(new VirtualBackgroundEffect({\n        virtualBackground: {\n            backgroundType: 'image',\n            backgroundImage: image\n        }\n    }));\n}\n\n// change the input stream e.g. when switching to a different camera\nfunction switchCamera(newCameraStream) {\n    effectProcessor.setInputStream(newCameraStream);\n}\n\n// clean up everything\nfunction destory() {\n    effectProcessor.destroy();\n    publisher.destroy();\n}\n\n```\n\n\n\n","readmeFilename":"README.md"}