{"_id":"@deepprediction/rrweb-plugin-canvas-webrtc-replay","_rev":"7-421abf7407a3cf2fd18410fe2dae172e","name":"@deepprediction/rrweb-plugin-canvas-webrtc-replay","dist-tags":{"alpha":"2.0.0-alpha.18","latest":"2.0.0-alpha.24"},"versions":{"2.0.0-alpha.18":{"name":"@deepprediction/rrweb-plugin-canvas-webrtc-replay","version":"2.0.0-alpha.18","keywords":["rrweb"],"author":{"name":"justin@recordonce.com"},"license":"MIT","_id":"@deepprediction/rrweb-plugin-canvas-webrtc-replay@2.0.0-alpha.18","maintainers":[{"name":"dschmetterling","email":"david@deepprediction.ai"},{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"}],"homepage":"https://github.com/rrweb-io/rrweb#readme","bugs":{"url":"https://github.com/rrweb-io/rrweb/issues"},"dist":{"shasum":"c66bc00f20199fac999b7af934c4a79a91697476","tarball":"https://registry.npmjs.org/@deepprediction/rrweb-plugin-canvas-webrtc-replay/-/rrweb-plugin-canvas-webrtc-replay-2.0.0-alpha.18.tgz","fileCount":2,"integrity":"sha512-RdwQTpuyxmv/uazBwYF6EcSzMjUMygKgR86dkngZqz46CSRhRmNy9N9tQPzRXuXR8IH6ZzNEPrgpu6fZtR20qQ==","signatures":[{"sig":"MEUCIQD0Zb/7RAi/27Kw63AH/WInnfybUVhjhsqNmimANSIkegIgYP7aB5qPjmv1ZQ2FaNIxI8LNcw6189MKR/YM5hTaGTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14514},"main":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.cjs","type":"module","unpkg":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.cjs","module":"./dist/rrweb-plugin-canvas-webrtc-replay.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.cjs"}}},"gitHead":"3090f195c6c02e680af4cc09085a361e9a6b82c3","scripts":{"dev":"vite build --watch","build":"yarn turbo run prepublish","prepublish":"tsc -noEmit && vite build","check-types":"tsc -noEmit"},"typings":"dist/index.d.ts","_npmUser":{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"},"repository":{"url":"git+https://github.com/rrweb-io/rrweb.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin that live streams contents of canvas elements via webrtc","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.3.1","rrweb":"^2.0.0-alpha.18","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1"},"peerDependencies":{"rrweb":"^2.0.0-alpha.18"},"_npmOperationalInternal":{"tmp":"tmp/rrweb-plugin-canvas-webrtc-replay_2.0.0-alpha.18_1744813393132_0.3888037473059116","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-alpha.19":{"name":"@deepprediction/rrweb-plugin-canvas-webrtc-replay","version":"2.0.0-alpha.19","keywords":["rrweb"],"author":{"name":"justin@recordonce.com"},"license":"MIT","_id":"@deepprediction/rrweb-plugin-canvas-webrtc-replay@2.0.0-alpha.19","maintainers":[{"name":"dschmetterling","email":"david@deepprediction.ai"},{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"}],"homepage":"https://github.com/rrweb-io/rrweb#readme","bugs":{"url":"https://github.com/rrweb-io/rrweb/issues"},"dist":{"shasum":"66536f0000ca432bdbc6c9bb0121133d4d26cca6","tarball":"https://registry.npmjs.org/@deepprediction/rrweb-plugin-canvas-webrtc-replay/-/rrweb-plugin-canvas-webrtc-replay-2.0.0-alpha.19.tgz","fileCount":12,"integrity":"sha512-pUjyay5IwxFINb7mml87MKfovc4GT6RpsBCMNLrHhK0hEl0Wdn3twWd3+P14NNMNgPAcEUyTV1/rvtZMbJB/zw==","signatures":[{"sig":"MEUCICeHPEEfdLQCh+KxyWoZd3ppoj072odGE07tt2qc3DBJAiEAkmse1zJgsVroJhc1CeCkRArpwjvg6VkUe5XvnpW5dMs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386421},"main":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","type":"module","unpkg":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","module":"./dist/rrweb-plugin-canvas-webrtc-replay.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.cjs"}}},"gitHead":"7fcd9a91a8ff1c57fe901e2abeaf500a6f9b6485","scripts":{"dev":"vite build --watch","build":"yarn turbo run prepublish","prepublish":"tsc -noEmit && vite build","check-types":"tsc -noEmit"},"typings":"dist/index.d.ts","_npmUser":{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"},"repository":{"url":"git+https://github.com/rrweb-io/rrweb.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin that live streams contents of canvas elements via webrtc","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.3.1","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@deepprediction/rrweb":"^2.0.0-alpha.19"},"peerDependencies":{"@deepprediction/rrweb":"^2.0.0-alpha.19"},"_npmOperationalInternal":{"tmp":"tmp/rrweb-plugin-canvas-webrtc-replay_2.0.0-alpha.19_1745599223682_0.24505436995276542","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-alpha.20":{"name":"@deepprediction/rrweb-plugin-canvas-webrtc-replay","version":"2.0.0-alpha.20","keywords":["rrweb"],"author":{"name":"justin@recordonce.com"},"license":"MIT","_id":"@deepprediction/rrweb-plugin-canvas-webrtc-replay@2.0.0-alpha.20","maintainers":[{"name":"dschmetterling","email":"david@deepprediction.ai"},{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"}],"homepage":"https://github.com/rrweb-io/rrweb#readme","bugs":{"url":"https://github.com/rrweb-io/rrweb/issues"},"dist":{"shasum":"c655b0267cd796d566316cc3fec8dda870ba6003","tarball":"https://registry.npmjs.org/@deepprediction/rrweb-plugin-canvas-webrtc-replay/-/rrweb-plugin-canvas-webrtc-replay-2.0.0-alpha.20.tgz","fileCount":12,"integrity":"sha512-IRZnzd7Ye0WCMZM3D+K+qjqTRe1BNuJdzrNrb4iZ3cZ4jC7FlO5KFR9RyzfCeGbcv7pGB8nG+2RMVjzZtM0/dQ==","signatures":[{"sig":"MEQCIC0ug0mBlk+Aww19USiBPIRsRLJOOPAzykwizt6vw/m8AiBGrN4RamP2oso0QLlqjLkI2OdPUctLNeb/eEUKQeTjeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386421},"main":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","type":"module","unpkg":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","module":"./dist/rrweb-plugin-canvas-webrtc-replay.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.cjs"}}},"gitHead":"7fcd9a91a8ff1c57fe901e2abeaf500a6f9b6485","scripts":{"dev":"vite build --watch","build":"yarn turbo run prepublish","prepublish":"tsc -noEmit && vite build","check-types":"tsc -noEmit"},"typings":"dist/index.d.ts","_npmUser":{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"},"repository":{"url":"git+https://github.com/rrweb-io/rrweb.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin that live streams contents of canvas elements via webrtc","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.3.1","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@deepprediction/rrweb":"^2.0.0-alpha.20"},"peerDependencies":{"@deepprediction/rrweb":"^2.0.0-alpha.20"},"_npmOperationalInternal":{"tmp":"tmp/rrweb-plugin-canvas-webrtc-replay_2.0.0-alpha.20_1745599325198_0.20977613091743952","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-alpha.21":{"name":"@deepprediction/rrweb-plugin-canvas-webrtc-replay","version":"2.0.0-alpha.21","keywords":["rrweb"],"author":{"name":"justin@recordonce.com"},"license":"MIT","_id":"@deepprediction/rrweb-plugin-canvas-webrtc-replay@2.0.0-alpha.21","maintainers":[{"name":"dschmetterling","email":"david@deepprediction.ai"},{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"}],"homepage":"https://github.com/rrweb-io/rrweb#readme","bugs":{"url":"https://github.com/rrweb-io/rrweb/issues"},"dist":{"shasum":"488bd1142b44214b02de55a46879890543909d42","tarball":"https://registry.npmjs.org/@deepprediction/rrweb-plugin-canvas-webrtc-replay/-/rrweb-plugin-canvas-webrtc-replay-2.0.0-alpha.21.tgz","fileCount":12,"integrity":"sha512-5uwRcE6oHCVThVCUDUmv8ZtRBCTCsnX1+wFYmXW4xecit0UMMYCFR0yP5hNqcyxgzi2waE++A9Euv5QzDNTnBA==","signatures":[{"sig":"MEUCIQCfLcF+w5t3QgGMcjXxse4BEBQoXFNmzCm2RvONjFdw7AIgXFddrgzoC+rTLTBuCfVEFDm4sw9wxhFoboIxYVpI/SU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386643},"main":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","type":"module","unpkg":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","module":"./dist/rrweb-plugin-canvas-webrtc-replay.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.cjs"}}},"gitHead":"f9ce482bbe91eb99c9983b56dfe4553774d5fb6f","scripts":{"dev":"vite build --watch","build":"yarn turbo run prepublish","prepublish":"tsc -noEmit && vite build","check-types":"tsc -noEmit"},"typings":"dist/index.d.ts","_npmUser":{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"},"repository":{"url":"git+https://github.com/rrweb-io/rrweb.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin that live streams contents of canvas elements via webrtc","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.3.1","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@deepprediction/rrweb":"^2.0.0-alpha.21"},"peerDependencies":{"@deepprediction/rrweb":"^2.0.0-alpha.21"},"_npmOperationalInternal":{"tmp":"tmp/rrweb-plugin-canvas-webrtc-replay_2.0.0-alpha.21_1745831229716_0.7627371657935473","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-alpha.22":{"name":"@deepprediction/rrweb-plugin-canvas-webrtc-replay","version":"2.0.0-alpha.22","keywords":["rrweb"],"author":{"name":"justin@recordonce.com"},"license":"MIT","_id":"@deepprediction/rrweb-plugin-canvas-webrtc-replay@2.0.0-alpha.22","maintainers":[{"name":"dschmetterling","email":"david@deepprediction.ai"},{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"}],"homepage":"https://github.com/rrweb-io/rrweb#readme","bugs":{"url":"https://github.com/rrweb-io/rrweb/issues"},"dist":{"shasum":"285ce2ec9b0abc42c1099a3951404eb989b167ec","tarball":"https://registry.npmjs.org/@deepprediction/rrweb-plugin-canvas-webrtc-replay/-/rrweb-plugin-canvas-webrtc-replay-2.0.0-alpha.22.tgz","fileCount":12,"integrity":"sha512-cAQ1ABnFLzU+85d6WU9npWoSckmgeUX1z0u+pq2yh7hM8cG/UrGVJiYVt+qKmrBjKf8N8d+gcxhjoBxamzjycg==","signatures":[{"sig":"MEUCIFMHvtciteDSvEJMTGAA12jTabuSKjChnASYjkncCOLUAiEAsi/3mwupHv+4oQ11yJ52y1Z3b35q++lvWUiVsl+fne0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386643},"main":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","type":"module","unpkg":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","module":"./dist/rrweb-plugin-canvas-webrtc-replay.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.cjs"}}},"gitHead":"ab3655c769563db6dfdb84eed950f489a3bf471b","scripts":{"dev":"vite build --watch","build":"yarn turbo run prepublish","prepublish":"tsc -noEmit && vite build","check-types":"tsc -noEmit"},"typings":"dist/index.d.ts","_npmUser":{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"},"repository":{"url":"git+https://github.com/rrweb-io/rrweb.git","type":"git"},"_npmVersion":"11.4.1","description":"Plugin that live streams contents of canvas elements via webrtc","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.3.1","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@deepprediction/rrweb":"^2.0.0-alpha.22"},"peerDependencies":{"@deepprediction/rrweb":"^2.0.0-alpha.22"},"_npmOperationalInternal":{"tmp":"tmp/rrweb-plugin-canvas-webrtc-replay_2.0.0-alpha.22_1748506735853_0.6756973728517321","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-alpha.23":{"name":"@deepprediction/rrweb-plugin-canvas-webrtc-replay","version":"2.0.0-alpha.23","keywords":["rrweb"],"author":{"name":"justin@recordonce.com"},"license":"MIT","_id":"@deepprediction/rrweb-plugin-canvas-webrtc-replay@2.0.0-alpha.23","maintainers":[{"name":"dschmetterling","email":"david@deepprediction.ai"},{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"}],"homepage":"https://github.com/rrweb-io/rrweb#readme","bugs":{"url":"https://github.com/rrweb-io/rrweb/issues"},"dist":{"shasum":"2e62258fcc27cc43ce2054fe71e6d9db05e4d8d9","tarball":"https://registry.npmjs.org/@deepprediction/rrweb-plugin-canvas-webrtc-replay/-/rrweb-plugin-canvas-webrtc-replay-2.0.0-alpha.23.tgz","fileCount":12,"integrity":"sha512-we2zEM3L8c/Eu7z0ksFKloU3sevxObViAuA7dr/hWlowR7wpwxZkRq5PHS07BECZnFWYyKReobx4LqiZcTVwdQ==","signatures":[{"sig":"MEUCIQCfKeuHJX0sBaVwaQbMy0qC4ijdByTx/qFva/NwVIhasAIgdBlYaMbMBQnnxsZx1iILwkCjAfMrSmNdt6JMss9pUSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386643},"main":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","type":"module","unpkg":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","module":"./dist/rrweb-plugin-canvas-webrtc-replay.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.cjs"}}},"gitHead":"4f973cfb986f87a92bb78de7e5bdc8554d5f3b15","scripts":{"dev":"vite build --watch","build":"yarn turbo run prepublish","prepublish":"tsc -noEmit && vite build","check-types":"tsc -noEmit"},"typings":"dist/index.d.ts","_npmUser":{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"},"repository":{"url":"git+https://github.com/rrweb-io/rrweb.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin that live streams contents of canvas elements via webrtc","directories":{},"_nodeVersion":"20.19.3","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.3.1","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@deepprediction/rrweb":"^2.0.0-alpha.23"},"peerDependencies":{"@deepprediction/rrweb":"^2.0.0-alpha.23"},"_npmOperationalInternal":{"tmp":"tmp/rrweb-plugin-canvas-webrtc-replay_2.0.0-alpha.23_1757708157110_0.6889095016658104","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-alpha.24":{"name":"@deepprediction/rrweb-plugin-canvas-webrtc-replay","version":"2.0.0-alpha.24","description":"Plugin that live streams contents of canvas elements via webrtc","type":"module","main":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","module":"./dist/rrweb-plugin-canvas-webrtc-replay.js","unpkg":"./dist/rrweb-plugin-canvas-webrtc-replay.umd.js","typings":"dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/rrweb-plugin-canvas-webrtc-replay.cjs"}}},"scripts":{"dev":"vite build --watch","build":"yarn turbo run prepublish","check-types":"tsc -noEmit","prepublish":"tsc -noEmit && vite build"},"repository":{"type":"git","url":"git+https://github.com/rrweb-io/rrweb.git"},"keywords":["rrweb"],"author":{"name":"justin@recordonce.com"},"license":"MIT","bugs":{"url":"https://github.com/rrweb-io/rrweb/issues"},"homepage":"https://github.com/rrweb-io/rrweb#readme","devDependencies":{"@deepprediction/rrweb":"^2.0.0-alpha.24","typescript":"^5.4.5","vite":"^5.3.1","vite-plugin-dts":"^3.9.1"},"peerDependencies":{"@deepprediction/rrweb":"^2.0.0-alpha.24"},"_id":"@deepprediction/rrweb-plugin-canvas-webrtc-replay@2.0.0-alpha.24","gitHead":"f864177597d2c94d240bbbf62dccaf7cf03ff346","_nodeVersion":"20.19.3","_npmVersion":"10.8.2","dist":{"integrity":"sha512-ZAYoDc3jgBvd6DINmUuDOmxxU/6/7OXJZ/EyeJvrNvAJD48ZqV8mP6zmoXTaC+wzvHBxG6Rjk7MpELG2qDjviA==","shasum":"b910b7b303127af45b0532cca089aed010cd2ac5","tarball":"https://registry.npmjs.org/@deepprediction/rrweb-plugin-canvas-webrtc-replay/-/rrweb-plugin-canvas-webrtc-replay-2.0.0-alpha.24.tgz","fileCount":12,"unpackedSize":386643,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID9rSpICtH7k2feeaciAiFst32GQNVF2ZMKmRPsk/KcvAiEA2Lp2sXd2n+AoWvbRnOZHEEatt8ygHCf6tNuKhMKLp34="}]},"_npmUser":{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"},"directories":{},"maintainers":[{"name":"dschmetterling","email":"david@deepprediction.ai"},{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rrweb-plugin-canvas-webrtc-replay_2.0.0-alpha.24_1757709128034_0.24799880840820965"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-16T14:23:12.997Z","modified":"2025-09-12T20:32:08.477Z","2.0.0-alpha.18":"2025-04-16T14:23:13.310Z","2.0.0-alpha.19":"2025-04-25T16:40:23.879Z","2.0.0-alpha.20":"2025-04-25T16:42:05.403Z","2.0.0-alpha.21":"2025-04-28T09:07:09.871Z","2.0.0-alpha.22":"2025-05-29T08:18:56.051Z","2.0.0-alpha.23":"2025-09-12T20:15:57.320Z","2.0.0-alpha.24":"2025-09-12T20:32:08.244Z"},"bugs":{"url":"https://github.com/rrweb-io/rrweb/issues"},"author":{"name":"justin@recordonce.com"},"license":"MIT","homepage":"https://github.com/rrweb-io/rrweb#readme","keywords":["rrweb"],"repository":{"type":"git","url":"git+https://github.com/rrweb-io/rrweb.git"},"description":"Plugin that live streams contents of canvas elements via webrtc","maintainers":[{"name":"dschmetterling","email":"david@deepprediction.ai"},{"name":"eoghanmurray","email":"eoghanomurray@gmail.com"}],"readme":"# rrweb canvas webrtc plugin\n\nPlugin that live streams contents of canvas elements via webrtc\n\n## Example of live streaming via `yarn live-stream`\n\nhttps://user-images.githubusercontent.com/4106/186701616-fd71a107-5d53-423c-ba09-0395a3a0252f.mov\n\n## Instructions\n\n### Record side\n\n```js\n// Record side\n\nimport rrweb from 'rrweb';\nimport { RRWebPluginCanvasWebRTCRecord } from '@deepprediction/rrweb-plugin-canvas-webrtc-record';\n\nconst webRTCRecordPlugin = new RRWebPluginCanvasWebRTCRecord({\n  signalSendCallback: (msg) => {\n    // provides webrtc sdp offer signal & connect message\n    // make sure you send this to the replayer's `webRTCReplayPlugin.signalReceive(signal)`\n    sendSignalToReplayer(msg); // example of function that sends the signal to the replayer\n  },\n});\n\nrrweb.record({\n  emit: (event) => {\n    // send these events to the `replayer.addEvent(event)`, how you do that is up to you\n    // you can send them to a server for example which can then send them to the replayer\n    sendEventToReplayer(event); // example of function that sends the event to the replayer\n  },\n  plugins: [\n    // add the plugin to the list of plugins, and initialize it via `.initPlugin()`\n    webRTCRecordPlugin.initPlugin(),\n  ],\n  recordCanvas: false, // we don't want canvas recording turned on, we're going to do that via the plugin\n});\n```\n\n### Replay Side\n\n```js\n// Replay side\nimport rrweb from 'rrweb';\nimport { RRWebPluginCanvasWebRTCReplay } from '@deepprediction/rrweb-plugin-canvas-webrtc-replay';\n\nconst webRTCReplayPlugin = new RRWebPluginCanvasWebRTCReplay({\n  canvasFoundCallback(canvas, context) {\n    console.log('canvas', canvas);\n    // send the canvas id to `webRTCRecordPlugin.setupStream(id)`, how you do that is up to you\n    // you can send them to a server for example which can then send them to the replayer\n    sendCanvasIdToRecordScript(context.id); // example of function that sends the id to the record script\n  },\n  signalSendCallback(signal) {\n    // provides webrtc sdp offer signal & connect message\n    // make sure you send this to the record script's `webRTCRecordPlugin.signalReceive(signal)`\n    sendSignalToRecordScript(signal); // example of function that sends the signal to the record script\n  },\n});\n\nconst replayer = new rrweb.Replayer([], {\n  UNSAFE_replayCanvas: true, // turn canvas replay on!\n  liveMode: true, // live mode is needed to stream events to the replayer\n  plugins: [webRTCReplayPlugin.initPlugin()],\n});\nreplayer.startLive(); // start the replayer in live mode\n\nreplayer.addEvent(event); // call this whenever an event is received from the record script\n```\n\n## More info\n\nhttps://github.com/rrweb-io/rrweb/pull/976\n\n## Sponsors\n\n[Become a sponsor](https://opencollective.com/rrweb#sponsor) and get your logo on our README on Github with a link to your site.\n\n### Gold Sponsors 🥇\n\n<div dir=\"auto\">\n\n<a href=\"https://opencollective.com/rrweb/tiers/gold-sponsor/0/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/gold-sponsor/0/avatar.svg?requireActive=false&avatarHeight=225\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/gold-sponsor/1/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/gold-sponsor/1/avatar.svg?requireActive=false&avatarHeight=225\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/gold-sponsor/2/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/gold-sponsor/2/avatar.svg?requireActive=false&avatarHeight=225\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/gold-sponsor/3/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/gold-sponsor/3/avatar.svg?requireActive=false&avatarHeight=225\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/gold-sponsor/4/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/gold-sponsor/4/avatar.svg?requireActive=false&avatarHeight=225\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/gold-sponsor/5/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/gold-sponsor/5/avatar.svg?requireActive=false&avatarHeight=225\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/gold-sponsor/6/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/gold-sponsor/6/avatar.svg?requireActive=false&avatarHeight=225\" alt=\"sponsor\"></a>\n\n</div>\n\n### Silver Sponsors 🥈\n\n<div dir=\"auto\">\n\n<a href=\"https://opencollective.com/rrweb/tiers/silver-sponsor/0/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/silver-sponsor/0/avatar.svg?requireActive=false&avatarHeight=158\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/silver-sponsor/1/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/silver-sponsor/1/avatar.svg?requireActive=false&avatarHeight=158\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/silver-sponsor/2/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/silver-sponsor/2/avatar.svg?requireActive=false&avatarHeight=158\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/silver-sponsor/3/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/silver-sponsor/3/avatar.svg?requireActive=false&avatarHeight=158\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/silver-sponsor/4/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/silver-sponsor/4/avatar.svg?requireActive=false&avatarHeight=158\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/silver-sponsor/5/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/silver-sponsor/5/avatar.svg?requireActive=false&avatarHeight=158\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/silver-sponsor/6/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/silver-sponsor/6/avatar.svg?requireActive=false&avatarHeight=158\" alt=\"sponsor\"></a>\n\n</div>\n\n### Bronze Sponsors 🥉\n\n<div dir=\"auto\">\n\n<a href=\"https://opencollective.com/rrweb/tiers/sponsors/0/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/sponsors/0/avatar.svg?requireActive=false&avatarHeight=70\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/sponsors/1/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/sponsors/1/avatar.svg?requireActive=false&avatarHeight=70\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/sponsors/2/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/sponsors/2/avatar.svg?requireActive=false&avatarHeight=70\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/sponsors/3/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/sponsors/3/avatar.svg?requireActive=false&avatarHeight=70\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/sponsors/4/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/sponsors/4/avatar.svg?requireActive=false&avatarHeight=70\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/sponsors/5/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/sponsors/5/avatar.svg?requireActive=false&avatarHeight=70\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/sponsors/6/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/sponsors/6/avatar.svg?requireActive=false&avatarHeight=70\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/sponsors/7/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/sponsors/7/avatar.svg?requireActive=false&avatarHeight=70\" alt=\"sponsor\"></a>\n<a href=\"https://opencollective.com/rrweb/tiers/sponsors/8/website?requireActive=false\" target=\"_blank\"><img src=\"https://opencollective.com/rrweb/tiers/sponsors/8/avatar.svg?requireActive=false&avatarHeight=70\" alt=\"sponsor\"></a>\n\n</div>\n\n### Backers\n\n<a href=\"https://opencollective.com/rrweb#sponsor\" rel=\"nofollow\"><img src=\"https://opencollective.com/rrweb/tiers/backers.svg?avatarHeight=36\"></a>\n\n## Core Team Members\n\n<table>\n  <tr>\n    <td align=\"center\">\n      <a href=\"https://github.com/Yuyz0112\">\n        <img\n          src=\"https://avatars.githubusercontent.com/u/13651389?s=100\"\n          width=\"100px;\"\n          alt=\"\"\n        />\n        <br /><sub><b>Yuyz0112</b></sub>\n        <br /><br />\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://github.com/YunFeng0817\">\n        <img\n          src=\"https://avatars.githubusercontent.com/u/27533910?s=100\"\n          width=\"100px;\"\n          alt=\"\"\n        />\n        <br /><sub><b>Yun Feng</b></sub>\n        <br /><br />\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://github.com/eoghanmurray\">\n        <img\n          src=\"https://avatars.githubusercontent.com/u/156780?s=100\"\n          width=\"100px;\"\n          alt=\"\"\n        />\n        <br /><sub><b>eoghanmurray</b></sub>\n        <br /><br />\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://github.com/Juice10\">\n        <img\n          src=\"https://avatars.githubusercontent.com/u/4106?s=100\"\n          width=\"100px;\"\n          alt=\"\"\n        />\n        <br /><sub><b>Juice10</b></sub>\n        <br /><sub>open for rrweb consulting</sub>\n      </a>\n    </td>\n  </tr>\n</table>\n\n## Who's using rrweb?\n\n<table>\n  <tr>\n    <td align=\"center\">\n      <a href=\"http://www.smartx.com/\" target=\"_blank\">\n        <img width=\"195px\" src=\"https://www.rrweb.io/logos/smartx.png\">\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://posthog.com?utm_source=rrweb&utm_medium=sponsorship&utm_campaign=open-source-sponsorship\" target=\"_blank\">\n        <img width=\"195px\" src=\"https://www.rrweb.io/logos/posthog.png\">\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://statcounter.com/session-replay/\" target=\"_blank\">\n        <img width=\"195px\" src=\"https://statcounter.com/images/logo-statcounter-arc-blue.svg\">\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://recordonce.com/\" target=\"_blank\">\n        <img width=\"195px\" alt=\"Smart screen recording for SaaS\" src=\"https://uploads-ssl.webflow.com/5f3d133183156245630d4446/5f3d1940abe8db8612c23521_Record-Once-logo-554x80px.svg\">\n      </a>\n    </td>\n  </tr>\n    <tr>\n    <td align=\"center\">\n      <a href=\"https://cux.io\" target=\"_blank\">\n        <img style=\"padding: 8px\" alt=\"The first ever UX automation tool\" width=\"195px\" src=\"https://cux.io/cux-logo.svg\">\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://remsupp.com\" target=\"_blank\">\n        <img style=\"padding: 8px\" alt=\"Remote Access & Co-Browsing\" width=\"195px\" src=\"https://remsupp.com/images/logo.png\">\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://highlight.io\" target=\"_blank\">\n        <img style=\"padding: 8px\" alt=\"The open source, fullstack Monitoring Platform.\" width=\"195px\" src=\"https://github.com/highlight/highlight/raw/main/highlight.io/public/images/logo.png\">\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://analyzee.io\" target=\"_blank\">\n        <img style=\"padding: 8px\" alt=\"Comprehensive data analytics platform that empowers businesses to gain valuable insights and make data-driven decisions.\" width=\"195px\" src=\"https://cdn.analyzee.io/assets/analyzee-logo.png\">\n      </a>\n    </td>\n  </tr>\n  <tr>\n    <td align=\"center\">\n      <a href=\"https://requestly.io\" target=\"_blank\">\n        <img style=\"padding: 8px\" alt=\"Intercept, Modify, Record & Replay HTTP Requests.\" width=\"195px\" src=\"https://github.com/requestly/requestly/assets/16779465/652552db-c867-44cb-9bb5-94a2026e04ca\">\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://gleap.io\" target=\"_blank\">\n        <img style=\"padding: 8px\" alt=\"In-app bug reporting & customer feedback platform.\" width=\"195px\" src=\"https://assets-global.website-files.com/6506f3f29c68b1724807619d/6506f56010237164c6306591_GleapLogo.svg\">\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://uxwizz.com\" target=\"_blank\">\n        <img style=\"padding: 8px\" alt=\"Self-hosted website analytics with heatmaps and session recordings.\" width=\"195px\" src=\"https://github.com/UXWizz/public-files/raw/main/assets/logo.png\">\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://www.howdygo.com\" target=\"_blank\">\n        <img style=\"padding: 8px\" alt=\"Interactive product demos for small marketing teams\" width=\"195px\" src=\"https://assets-global.website-files.com/650afb446f1dd5bd410f00cc/650b2cec6188ff54dd9b01e1_Logo.svg\">\n      </a>\n    </td>\n  </tr>\n</table>\n","readmeFilename":"Readme.md"}