{"_id":"@baiduplayer/brtc-beauty-effect","_rev":"4-e6641392f11d3dbeec2337ac0f6a5fc7","name":"@baiduplayer/brtc-beauty-effect","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@baiduplayer/brtc-beauty-effect","version":"1.0.0","description":"BRTCBeautyEffect 封装了百度云 RTC SDK 的美颜功能(美白(亮度)、磨皮（平滑度）、清晰（锐化度）、红润、对比度（明暗度）)，可以方便开发者在 Web 中使用。","main":"./brtc-beauty-effect.min.js","types":"./lib/index.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["brtc-beauty-effect","webgl"],"author":"","license":"ISC","gitHead":"fcc2b5915997fda5ef2729108a7d220b509a765f","_id":"@baiduplayer/brtc-beauty-effect@1.0.0","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-f6gEfGjh4rnCXezl+XeTKLMnT8gmwsw9pxr9zmvSe35tnj95PWELrAxzunDBISEiMC5L74/B9YL9CWHtlxjHJw==","shasum":"184a8588bff8477e51598ec7e0845936bcc22ed1","tarball":"https://registry.npmjs.org/@baiduplayer/brtc-beauty-effect/-/brtc-beauty-effect-1.0.0.tgz","fileCount":8,"unpackedSize":1499672,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrCQwoktYu8niSXNV9/h8prOfmFmQwyUqbKnsJQYfbcQIgF55NJAgOd/VfS/gq2mrQkyUWzFh/OR52/aVyNq4pACg="}]},"_npmUser":{"name":"duanyuanyuan1994","email":"13785615460@163.com"},"directories":{},"maintainers":[{"name":"duanyuanyuan1994","email":"13785615460@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/brtc-beauty-effect_1.0.0_1716189678313_0.2102436756053112"},"_hasShrinkwrap":false},"1.0.1":{"name":"@baiduplayer/brtc-beauty-effect","version":"1.0.1","description":"BRTCBeautyEffect 封装了百度云 RTC SDK 的美颜功能(美白(亮度)、磨皮（平滑度）、清晰（锐化度）、红润、对比度（明暗度）)，可以方便开发者在 Web 中使用。","main":"./brtc-beauty-effect.min.js","types":"./lib/index.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["brtc-beauty-effect","webgl"],"author":"","license":"ISC","gitHead":"fcc2b5915997fda5ef2729108a7d220b509a765f","_id":"@baiduplayer/brtc-beauty-effect@1.0.1","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-+bicgs4q6gwuE20GK87oMBUeixYsECya+G7sZIWfNFZ3S6hqDqRXmizi1qgijj0GCfuv7GHiG/yFoJnAPEPenw==","shasum":"be2b170d577525e8ed697561acbafa12f839ce21","tarball":"https://registry.npmjs.org/@baiduplayer/brtc-beauty-effect/-/brtc-beauty-effect-1.0.1.tgz","fileCount":8,"unpackedSize":1499580,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMzRaadubmlgqEG12VomjJUZaJz6us0krSbKVUJNxvHQIhAJcKYc1UotGF+hcVVV1B1ogrk6g3XQXh3PuH/TUlWIMt"}]},"_npmUser":{"name":"duanyuanyuan1994","email":"13785615460@163.com"},"directories":{},"maintainers":[{"name":"duanyuanyuan1994","email":"13785615460@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/brtc-beauty-effect_1.0.1_1716189955599_0.3799864056817066"},"_hasShrinkwrap":false},"1.0.2":{"name":"@baiduplayer/brtc-beauty-effect","version":"1.0.2","description":"BRTCBeautyEffect 封装了百度云 RTC SDK 的美颜功能(美白(亮度)、磨皮（平滑度）、清晰（锐化度）、红润、对比度（明暗度）)，可以方便开发者在 Web 中使用。","main":"./brtc-beauty-effect.min.js","types":"./lib/index.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["brtc-beauty-effect","webgl"],"author":"","license":"ISC","gitHead":"fcc2b5915997fda5ef2729108a7d220b509a765f","_id":"@baiduplayer/brtc-beauty-effect@1.0.2","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-znb0x98HT1qp3j3xQ1vpZ6fVzWbGNEEEutGYqDxteaImeoiQ9Xkmgo0GPEVY4qyMzlpfGtLsKjTXHNHl1+D4Pg==","shasum":"a8187e062ccc5c454e3253608ec1798de63eaaea","tarball":"https://registry.npmjs.org/@baiduplayer/brtc-beauty-effect/-/brtc-beauty-effect-1.0.2.tgz","fileCount":8,"unpackedSize":1499515,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMsrqUGG7pIX3LoQ66YGWKOtKamERwN8KHMqubCPC4IQIhAN0859A1YD7GUeuWEkBsUbkCC+d0nZGW5m0ppilrAK41"}]},"_npmUser":{"name":"duanyuanyuan1994","email":"13785615460@163.com"},"directories":{},"maintainers":[{"name":"duanyuanyuan1994","email":"13785615460@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/brtc-beauty-effect_1.0.2_1716190064007_0.3999686406431757"},"_hasShrinkwrap":false},"1.0.3":{"name":"@baiduplayer/brtc-beauty-effect","version":"1.0.3","description":"BRTCBeautyEffect 封装了百度云 RTC SDK 的美颜功能(美白(亮度)、磨皮（平滑度）、清晰（锐化度）、红润、对比度（明暗度）)，可以方便开发者在 Web 中使用。","main":"./brtc-beauty-effect.min.js","types":"./lib/index.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["brtc-beauty-effect","webgl"],"author":"","license":"ISC","gitHead":"2e700eab787b6c2673fe44797b31e3de3a64938c","_id":"@baiduplayer/brtc-beauty-effect@1.0.3","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-T/DBDztKYvuz+EeFizzorypv/j0kE/C9t9y+Kx3jMZqI2ZvSvVClvRsJyjvSVHy3fTZ51w9nWDGjTG28rJgbjw==","shasum":"e90995085b022a79a473f8207a0a8fedbd398481","tarball":"https://registry.npmjs.org/@baiduplayer/brtc-beauty-effect/-/brtc-beauty-effect-1.0.3.tgz","fileCount":6,"unpackedSize":1501910,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUIQ40DLho12UrrYO9Dx38EkV+/+FmNH0nGUDRDFubEQIhALMSISAicMHf8V4NwJ9sd5kz6ilV3zVmUr+QcF390B/1"}]},"_npmUser":{"name":"duanyuanyuan1994","email":"13785615460@163.com"},"directories":{},"maintainers":[{"name":"duanyuanyuan1994","email":"13785615460@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/brtc-beauty-effect_1.0.3_1716283229499_0.637747410301087"},"_hasShrinkwrap":false},"1.0.4":{"name":"@baiduplayer/brtc-beauty-effect","version":"1.0.4","description":"BRTCBeautyEffect 封装了百度云 RTC SDK 的美颜功能(美白(亮度)、磨皮（平滑度）、清晰（锐化度）、红润、对比度（明暗度）)，可以方便开发者在 Web 中使用。","main":"./brtc-beauty-effect.min.js","types":"./lib/index.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["brtc-beauty-effect","webgl"],"author":"","license":"ISC","gitHead":"7160032cedd1b208c6f1013e9c5701ae75a6a5b2","_id":"@baiduplayer/brtc-beauty-effect@1.0.4","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-pJ6LULE36tSfOVHBRxQym8K2NnIm68/UT6v8OAZO+LXOjIwVTExlWiWxpXo2Zvgo5vWpWZj1cfd2Bm3liYZ1Wg==","shasum":"e0e8d27a852220ba323d7f404c300e00e2dfec23","tarball":"https://registry.npmjs.org/@baiduplayer/brtc-beauty-effect/-/brtc-beauty-effect-1.0.4.tgz","fileCount":6,"unpackedSize":1509480,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtgqryAbKOG1lRVgWdbZQmLOBVxeUDtkk3PrADUl3iHAIhAITuzd9runmoxsSeecINlYJG6euonzN9+v1/GwYnht9U"}]},"_npmUser":{"name":"duanyuanyuan1994","email":"13785615460@163.com"},"directories":{},"maintainers":[{"name":"duanyuanyuan1994","email":"13785615460@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/brtc-beauty-effect_1.0.4_1716864327343_0.2581554275161835"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-20T07:21:18.219Z","1.0.0":"2024-05-20T07:21:18.518Z","modified":"2024-05-28T02:45:27.751Z","1.0.1":"2024-05-20T07:25:55.888Z","1.0.2":"2024-05-20T07:27:44.364Z","1.0.3":"2024-05-21T09:20:29.705Z","1.0.4":"2024-05-28T02:45:27.543Z"},"maintainers":[{"name":"duanyuanyuan1994","email":"13785615460@163.com"}],"description":"BRTCBeautyEffect 封装了百度云 RTC SDK 的美颜功能(美白(亮度)、磨皮（平滑度）、清晰（锐化度）、红润、对比度（明暗度）)，可以方便开发者在 Web 中使用。","keywords":["brtc-beauty-effect","webgl"],"license":"ISC","readme":"#### BRTCBeautyEffect\n #### 简介  \n\nBRTCBeautyEffect 封装了百度云 RTC SDK 的美颜功能(美白(亮度)、磨皮（平滑度）、清晰（锐化度）、红润、对比度（明暗度）)，可以方便开发者在 Web 中使用。\n\n #### 接入指南\n  \n ###### 1. 安装\n ###### npm安装\n         npm install @baiduplayer/brtc-beauty-effect\n ######     script标签引入\n        <script src=\"./brtc-beauty-effect.js\"></script>\n#####   2、使用\n###### \n###### 2.1 引入 \n\n       import BRTCBeautyEffect from \"@baiduplayer/brtc-beauty-effect\"\n\n或者\n    \n       <script src=\"./brtc-beauty-effect.js\"></script>\n##### 2.2 实例化 \n   1、创建beautyEffect实例 \n\n       let beautyEffect = new BRTCBeautyEffect()\n\n   2、使用beautyEffect实例，通过getBeautyStream获取美颜后的stream\n\n       let newStream = await beautyEffect.getBeautyStream(mediaStream,options)\n\n参数说明：\n\n| 参数 | 类型  |是否必填  |说明  |\n| --- | --- |--- |--- |\n| mediaStream | MediaStream | 是 | webrtc getUserMedia 生成的流或 new MediaStream构建的流 |\n|  options | Object | 否 | 可在初始化时设置美颜参数。详细见setOptions API参数说明 |\n\n#### API\n  ###### getBeautyStream\n\n    let newStream = await beautyEffect.getBeautyStream(mediaStream,options);\n\n参数说明：\n\n| 参数 | 类型  |是否必填  |说明  |\n| --- | --- |--- |--- |\n| mediaStream | MediaStream | 是 | webrtc getUserMedia 生成的流或 new MediaStream构建的流 |\n|  options | Object | 否 | 可在初始化时设置美颜参数。详细见setOptions API参数说明 |\n\n返回值：\n    newStream: MediaStream为生成的美颜流，可以直接发布，video.srcObject = newStream。\n  \n###### setOptions\n     设置美颜参数\n\n        beautyEffect.setOptions({\n            // 对比度。取值0，1，2\n            contrast: 2,\n            // 亮度。取值0-1\n            lightening: 0.7,\n            // 平滑度。取值0-1\n            smoothness: 0.6,\n            // 锐化程度。取值0-1\n            sharpness: 0.5,\n            // 红润度。取值0-1\n            redness: 0.5\n    }:beautyEffectOptions)\n\n参数说明：\n\n* contrast: 对比度，与 lightening 参数搭配使用。取值越大，明暗对比越强烈。取值包括：\n    * 0: 低对比度。\n    * 1: （默认）正常对比度。\n    * 2: 高对比度。\n* lightening: Number 型。亮度，取值范围为 [0.0,1.0]，其中 0.0 表示原始亮度。默认值为 0.5。用于实现美白效果，取值越大，美白程度越大。\n* smoothness: Number 型。平滑度，取值范围为 [0.0,1.0]，其中 0.0 表示原始磨皮程度。默认值为 0.5。用于实现祛痘、磨皮等效果，取值越大，磨皮程度越大。\n* sharpness: Number 型。锐化程度，取值范围为 [0.0,1.0]，其中 0.0 表示原始锐度。默认值为 0.5。用于实现提升画面清晰度的效果，取值越大，锐化程度越大。\n* redness: Number 型。红润度，取值范围为 [0.0,1.0]，其中 0.0 表示原始红润度。默认值为 0。用于实现红润肤色等效果，取值越大，红润程度越大。\n\n###### getOptions\n  获取当前美颜参数\n  \n   let options = beautyEffect.getOptions()\n\n   返回值：beautyEffectOptions\n    \n###### enable\n   开启美颜特效\n\n    beautyEffect.enable()\n\n###### disable\n   关闭美颜特效\n\n   beautyEffect.disable()\n\n###### destroy\n\n销毁美颜实例。销毁后再次使用需重新创建const beautyEffect = new BRTCBeautyEffect();\n\n    beautyEffect.destroy()\n\n#### 示例\n\n   ```html\n     <!DOCTYPE html>\n        <html lang=\"en\">\n        <head>\n            <meta charset=\"UTF-8\">\n            <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n            <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n            <title>rtc美颜</title>\n            <script src=\"../dist/brtc-beauty-effect.js\"></script>\n        </head>\n        <body>\n            <div>\n                <div style=\"display: inline-block\">\n                    <video id=\"beautyVideo\" width=\"340\" style=\"transform: scaleX(-1)\"></video>\n                </div>\n            </div>\n            <div>\n                <h4>美颜特效：</h4>\n                <div>\n                对比度：\n                <select id=\"ContrastBeauty\">\n                    <option>0</option>\n                    <option selected>1</option>\n                    <option>2</option>\n                </select>\n                </div>\n                <div>\n                <span>美白：</span>\n                <input type=\"range\" id=\"LighteningBeauty\" value=\"0.5\" max=\"1\" mmin=\"0\" step=\"0.1\" />\n                </div>\n                <div>\n                <span>磨皮：</span>\n                <input type=\"range\" id=\"SmoothnessBeauty\" value=\"0.5\" max=\"1\" mmin=\"0\" step=\"0.1\" />\n                </div>\n                <div>\n                <span>锐化：</span>\n                <input type=\"range\" id=\"SharpnessBeauty\" value=\"0.5\" max=\"1\" mmin=\"0\" step=\"0.1\" />\n                </div>\n                <div>\n                <span>红润：</span>\n                <input type=\"range\" id=\"RednessBeauty\" value=\"0\" max=\"1\" mmin=\"0\" step=\"0.1\" />\n                </div>\n                <button id=\"start\">开始</button>\n                <button id=\"enableBeauty\">开启美颜</button>\n                <button id=\"disableBeauty\">关闭美颜</button>\n                <button id=\"getoptions\">获取当前设置的美颜参数</button>\n                <button id=\"destroy\">销毁</button>\n            </div>\n        </body>\n        <script>\n               window.onload = ()=>{\n                let video = document.getElementById(\"beautyVideo\");\n                let beautyEffect = null;\n                let localStream = null;\n                start();\n                async function start(){\n                    beautyEffect = new BRTCBeautyEffect();\n                    localStream = await getLcalStream();\n                    if(localStream){\n                        let newStream = await beautyEffect.getBeautyStream(localStream)\n                        video.srcObject = newStream;\n                        video.play()\n                    }\n                    }\n                    function getLcalStream(){\n                    return new Promise((resolve)=>{\n                        navigator.mediaDevices.getUserMedia({\n                        video: {\n                            width: 1280,\n                            height: 720,\n                        },\n                        audio: false,\n                        })\n                        .then(async(stream) => {\n                            resolve(stream)\n                        });\n                    });\n                    }\n                    // 设置美颜特效\n                    let beautyEffectArray = [\n                    \"Lightening\",\n                    \"Smoothness\",\n                    \"Sharpness\",\n                    \"Redness\",\n                    \"Contrast\",\n                    ];\n                    beautyEffectArray.forEach((val) => {\n                    let documentVal = document.getElementById(val + \"Beauty\");\n                    documentVal.onchange = () => {\n                        let param = {\n                        [val.toLocaleLowerCase()]: documentVal.value,\n                        }\n                        beautyEffect.setOptions(param);\n                    };\n                    });\n                document.getElementById(\"start\").onclick = () => {\n                destroy();\n                start();\n                }\n                // 开启\n                document.getElementById(\"enableBeauty\").onclick = () => {\n                    beautyEffect.enable();\n                };\n                // 关闭\n                document.getElementById(\"disableBeauty\").onclick = () => {\n                    beautyEffect.disable();\n                };\n                // 获取当前设置的美颜参数\n                document.getElementById(\"getoptions\").onclick = () => {\n                    console.log(beautyEffect.getOptions(),'getoptions');\n                };\n                // 销毁 \n                document.getElementById(\"destroy\").onclick = () => {\n                    destroy()\n                }\n                function destroy(){\n                    beautyEffect && beautyEffect.destroy && beautyEffect.destroy();\n                    beautyEffect = null;\n                    localStream = null;\n                }\n                }\n        </script>\n        </html>\n     ```\n\n","readmeFilename":"README.md"}