{"_id":"getstats","_rev":"22-5408ece051ee75adfb5f297d80f9400f","name":"getstats","description":"A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"getstats","preferGlobal":true,"version":"1.0.0","author":{"name":"Muaz Khan","email":"muazkh@gmail.com","url":"http://www.muazkhan.com/"},"description":"A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.","scripts":{"start":"node getStats.js"},"main":"./getStats.js","repository":{"type":"git","url":"https://github.com/muaz-khan/getStats.git"},"keywords":["webrtc","getstats","webrtc-library","library","javascript","rtcweb","webrtc-experiment","javascript-library","muaz","muaz-khan"],"analyze":false,"license":"MIT","bugs":{"url":"https://github.com/muaz-khan/getStats/issues","email":"muazkh@gmail.com"},"homepage":"https://www.webrtc-experiment.com/","_id":"getstats@1.0.0","_from":".","_shasum":"523de0ed754774c6646068087f64552b85110209","_npmVersion":"1.4.9","_npmUser":{"name":"muaz-khan","email":"muazkh@gmail.com"},"maintainers":[{"name":"muaz-khan","email":"muazkh@gmail.com"}],"dist":{"shasum":"523de0ed754774c6646068087f64552b85110209","tarball":"https://registry.npmjs.org/getstats/-/getstats-1.0.0.tgz","integrity":"sha512-YzTmFRmPAv3L4di6JvGm6OgYdLtvaPeypz/xJQKOp6LSjliGdOgBw9xlCtaJSBFtYzfQhe6eA95yvAJOQBHGgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbuxZLSbeGTfS9ZLGnsc+ve2mqYeS+l+LDb7pQVUgTOQIgBTIEM/FvgndNQgVXRBamkam8MHyBiYyII0oSFmk2VL0="}]},"directories":{}},"1.0.1":{"name":"getstats","preferGlobal":true,"version":"1.0.1","author":{"name":"Muaz Khan","email":"muazkh@gmail.com","url":"http://www.muazkhan.com/"},"description":"A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.","scripts":{"start":"node getStats.js"},"main":"./getStats.js","repository":{"type":"git","url":"https://github.com/muaz-khan/getStats.git"},"keywords":["webrtc","getstats","webrtc-library","library","javascript","rtcweb","webrtc-experiment","javascript-library","muaz","muaz-khan"],"analyze":false,"license":"MIT","bugs":{"url":"https://github.com/muaz-khan/getStats/issues","email":"muazkh@gmail.com"},"homepage":"https://www.webrtc-experiment.com/","_id":"getstats@1.0.1","_from":".","_shasum":"72c1cf813dd7cbf7ba0b33086f12283ef9790ed4","_npmVersion":"1.4.9","_npmUser":{"name":"muaz-khan","email":"muazkh@gmail.com"},"maintainers":[{"name":"muaz-khan","email":"muazkh@gmail.com"}],"dist":{"shasum":"72c1cf813dd7cbf7ba0b33086f12283ef9790ed4","tarball":"https://registry.npmjs.org/getstats/-/getstats-1.0.1.tgz","integrity":"sha512-Ro6Yeib5SA8NoHNGpnWrq+95PA/HBEaktUzinP9ViMPCJ5NpuNAg4d1q8WaRuCeZMH4RxesimPSRwZBUsbrBPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHucS0RKZTFjsxVuvY/EFPFQ+/FRgR1PbAF0172alK9tAiAzcEggsImUQfCCfg9JHWDv+0VwbGvKM+crLOjcK96g7A=="}]},"directories":{}},"1.0.2":{"name":"getstats","preferGlobal":true,"version":"1.0.2","author":{"name":"Muaz Khan","email":"muazkh@gmail.com","url":"http://www.muazkhan.com/"},"description":"A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.","scripts":{"start":"node getStats.js"},"main":"./getStats.js","repository":{"type":"git","url":"git+https://github.com/muaz-khan/getStats.git"},"keywords":["webrtc","getstats","webrtc-library","library","javascript","rtcweb","webrtc-experiment","javascript-library","muaz","muaz-khan"],"analyze":false,"license":"MIT","bugs":{"url":"https://github.com/muaz-khan/getStats/issues","email":"muazkh@gmail.com"},"homepage":"https://www.webrtc-experiment.com/","_id":"getstats@1.0.2","_from":".","gitHead":"f67c5542133d09fb71bc7b16c7cbe80850a948b3","_shasum":"adcfb42fd307f38796326f71c34685c4f8f5adf0","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"muaz-khan","email":"muazkh@gmail.com"},"dist":{"shasum":"adcfb42fd307f38796326f71c34685c4f8f5adf0","tarball":"https://registry.npmjs.org/getstats/-/getstats-1.0.2.tgz","integrity":"sha512-Cy2/x/Lvt7tmaedCOSjQSm+S8VL0n7OHnt/oSEl9TJf9IVClgZApzYQYMgmU/tEr247NiCJBKCVTAydmIwxxKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGsYScUIv5SlEnf/GYWk8Wk7WVuUMPcEbkWX3NAA3znxAiEAsNVO8iVCAAoKfBrDANCu/hVOUvKwsc5LidqxjcSI6Hc="}]},"maintainers":[{"name":"muaz-khan","email":"muazkh@gmail.com"}],"directories":{}},"1.0.3":{"name":"getstats","preferGlobal":true,"version":"1.0.3","author":{"name":"Muaz Khan","email":"muazkh@gmail.com","url":"http://www.muazkhan.com/"},"description":"A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.","scripts":{"start":"node getStats.js"},"main":"./getStats.js","repository":{"type":"git","url":"git+https://github.com/muaz-khan/getStats.git"},"keywords":["webrtc","getstats","webrtc-library","library","javascript","rtcweb","webrtc-experiment","javascript-library","muaz","muaz-khan"],"analyze":false,"license":"MIT","bugs":{"url":"https://github.com/muaz-khan/getStats/issues","email":"muazkh@gmail.com"},"homepage":"https://www.webrtc-experiment.com/","_id":"getstats@1.0.3","_from":".","gitHead":"da4ab6e633375e13c9c6494d3b9ee0df57c56dd7","_shasum":"84010ce43c90c05ff42aa980f15461428747bd48","_npmVersion":"2.14.2","_nodeVersion":"0.12.7","_npmUser":{"name":"muaz-khan","email":"muazkh@gmail.com"},"dist":{"shasum":"84010ce43c90c05ff42aa980f15461428747bd48","tarball":"https://registry.npmjs.org/getstats/-/getstats-1.0.3.tgz","integrity":"sha512-1iT6QnZlkJ942ExbquGUnJLbV7QgWB0ovMTgOFX/p2IN/2Hfd6+cfe+T8IfQ4YAk60GsUMZNvehvYHIF1euaow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtXZG2kABTETXsm0gO03F/Lrn2BZllh+i3rItaCFRq3AIgaMVW3KQu/IbLWGeBs5wTXH51PrZ8eTbkBhSJSe0XG+w="}]},"maintainers":[{"name":"muaz-khan","email":"muazkh@gmail.com"}],"directories":{}},"1.0.4":{"name":"getstats","preferGlobal":true,"version":"1.0.4","author":{"name":"Muaz Khan","email":"muazkh@gmail.com","url":"http://www.muazkhan.com/"},"description":"A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.","scripts":{"start":"node server.js"},"main":"./server.js","repository":{"type":"git","url":"git+https://github.com/muaz-khan/getStats.git"},"keywords":["webrtc","getstats","webrtc-library","library","javascript","rtcweb","webrtc-experiment","javascript-library","muaz","muaz-khan"],"analyze":false,"license":"MIT","bugs":{"url":"https://github.com/muaz-khan/getStats/issues","email":"muazkh@gmail.com"},"homepage":"https://www.webrtc-experiment.com/","_id":"getstats@1.0.4","_from":".","gitHead":"ccc128511907b834bf912960484fd11fd1325719","_shasum":"a755e76508c4e9593febb08e9428e2b466d5da2a","_npmVersion":"2.14.2","_nodeVersion":"0.12.7","_npmUser":{"name":"muaz-khan","email":"muazkh@gmail.com"},"dist":{"shasum":"a755e76508c4e9593febb08e9428e2b466d5da2a","tarball":"https://registry.npmjs.org/getstats/-/getstats-1.0.4.tgz","integrity":"sha512-YAJxFUgFyAgeGIfaip2pXHGt+oGo670zwqyA4AV15Z564UNT/ZCLS1ni+A08HlzUx2M9REKkCs7ON0F5OMzfAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWL/L0N/xGZ3oWMZKj2ySU47Oc1b+Yfty5sEoblJEBuwIhAPY9S0vquMKfLoKA2MKZ082v5/9EpPVhj0T/OmFB+Sg9"}]},"maintainers":[{"name":"muaz-khan","email":"muazkh@gmail.com"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/getstats-1.0.4.tgz_1454930572031_0.2951625061687082"},"directories":{}},"1.0.5":{"name":"getstats","preferGlobal":true,"version":"1.0.5","author":{"name":"Muaz Khan","email":"muazkh@gmail.com","url":"http://www.muazkhan.com/"},"description":"A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.","scripts":{"start":"node server.js"},"main":"./getStats.js","repository":{"type":"git","url":"git+https://github.com/muaz-khan/getStats.git"},"keywords":["webrtc","getstats","webrtc-library","library","javascript","rtcweb","webrtc-experiment","javascript-library","muaz","muaz-khan"],"analyze":false,"license":"MIT","bugs":{"url":"https://github.com/muaz-khan/getStats/issues","email":"muazkh@gmail.com"},"homepage":"https://www.webrtc-experiment.com/getStats/","_id":"getstats@1.0.5","_from":".","devDependencies":{"grunt":"0.4.5","grunt-bump":"0.7.0","grunt-cli":"0.1.13","grunt-contrib-concat":"0.5.1","grunt-contrib-uglify":"0.11.0","grunt-jsbeautifier":"0.2.10","load-grunt-tasks":"3.4.0"},"gitHead":"336fa6d13ba2fce16c5b5cc8857d810e7ecfbbe7","_shasum":"1e7f0dd7755b92707608a42b4a15eebdcc010a6d","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"muaz-khan","email":"muazkh@gmail.com"},"dist":{"shasum":"1e7f0dd7755b92707608a42b4a15eebdcc010a6d","tarball":"https://registry.npmjs.org/getstats/-/getstats-1.0.5.tgz","integrity":"sha512-V4fI0E0slK8eXcS13Vaobft5Wkyxb3Qo5PBN7XsgV9FmDROCNRBVEPkHJ1o8sw81Gvn75zgCBMN8tRszlwbyUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFez4mfgdI9fR3hmsk9Jh+jdiZnWtX+jYH6NpGkKt7zEAiEA37Uh/SiHxmK9qACAEOpHaN/lX64iZif8t0GAMZDMaXU="}]},"maintainers":[{"name":"muaz-khan","email":"muazkh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/getstats-1.0.5.tgz_1503727649248_0.43658362119458616"},"directories":{}},"1.0.6":{"name":"getstats","preferGlobal":true,"version":"1.0.6","author":{"name":"Muaz Khan","email":"muazkh@gmail.com","url":"http://www.muazkhan.com/"},"description":"A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.","scripts":{"start":"node server.js"},"main":"./getStats.js","repository":{"type":"git","url":"git+https://github.com/muaz-khan/getStats.git"},"keywords":["webrtc","getstats","webrtc-library","library","javascript","rtcweb","webrtc-experiment","javascript-library","muaz","muaz-khan"],"analyze":false,"license":"MIT","bugs":{"url":"https://github.com/muaz-khan/getStats/issues","email":"muazkh@gmail.com"},"homepage":"https://www.webrtc-experiment.com/getStats/","_id":"getstats@1.0.6","_from":".","devDependencies":{"grunt":"0.4.5","grunt-bump":"0.7.0","grunt-cli":"0.1.13","grunt-contrib-concat":"0.5.1","grunt-contrib-uglify":"0.11.0","grunt-jsbeautifier":"0.2.10","load-grunt-tasks":"3.4.0"},"gitHead":"dbdab264a5d7d2feb4d2b195225efd07febcb333","_shasum":"ca6f5ce991a411d9de95816a69af6a4dc2c2592f","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"muaz-khan","email":"muazkh@gmail.com"},"dist":{"shasum":"ca6f5ce991a411d9de95816a69af6a4dc2c2592f","tarball":"https://registry.npmjs.org/getstats/-/getstats-1.0.6.tgz","integrity":"sha512-/QnoGt8Ls5bNcaJ74zyqCoDhsA+o4WCf7hYAZa2pBhziSlV1TMaCGaFPWA5FZWcdFN7pIFgO5lR/HgBCqDFtBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvvu+SNgsHuazS76L+UqklURiMVum8QCRC4DozAdhozAIgUNgW/KltcMnTh4zWBX/0xU/6fFRAY7mE0Vh1z0yIzng="}]},"maintainers":[{"name":"muaz-khan","email":"muazkh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/getstats-1.0.6.tgz_1511067130844_0.02956941444426775"},"directories":{}},"1.0.7":{"name":"getstats","preferGlobal":true,"version":"1.0.7","author":{"name":"Muaz Khan","email":"muazkh@gmail.com","url":"http://www.muazkhan.com/"},"description":"A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.","scripts":{"start":"node server.js"},"main":"./getStats.js","repository":{"type":"git","url":"git+https://github.com/muaz-khan/getStats.git"},"keywords":["webrtc","getstats","webrtc-library","library","javascript","rtcweb","webrtc-experiment","javascript-library","muaz","muaz-khan"],"analyze":false,"license":"MIT","bugs":{"url":"https://github.com/muaz-khan/getStats/issues","email":"muazkh@gmail.com"},"homepage":"https://www.webrtc-experiment.com/getStats/","_id":"getstats@1.0.7","_from":".","devDependencies":{"grunt":"0.4.5","grunt-bump":"0.7.0","grunt-cli":"0.1.13","grunt-contrib-watch":"^1.1.0","grunt-contrib-concat":"0.5.1","grunt-contrib-uglify":"0.11.0","grunt-jsbeautifier":"0.2.10","load-grunt-tasks":"3.4.0"},"gitHead":"afba5716568cbc26f6bdb0c3b9c470749676d934","_shasum":"bb644b6c31e986144fec3af61cf120b03ca03bdc","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"muaz-khan","email":"muazkh@gmail.com"},"dist":{"shasum":"bb644b6c31e986144fec3af61cf120b03ca03bdc","tarball":"https://registry.npmjs.org/getstats/-/getstats-1.0.7.tgz","integrity":"sha512-x5NJ5nsQsf6IONKz3P/FVhVNejpDfHmg4lyUEo3c0aM3zO8nMsd7zQ23ARYxusmrphjgms20rBqAvGY5fedZlA==","fileCount":8,"unpackedSize":90243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGPL+CRA9TVsSAnZWagAArO8P/Asc7+/fbIL7nCKHI8P6\nkim+MAjUZsK1rcphtbxnBIGh+0ACakNqqMznfpG7rwvgz5YZuccXv56lny2x\ndi+j2B991317j3bo6lcRpnNf6EFDFtxqE1it0QtklB4ZO7C/mHL0i7r4PBew\n/M1YT3dCat/uZbySQmtwf3XvRNC7d4gZCihy7+Q17PWUCweCpJobhJ9zodVr\nnk3ZpQXAO/liDYRmwNPIHAbOAGfXoEV1n/QqysDFZ6ZCjuF+P2rnhqGen0Mw\nODtUs+XyRTjDiKdIoL29uhKFp8iqS9dDi0nIZcK5TLBnw0YZOwBa2xWw8EDJ\ncpKdspDYteBUvXMEP2kpIpL7tF+y8aZx68htYuV01q4C4P828sbekEXUuENe\nQI3UJrEMkGONsYj8df/6Ta97ieT4D+j43SXkm9pRymhPHTnL65Ub4zSHWlqd\nycgMqCJNdX9B0fv/axaqULcrwCFulztB9zTwncMGQqP6afGkJOjOH2YGpCcc\noBBq13l3HrveRIAYsFDMASwyRoISoa69cHlR5neFyZuZqo+0TUtxQP+rbp+1\ncjZCpE5WViJeIqcIcmXEg7/8rWiQAnkx+F6a47Ggzff9b0B+mZUqNic9iEeb\n+B0sgNn179N1wUp+FRuZ4LeN4Z4H0Z5d+pr70LyITB4TTSsOJvZgW08bpAOI\n8uVw\r\n=N8EJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlMSeA6j3kLP5uMy8xljUrhs4RGCdmCt10eDF/Gz1nRwIhAM9tZI1vjFcqY+ldbY/wHjyQq9xQJnBGC7wMFdjDvs4Q"}]},"maintainers":[{"name":"muaz-khan","email":"muazkh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/getstats_1.0.7_1545138941352_0.21919847455113017"},"_hasShrinkwrap":false},"1.0.8":{"name":"getstats","preferGlobal":true,"version":"1.0.8","author":{"name":"Muaz Khan","email":"muazkh@gmail.com","url":"https://muazkhan.com/"},"description":"A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.","scripts":{"start":"node server.js"},"main":"./getStats.js","repository":{"type":"git","url":"git+https://github.com/muaz-khan/getStats.git"},"keywords":["webrtc","getstats","webrtc-library","library","javascript","rtcweb","webrtc-experiment","javascript-library","muaz","muaz-khan"],"analyze":false,"license":"MIT","bugs":{"url":"https://github.com/muaz-khan/getStats/issues","email":"muazkh@gmail.com"},"homepage":"https://www.webrtc-experiment.com/getStats/","_id":"getstats@1.0.8","_from":".","devDependencies":{"grunt":"0.4.5","grunt-bump":"0.7.0","grunt-cli":"0.1.13","grunt-contrib-watch":"^1.1.0","grunt-contrib-concat":"0.5.1","grunt-contrib-uglify":"0.11.0","grunt-jsbeautifier":"0.2.10","load-grunt-tasks":"3.4.0"},"gitHead":"afba5716568cbc26f6bdb0c3b9c470749676d934","_shasum":"e3ea6e982883beca917db0580dd35fc633f4747d","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"muaz-khan","email":"muazkh@gmail.com"},"dist":{"shasum":"e3ea6e982883beca917db0580dd35fc633f4747d","tarball":"https://registry.npmjs.org/getstats/-/getstats-1.0.8.tgz","integrity":"sha512-FUnayTiSuwuQu5VPekzjrzK0ZHBHV/eOoiolaFqgZRn299broSELLOl+jRCMes4xh3hXdFk/JwA8Upc2NZL5SA==","fileCount":8,"unpackedSize":103780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGhVgCRA9TVsSAnZWagAAMpoP/RwUMO4yFW+tXgxRt3sD\nKZG7iPSKyr10LQHKspqwcd3PfkcY8woN+k3wENn5r4k1LGbCxJtoDPbMFWdl\nd49PZQ71N83DPyKXOEo7TfC+E4jC6usVsrj3uKealXPqtW9o1OuA0aYXo61A\ndjBABJZvNkNBF2uY6P8gJb8dkwyyxZlKk7s8OXrMBUrgqLK5AYL4rU4+H2gI\njNVG3v9QVuc8bdhD2J7dBsNn+IGuWk58oU0xo5I9X9YM/eHrOulFs+BFEmiT\nKGb3yXivws9zxFl94wG8GrzuiG8Wu+oIaQJAs8bsPwWayH5b5EaIQwltzU0x\nPcDt/w3N7kPdFlS/E9cwAU7RYKHuP4q58n6zaRtwGdAHQeNk6795U2DA6i5/\nO/VolYoh6cJPV1kb3je/wa83N0FB+laoDbk4FlOwT98aFx/KxeXN7WYomsAb\nGDDJMhHO6gCc687XvCdzvqA8IDAwMv3Od93bim9yZbpE8qUaG9KfjvEPaGyt\nQQgHeheNVMJJb1W8PU+FG7OzJoYlg78gxcRBE+VenKmVAvSTNLr3bWze0+Fd\n/cw+TQbzYW7+4L0excjv+yMooCYf7a6KHw4HUQZqRcm2NCqBiQER5Lvu2h+L\nuqn0nunKl4kVUrkzYcY9mdFUFy5XBiMubB2GXrX7AoUFpnU1wwiMeTRJVX6U\n5rNU\r\n=yyWc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6afwKLBCl30PyLCQHpp+dmiVYAN1lzWi4JMEDDv62qgIgAif7b3mjwYCZ1IN9uAPitwUwuCVosMUXOaBmg9LUPwM="}]},"maintainers":[{"name":"muaz-khan","email":"muazkh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/getstats_1.0.8_1545213279895_0.45625459205415875"},"_hasShrinkwrap":false},"1.2.0":{"name":"getstats","preferGlobal":true,"version":"1.2.0","author":{"name":"Muaz Khan","email":"muazkh@gmail.com","url":"https://muazkhan.com/"},"description":"A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.","scripts":{"start":"node server.js"},"main":"./getStats.js","repository":{"type":"git","url":"git+https://github.com/muaz-khan/getStats.git"},"keywords":["webrtc","getstats","webrtc-library","library","javascript","rtcweb","webrtc-experiment","javascript-library","muaz","muaz-khan"],"analyze":false,"license":"MIT","bugs":{"url":"https://github.com/muaz-khan/getStats/issues","email":"muazkh@gmail.com"},"homepage":"https://www.webrtc-experiment.com/getStats/","_id":"getstats@1.2.0","_from":"getstats@","tonicExampleFilename":"npm-test.js","devDependencies":{"grunt":"0.4.5","grunt-bump":"0.7.0","grunt-cli":"0.1.13","grunt-contrib-watch":"^1.1.0","grunt-contrib-concat":"0.5.1","grunt-contrib-uglify":"0.11.0","grunt-jsbeautifier":"0.2.10","load-grunt-tasks":"3.4.0"},"gitHead":"d57171d170e7eb06c334112ac2253c1587107ac1","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"muaz-khan","email":"muazkh@gmail.com"},"dist":{"integrity":"sha512-fdvGnPIaevnfrmL1qB78SeaqW4Pnm2f8j8nhRiWUZS7N1p377fee0ie76PO4uGkIjiuig9hMv4MVhVVBSLGBjA==","shasum":"1b104063f75e6b1f8178752877a2eed1c778e345","tarball":"https://registry.npmjs.org/getstats/-/getstats-1.2.0.tgz","fileCount":8,"unpackedSize":113865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbXONCRA9TVsSAnZWagAAR1wP/3fEJgElKz7PN5FNRp7M\nkAy+CVNIE5G8htsvdN5jAU9SSyKuzBXfRU737oLT19jReW0qV9inlXUApDPe\nA3F8GLrUaP52vtoL6EwIgFWhfvbhyFhQHWAw7yStwzCls17FxVm4xmtuvIo2\nOR34urorzIFF4OvLsGa+Nv5fqxGaAxplZzEa54+I7M+a15aicd5jY4qY4o7j\nvZmjlHXtUxg/4mOOO2cAJvGws5qxtQqTDNc36Y5ylalNmW56DfLhkLmpldWv\nwMM6238VdNPldydqIY+zTlSSiaXTCYaXMvckmxC2fG2FZHGdR9+oyHs+hLt+\nc30QcZdLWiwsddHtUp5UA4o9ySVuYr3+mtUL93ELVfINlMB/BlFAR/wF2Hjp\nQgEZU3UumTY0IsT8lyPTROVlEXNeeVwpRgMVIGJv5ZBxQ4l1Q6hpJE6JehW1\ns5iTJdRYmSjc1TdTsrx5R/F18Nv8Wzc8bS2SXRCdJm3P+PCiw4D3OT7h0vtp\nz4WIgKH6sW9Qjm3W3plykMHCsUq+xM+XjEyQCpxxXo7Eq55F35JVzSbZGTjI\niP9/Ze+m/jkKy+oMzwxWg3N+BPh9lSioSDcb4aC7zFsZXNwVSPArPXOWra9W\nmYl7/99Mjwz+TaLt1X6sl1SRD0LCpWPLzb5wdyYgINafdSM1YWoNTHffoqz0\nPfnO\r\n=8WQ5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIvboxtL1v/+5jt9ju2zHkwiCeaBINy1SOU286BhmZZwIgIcVhqMWBSxWqCM7i7dSzAJsxcXufJScrRH8SQHY7oCk="}]},"maintainers":[{"name":"muaz-khan","email":"muazkh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/getstats_1.2.0_1550676877040_0.7514936672329655"},"_hasShrinkwrap":false}},"readme":"# [getStats.js](https://github.com/muaz-khan/getStats) | WebRTC getStats API\r\n\r\n# [Single Page Demo](https://www.webrtc-experiment.com/getStats/) or [Multi User P2P Demo](https://rtcmulticonnection.herokuapp.com/demos/getStats.html)\r\n\r\n[![npm](https://img.shields.io/npm/v/getstats.svg)](https://npmjs.org/package/getstats) [![downloads](https://img.shields.io/npm/dm/getstats.svg)](https://npmjs.org/package/getstats) [![Build Status: Linux](https://travis-ci.org/muaz-khan/getStats.png?branch=master)](https://travis-ci.org/muaz-khan/getStats)\r\n\r\nA tiny JavaScript library using [WebRTC getStats API](http://dev.w3.org/2011/webrtc/editor/webrtc.html#dom-peerconnection-getstats) to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.\r\n\r\nIt is <a href=\"https://www.webrtc-experiment.com/licence/\">MIT Licenced</a>, which means that you can use it in any commercial/non-commercial product, free of cost.\r\n\r\n![getStats](https://cdn.webrtc-experiment.com/images/getStats.png)\r\n\r\n```\r\nnpm install getstats\r\n\r\ncd node_modules\r\ncd getstats\r\nnode server.js\r\n\r\n# and open:\r\n# http://localhost:9999/\r\n```\r\n\r\nTo use it:\r\n\r\n```htm\r\n<script src=\"./node_modules/getstats/getStats.js\"></script>\r\n```\r\n\r\n# Link the library\r\n\r\n```html\r\n<script src=\"https://cdn.webrtc-experiment.com/getStats.js\"></script>\r\n\r\n<!-- or min.js -->\r\n<script src=\"https://cdn.webrtc-experiment.com/getStats.min.js\"></script>\r\n\r\n<!-- or without CDN -->\r\n<script src=\"https://www.webrtc-experiment.com/getStats.js\"></script>\r\n\r\n<!-- or rawgit -->\r\n<script src=\"https://rawgit.com/muaz-khan/getStats/master/getStats.js\"></script>\r\n```\r\n\r\nOr link specific build:\r\n\r\n* https://github.com/muaz-khan/getStats/releases\r\n\r\nOr:\r\n\r\n```javascript\r\nconst getStats = require('getstats');\r\nimport { getStats} from 'getstats';\r\n```\r\n\r\n# Usage\r\n\r\n```javascript\r\nvar rtcPeerConnection = new RTCPeerConnection(rtcConfig);\r\n\r\nvar repeatInterval = 2000; // 2000 ms == 2 seconds\r\ngetStats(rtcPeerConnection, function(result) {\r\n    result.connectionType.remote.ipAddress\r\n    result.connectionType.remote.candidateType\r\n    result.connectionType.transport\r\n    \r\n    result.bandwidth.speed // bandwidth download speed (bytes per second)\r\n    \r\n    // to access native \"results\" array\r\n    result.results.forEach(function(item) {\r\n        if (item.type === 'ssrc' && item.transportId === 'Channel-audio-1') {\r\n            var packetsLost = item.packetsLost;\r\n            var packetsSent = item.packetsSent;\r\n            var audioInputLevel = item.audioInputLevel;\r\n            var trackId = item.googTrackId; // media stream track id\r\n            var isAudio = item.mediaType === 'audio'; // audio or video\r\n            var isSending = item.id.indexOf('_send') !== -1; // sender or receiver\r\n\r\n            console.log('SendRecv type', item.id.split('_send').pop());\r\n            console.log('MediaStream track type', item.mediaType);\r\n        }\r\n    });\r\n}, repeatInterval);\r\n```\r\n\r\n# Safari?\r\n\r\n```javascript\r\nvar audioTrack = stream.getTracks().filter(function(t) {\r\n    return t.kind === 'audio';\r\n});\r\n\r\ngetStats(peer, audioTrack, function(results) {\r\n    // rest goes here\r\n}, 5 * 1000);\r\n```\r\n\r\n# `result.datachannel`\r\n\r\n```javascript\r\n// states => open or close\r\nalert(result.datachannel.state === 'open');\r\n```\r\n\r\n# `result.isOfferer`\r\n\r\nOfferer is the person who invoked `createOffer` method.\r\n\r\n# `result.encryption`\r\n\r\nTo detect which tech is used to encrypt your connections.\r\n\r\n```javascript\r\nalert(result.encryption === 'sha-256');\r\n```\r\n\r\n# `result.nomore()`\r\n\r\nThis function can be used to ask to stop invoking getStats API.\r\n\r\n```javascript\r\nbtnStopGetStats.onclick  = function() {\r\n    getStatsResult.nomore();\r\n};\r\n```\r\n\r\n# `result.bandwidth`\r\n\r\nYou can use `result.bandwidth.speed` to detect your system's available download speed.\r\n\r\n```json\r\n{\r\n    \"speed\": 25191,\r\n    \"systemBandwidth\": 0,\r\n    \"sentPerSecond\": 0,\r\n    \"encodedPerSecond\": 0,\r\n    \"helper\": {\r\n        \"audioBytesSent\": 103053,\r\n        \"videoBytestSent\": 0,\r\n        \"videoBytesSent\": 4316619\r\n    },\r\n    \"availableSendBandwidth\": \"5181906\",\r\n    \"googActualEncBitrate\": \"294608\",\r\n    \"googAvailableSendBandwidth\": \"5181906\",\r\n    \"googAvailableReceiveBandwidth\": \"0\",\r\n    \"googRetransmitBitrate\": \"0\",\r\n    \"googTargetEncBitrate\": \"1700000\",\r\n    \"googBucketDelay\": \"0\",\r\n    \"googTransmitBitrate\": \"198296\"\r\n}\r\n```\r\n\r\n# `result.audio`\r\n\r\n```json\r\n{\r\n    \"send\": {\r\n        \"tracks\": [\"ab5be64a-00b0-4c69-9ffa-b934a3cdaf92\"],\r\n        \"codecs\": [\"opus\"],\r\n        \"availableBandwidth\": \"0.4\",\r\n        \"streams\": 1\r\n    },\r\n    \"recv\": {\r\n        \"tracks\": [\"ab5be64a-00b0-4c69-9ffa-b934a3cdaf92\"],\r\n        \"codecs\": [\"opus\"],\r\n        \"availableBandwidth\": \"0.4\",\r\n        \"streams\": 1\r\n    },\r\n    \"bytesSent\": 103053,\r\n    \"bytesReceived\": 103053\r\n}\r\n```\r\n\r\n# `result.video`\r\n\r\n```json\r\n{\r\n    \"send\": {\r\n        \"tracks\": [\"c07bbd24-4e99-4b94-b429-5174370f8d12\"],\r\n        \"codecs\": [\"VP9\"],\r\n        \"availableBandwidth\": \"24.2\",\r\n        \"streams\": 1\r\n    },\r\n    \"recv\": {\r\n        \"tracks\": [\"c07bbd24-4e99-4b94-b429-5174370f8d12\"],\r\n        \"codecs\": [\"VP9\"],\r\n        \"availableBandwidth\": \"25.5\",\r\n        \"streams\": 1\r\n    },\r\n    \"bytesSent\": 4316619,\r\n    \"bytesReceived\": 4294692\r\n}\r\n```\r\n\r\n# `result.connectionType`\r\n\r\n```json\r\n{\r\n    \"systemNetworkType\": \"wifi\",\r\n    \"systemIpAddress\": [\"192.168.1.2:66666\"],\r\n    \"local\": {\r\n        \"candidateType\": [\"host\"],\r\n        \"transport\": [\"udp\"],\r\n        \"ipAddress\": [\"192.168.1.2:66666\"],\r\n        \"networkType\": [\"wlan\"]\r\n    },\r\n    \"remote\": {\r\n        \"candidateType\": [\"host\"],\r\n        \"transport\": [\"udp\"],\r\n        \"ipAddress\": [\"192.168.1.2:66666\"],\r\n        \"networkType\": []\r\n    },\r\n    \"transport\": \"udp\"\r\n}\r\n```\r\n\r\n# `result.resolutions`\r\n\r\n```json\r\n{\r\n    \"send\": {\r\n        \"width\": \"640\",\r\n        \"height\": \"480\"\r\n    },\r\n    \"recv\": {\r\n        \"width\": \"640\",\r\n        \"height\": \"480\"\r\n    }\r\n}\r\n```\r\n\r\n# `result.results`\r\n\r\nIt is an array that is returned by browser's native PeerConnection API.\r\n\r\n```javascript\r\n// \"getStatsResult\" is your \"result\" object\r\ngetStatsResult.results.forEach(function(item) {\r\n    if (item.type === 'ssrc' && item.transportId === 'Channel-audio-1') {\r\n        var packetsLost = item.packetsLost;\r\n        var packetsSent = item.packetsSent;\r\n        var audioInputLevel = item.audioInputLevel;\r\n        var trackId = item.googTrackId; // media stream track id\r\n        var isAudio = item.mediaType === 'audio'; // audio or video\r\n        var isSending = item.id.indexOf('_send') !== -1; // sender or receiver\r\n\r\n        console.log('SendRecv type', item.id.split('_send').pop());\r\n        console.log('MediaStream track type', item.mediaType);\r\n    }\r\n});\r\n```\r\n\r\n**Above array looks like this:**\r\n\r\n```json\r\n[{\r\n    \"googTrackId\": \"ab5be64a-00b0-4c69-9ffa-b934a3cdaf92\",\r\n    \"id\": \"googTrack_ab5be64a-00b0-4c69-9ffa-b934a3cdaf92\",\r\n    \"type\": \"googTrack\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}, {\r\n    \"googInitiator\": \"true\",\r\n    \"id\": \"googLibjingleSession_2403774673032347671\",\r\n    \"type\": \"googLibjingleSession\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}, {\r\n    \"googActualEncBitrate\": \"294608\",\r\n    \"googAvailableSendBandwidth\": \"5181906\",\r\n    \"googRetransmitBitrate\": \"0\",\r\n    \"googAvailableReceiveBandwidth\": \"0\",\r\n    \"googTargetEncBitrate\": \"1700000\",\r\n    \"googBucketDelay\": \"0\",\r\n    \"googTransmitBitrate\": \"198296\",\r\n    \"id\": \"bweforvideo\",\r\n    \"type\": \"VideoBwe\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}, {\r\n    \"googTrackId\": \"c07bbd24-4e99-4b94-b429-5174370f8d12\",\r\n    \"id\": \"googTrack_c07bbd24-4e99-4b94-b429-5174370f8d12\",\r\n    \"type\": \"googTrack\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}, {\r\n    \"googFingerprint\": \"8B:---:70\",\r\n    \"googFingerprintAlgorithm\": \"sha-256\",\r\n    \"googDerBase64\": \"MII----FdhT\",\r\n    \"id\": \"googCertificate_8B:---:70\",\r\n    \"type\": \"googCertificate\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}, {\r\n    \"googFingerprint\": \"EE:---:80\",\r\n    \"googFingerprintAlgorithm\": \"sha-256\",\r\n    \"googDerBase64\": \"MI----kr\",\r\n    \"id\": \"googCertificate_EE:13:---:80\",\r\n    \"type\": \"googCertificate\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}, {\r\n    \"googComponent\": \"1\",\r\n    \"remoteCertificateId\": \"googCertificate_EE:---:80\",\r\n    \"selectedCandidatePairId\": \"Conn-audio-1-0\",\r\n    \"dtlsCipher\": \"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\",\r\n    \"localCertificateId\": \"googCertificate_8B:---:70\",\r\n    \"srtpCipher\": \"AES_CM_128_HMAC_SHA1_32\",\r\n    \"id\": \"Channel-audio-1\",\r\n    \"type\": \"googComponent\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}, {\r\n    \"responsesSent\": \"12\",\r\n    \"requestsReceived\": \"12\",\r\n    \"googRemoteCandidateType\": \"local\",\r\n    \"googReadable\": \"true\",\r\n    \"googLocalAddress\": \"192.168.1.2:61885\",\r\n    \"consentRequestsSent\": \"1\",\r\n    \"googTransportType\": \"udp\",\r\n    \"googChannelId\": \"Channel-audio-1\",\r\n    \"googLocalCandidateType\": \"local\",\r\n    \"googWritable\": \"true\",\r\n    \"requestsSent\": \"12\",\r\n    \"googRemoteAddress\": \"192.168.1.2:60256\",\r\n    \"googRtt\": \"0\",\r\n    \"googActiveConnection\": \"true\",\r\n    \"packetsDiscardedOnSend\": \"0\",\r\n    \"bytesReceived\": \"4455306\",\r\n    \"responsesReceived\": \"12\",\r\n    \"remoteCandidateId\": \"Cand-aws75dws\",\r\n    \"localCandidateId\": \"Cand-4hzYq0su\",\r\n    \"bytesSent\": \"4466782\",\r\n    \"packetsSent\": \"5437\",\r\n    \"id\": \"Conn-audio-1-0\",\r\n    \"type\": \"googCandidatePair\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}, {\r\n    \"portNumber\": \"61885\",\r\n    \"networkType\": \"wlan\",\r\n    \"ipAddress\": \"192.168.1.2\",\r\n    \"transport\": \"udp\",\r\n    \"candidateType\": \"host\",\r\n    \"priority\": \"2122260223\",\r\n    \"id\": \"Cand-4hzYq0su\",\r\n    \"type\": \"localcandidate\",\r\n    \"timestamp\": \"2017-11-21T04:09:48.850Z\"\r\n}, {\r\n    \"portNumber\": \"60256\",\r\n    \"ipAddress\": \"192.168.1.2\",\r\n    \"transport\": \"udp\",\r\n    \"candidateType\": \"host\",\r\n    \"priority\": \"2122260223\",\r\n    \"id\": \"Cand-aws75dws\",\r\n    \"type\": \"remotecandidate\",\r\n    \"timestamp\": \"2017-11-21T04:09:48.850Z\"\r\n}, {\r\n    \"googDecodingCTN\": \"2206\",\r\n    \"packetsLost\": \"0\",\r\n    \"googSecondaryDecodedRate\": \"0\",\r\n    \"googDecodingPLC\": \"21\",\r\n    \"packetsReceived\": \"1056\",\r\n    \"googExpandRate\": \"0.900574\",\r\n    \"googJitterReceived\": \"1\",\r\n    \"googDecodingCNG\": \"0\",\r\n    \"ssrc\": \"3719978459\",\r\n    \"googPreferredJitterBufferMs\": \"20\",\r\n    \"googSpeechExpandRate\": \"0.178711\",\r\n    \"totalSamplesDuration\": \"22.06\",\r\n    \"totalAudioEnergy\": \"0\",\r\n    \"transportId\": \"Channel-audio-1\",\r\n    \"mediaType\": \"audio\",\r\n    \"googDecodingPLCCNG\": \"72\",\r\n    \"googCodecName\": \"opus\",\r\n    \"googSecondaryDiscardedRate\": \"0\",\r\n    \"googDecodingNormal\": \"2113\",\r\n    \"googTrackId\": \"ab5be64a-00b0-4c69-9ffa-b934a3cdaf92\",\r\n    \"audioOutputLevel\": \"0\",\r\n    \"googAccelerateRate\": \"0\",\r\n    \"bytesReceived\": \"103053\",\r\n    \"googCurrentDelayMs\": \"61\",\r\n    \"googDecodingCTSG\": \"0\",\r\n    \"googCaptureStartNtpTimeMs\": \"3720226188883\",\r\n    \"googPreemptiveExpandRate\": \"0\",\r\n    \"googJitterBufferMs\": \"5\",\r\n    \"googDecodingMuted\": \"71\",\r\n    \"id\": \"ssrc_3719978459_recv\",\r\n    \"type\": \"ssrc\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}, {\r\n    \"audioInputLevel\": \"38\",\r\n    \"packetsLost\": \"0\",\r\n    \"googTrackId\": \"ab5be64a-00b0-4c69-9ffa-b934a3cdaf92\",\r\n    \"googRtt\": \"1\",\r\n    \"googResidualEchoLikelihoodRecentMax\": \"0\",\r\n    \"googEchoCancellationReturnLossEnhancement\": \"-100\",\r\n    \"totalSamplesDuration\": \"0\",\r\n    \"googCodecName\": \"opus\",\r\n    \"transportId\": \"Channel-audio-1\",\r\n    \"mediaType\": \"audio\",\r\n    \"aecDivergentFilterFraction\": \"0\",\r\n    \"googEchoCancellationReturnLoss\": \"-100\",\r\n    \"googResidualEchoLikelihood\": \"0\",\r\n    \"googEchoCancellationQualityMin\": \"0\",\r\n    \"totalAudioEnergy\": \"0\",\r\n    \"ssrc\": \"4057371623\",\r\n    \"googJitterReceived\": \"1\",\r\n    \"googTypingNoiseState\": \"false\",\r\n    \"packetsSent\": \"1056\",\r\n    \"bytesSent\": \"103053\",\r\n    \"id\": \"ssrc_4057371623_send\",\r\n    \"type\": \"ssrc\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}, {\r\n    \"googContentType\": \"realtime\",\r\n    \"googCaptureStartNtpTimeMs\": \"3720226188863\",\r\n    \"googTargetDelayMs\": \"28\",\r\n    \"packetsLost\": \"0\",\r\n    \"googDecodeMs\": \"3\",\r\n    \"googFrameHeightReceived\": \"480\",\r\n    \"googFrameRateOutput\": \"2\",\r\n    \"packetsReceived\": \"3843\",\r\n    \"ssrc\": \"2926085704\",\r\n    \"googRenderDelayMs\": \"10\",\r\n    \"googMaxDecodeMs\": \"4\",\r\n    \"googTrackId\": \"c07bbd24-4e99-4b94-b429-5174370f8d12\",\r\n    \"googFrameWidthReceived\": \"640\",\r\n    \"codecImplementationName\": \"libvpx\",\r\n    \"transportId\": \"Channel-audio-1\",\r\n    \"mediaType\": \"video\",\r\n    \"googTimingFrameInfo\": \"2498355253,490771956,490771960,490771967,490771967,490771974,0,1\",\r\n    \"googInterframeDelayMax\": \"67\",\r\n    \"googCodecName\": \"VP9\",\r\n    \"googFrameRateReceived\": \"2\",\r\n    \"qpSum\": \"35281\",\r\n    \"framesDecoded\": \"348\",\r\n    \"googNacksSent\": \"0\",\r\n    \"googFirsSent\": \"0\",\r\n    \"bytesReceived\": \"4294692\",\r\n    \"googCurrentDelayMs\": \"28\",\r\n    \"googMinPlayoutDelayMs\": \"0\",\r\n    \"googFrameRateDecoded\": \"2\",\r\n    \"googJitterBufferMs\": \"14\",\r\n    \"googPlisSent\": \"0\",\r\n    \"id\": \"ssrc_2926085704_recv\",\r\n    \"type\": \"ssrc\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}, {\r\n    \"googFrameWidthSent\": \"640\",\r\n    \"packetsLost\": \"0\",\r\n    \"googRtt\": \"1\",\r\n    \"googEncodeUsagePercent\": \"19\",\r\n    \"googCpuLimitedResolution\": \"false\",\r\n    \"googNacksReceived\": \"0\",\r\n    \"googBandwidthLimitedResolution\": \"false\",\r\n    \"googPlisReceived\": \"0\",\r\n    \"googAvgEncodeMs\": \"7\",\r\n    \"googTrackId\": \"c07bbd24-4e99-4b94-b429-5174370f8d12\",\r\n    \"googFrameRateInput\": \"2\",\r\n    \"framesEncoded\": \"348\",\r\n    \"codecImplementationName\": \"libvpx\",\r\n    \"transportId\": \"Channel-audio-1\",\r\n    \"mediaType\": \"video\",\r\n    \"googFrameHeightSent\": \"480\",\r\n    \"googFrameRateSent\": \"18\",\r\n    \"googCodecName\": \"VP9\",\r\n    \"qpSum\": \"35291\",\r\n    \"googAdaptationChanges\": \"0\",\r\n    \"ssrc\": \"3181351409\",\r\n    \"googFirsReceived\": \"0\",\r\n    \"packetsSent\": \"3884\",\r\n    \"bytesSent\": \"4316619\",\r\n    \"id\": \"ssrc_3181351409_send\",\r\n    \"type\": \"ssrc\",\r\n    \"timestamp\": \"2017-11-21T04:10:10.905Z\"\r\n}]\r\n```\r\n\r\n# Disclaimer\r\n\r\nThere is no warranty, expressed or implied, associated with this product. Use at your own risk.\r\n\r\n* https://www.webrtc-experiment.com/disclaimer/\r\n\r\n## License\r\n\r\n[getStats.js](https://github.com/muaz-khan/getStats) is released under [MIT licence](https://www.webrtc-experiment.com/licence/) . Copyright (c) [Muaz Khan](http://www.MuazKhan.com/).\r\n","maintainers":[{"name":"muaz-khan","email":"muazkh@gmail.com"}],"time":{"modified":"2022-06-18T08:01:31.316Z","created":"2014-09-16T15:46:05.695Z","1.0.0":"2014-09-16T15:46:05.695Z","1.0.1":"2014-09-16T16:12:49.651Z","1.0.2":"2015-05-23T02:49:07.574Z","1.0.3":"2016-01-07T17:45:58.530Z","1.0.4":"2016-02-08T11:22:53.310Z","1.0.5":"2017-08-26T06:07:30.252Z","1.0.6":"2017-11-19T04:52:10.968Z","1.0.7":"2018-12-18T13:15:41.493Z","1.0.8":"2018-12-19T09:54:40.039Z","1.2.0":"2019-02-20T15:34:37.195Z"},"homepage":"https://www.webrtc-experiment.com/getStats/","keywords":["webrtc","getstats","webrtc-library","library","javascript","rtcweb","webrtc-experiment","javascript-library","muaz","muaz-khan"],"repository":{"type":"git","url":"git+https://github.com/muaz-khan/getStats.git"},"author":{"name":"Muaz Khan","email":"muazkh@gmail.com","url":"https://muazkhan.com/"},"bugs":{"url":"https://github.com/muaz-khan/getStats/issues","email":"muazkh@gmail.com"},"license":"MIT","readmeFilename":"README.md","users":{"herreraemanuel":true}}