feat: add danmuku plugin documentation and i18n setup guide

- Created a new documentation file for the danmuku plugin, detailing its usage and providing code examples.
- Added a comprehensive guide for language settings (i18n), including instructions for importing languages, setting default languages, and modifying language options.
- Included code snippets for initializing the Artplayer with different languages and examples for adding new languages.
This commit is contained in:
Harvey Zack committed 2025-08-01 09:34:07 +08:00
1 parent c1fe0e2b03
commit 5337f9b075
181 files changed
+1680 -1659

No files matched your search

@@ -5,5 +5,5 @@
* (c) 2017-2025 Harvey Zack
* Released under the MIT License.
*/
!function(e,t,r,n,s,a,o,l){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof i[n]&&i[n],p=u.i||{},c=u.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!c[t]){if(!e[t]){if(s[t])return s[t];var a="function"==typeof i[n]&&i[n];if(!r&&a)return a(t,!0);if(u)return u(t,!0);if(d&&"string"==typeof t)return d(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}p.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},p.cache={};var l=c[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,i)}return c[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=d,this.exports={}},f.modules=e,f.cache=c,f.parent=u,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=p,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return i[n]}}),i[n]=f;for(var m=0;m<t.length;m++)f(t[m]);if(r){var h=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({"9DY5l":[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),s.export(r,"default",()=>l);var a=e("@tensorflow/tfjs-core");e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu");var o=e("@tensorflow-models/body-segmentation");function l(e={}){return t=>{let{template:{$video:r,$danmuku:n}}=t,s=null,l=null,i=null,u=null,p=!1,c={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};async function d(){try{await a.setBackend("webgl")}catch(e){console.warn("WebGL backend not available, falling back to CPU"),await a.setBackend("cpu")}}async function f(){await d();let e=o.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:c.solutionPath,modelSelection:c.modelSelection,smoothSegmentation:c.smoothSegmentation,minDetectionConfidence:c.minDetectionConfidence,minTrackingConfidence:c.minTrackingConfidence,selfieMode:c.selfieMode};try{s=await o.createSegmenter(e,t),console.log("Segmenter initialized:",s),p=!0}catch(e){console.error("Error initializing segmenter:",e),p=!1}}async function m(){if(!p||r.paused||r.ended){u=requestAnimationFrame(m);return}try{l.width=r.videoWidth,l.height=r.videoHeight;let e=await s.segmentPeople(r);if(!e||0===e.length){u=requestAnimationFrame(m);return}let t=await o.toBinaryMask(e,{r:255,g:255,b:255,a:255},{r:0,g:0,b:0,a:255},c.drawContour,c.foregroundThreshold);await o.drawMask(l,r,t,c.opacity,c.maskBlurAmount);let a=i.getImageData(0,0,l.width,l.height);i.putImageData(function(e){let t=e.data;for(let e=0;e<t.length;e+=4)t[e]>250&&t[e+1]>250&&t[e+2]>250&&(t[e+3]=0);return e}(a),0,0),n.style.maskImage=`url(${l.toDataURL()})`}catch(e){console.error("Error in segmentBody:",e)}u=requestAnimationFrame(m)}async function h(){p||await f(),l||(i=(l=document.createElement("canvas")).getContext("2d")),Object.assign(n.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),m()}function g(){n.style.maskImage="none",u&&(cancelAnimationFrame(u),u=null)}return t.on("ready",h),t.on("destroy",g),{name:"artplayerPluginDanmukuMask",start:h,stop:g}}}"undefined"!=typeof window&&(window.artplayerPluginDanmukuMask=l)},{"@tensorflow/tfjs-core":"biUij","@tensorflow/tfjs-backend-webgl":"c8bRp","@tensorflow/tfjs-backend-cpu":"hOvdB","@tensorflow-models/body-segmentation":"lcmzA","@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],biUij:[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),e("./base_side_effects");var a=e("./optimizers/register_optimizers"),o=e("./base");s.exportAll(o,r),(0,a.registerOptimizers)()},{"./base_side_effects":"gTsb3","./optimizers/register_optimizers":"1NAAy","./base":"2mOyX","@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],gTsb3:[function(e,t,r,n){var s=e("./engine");e("./flags"),e("./platforms/platform_browser"),e("./platforms/platform_node");var a=e("./ops/buffer"),o=e("./ops/cast"),l=e("./ops/clone"),i=e("./ops/print"),u=e("./tensor");(0,s.getOrMakeEngine)();let p={buffer:a.buffer,cast:o.cast,clone:l.clone,print:i.print};(0,u.setOpHandler)(p)},{"./engine":"c6qwc","./flags":"8o4LZ","./platforms/platform_browser":"brkqc","./platforms/platform_node":"a3UX5","./ops/buffer":"1EiiB","Line truncated
!function(e,t,r,n,s,a,o,l){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof i[n]&&i[n],u=p.i||{},c=p.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!c[t]){if(!e[t]){if(s[t])return s[t];var a="function"==typeof i[n]&&i[n];if(!r&&a)return a(t,!0);if(p)return p(t,!0);if(d&&"string"==typeof t)return d(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}u.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},u.cache={};var l=c[t]=new f.Module(t);e[t][0].call(l.exports,u,l,l.exports,i)}return c[t].exports;function u(e){var t=u.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=d,this.exports={}},f.modules=e,f.cache=c,f.parent=p,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=u,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return i[n]}}),i[n]=f;for(var m=0;m<t.length;m++)f(t[m]);if(r){var h=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({"4omrA":[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),s.export(r,"default",()=>l);var a=e("@tensorflow/tfjs-core");e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu");var o=e("@tensorflow-models/body-segmentation");function l(e={}){return t=>{let{template:{$video:r,$danmuku:n}}=t,s=null,l=null,i=null,p=null,u=!1,c={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};async function d(){try{await a.setBackend("webgl")}catch(e){console.warn("WebGL backend not available, falling back to CPU"),await a.setBackend("cpu")}}async function f(){await d();let e=o.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:c.solutionPath,modelSelection:c.modelSelection,smoothSegmentation:c.smoothSegmentation,minDetectionConfidence:c.minDetectionConfidence,minTrackingConfidence:c.minTrackingConfidence,selfieMode:c.selfieMode};try{s=await o.createSegmenter(e,t),console.log("Segmenter initialized:",s),u=!0}catch(e){console.error("Error initializing segmenter:",e),u=!1}}async function m(){if(!u||r.paused||r.ended){p=requestAnimationFrame(m);return}try{l.width=r.videoWidth,l.height=r.videoHeight;let e=await s.segmentPeople(r);if(!e||0===e.length){p=requestAnimationFrame(m);return}let t=await o.toBinaryMask(e,{r:255,g:255,b:255,a:255},{r:0,g:0,b:0,a:255},c.drawContour,c.foregroundThreshold);await o.drawMask(l,r,t,c.opacity,c.maskBlurAmount);let a=i.getImageData(0,0,l.width,l.height);i.putImageData(function(e){let t=e.data;for(let e=0;e<t.length;e+=4)t[e]>250&&t[e+1]>250&&t[e+2]>250&&(t[e+3]=0);return e}(a),0,0),n.style.maskImage=`url(${l.toDataURL()})`}catch(e){console.error("Error in segmentBody:",e)}p=requestAnimationFrame(m)}async function h(){u||await f(),l||(i=(l=document.createElement("canvas")).getContext("2d")),Object.assign(n.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),m()}function g(){n.style.maskImage="none",p&&(cancelAnimationFrame(p),p=null)}return t.on("ready",h),t.on("destroy",g),{name:"artplayerPluginDanmukuMask",start:h,stop:g}}}"undefined"!=typeof window&&(window.artplayerPluginDanmukuMask=l)},{"@tensorflow/tfjs-core":"1yKDM","@tensorflow/tfjs-backend-webgl":"5VdQ3","@tensorflow/tfjs-backend-cpu":"7Tpr3","@tensorflow-models/body-segmentation":"ehGbm","@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],"1yKDM":[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),e("./base_side_effects");var a=e("./optimizers/register_optimizers"),o=e("./base");s.exportAll(o,r),(0,a.registerOptimizers)()},{"./base_side_effects":"kHuGE","./optimizers/register_optimizers":"5pGXp","./base":"1T9Pk","@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],kHuGE:[function(e,t,r,n){var s=e("./engine");e("./flags"),e("./platforms/platform_browser"),e("./platforms/platform_node");var a=e("./ops/buffer"),o=e("./ops/cast"),l=e("./ops/clone"),i=e("./ops/print"),p=e("./tensor");(0,s.getOrMakeEngine)();let u={buffer:a.buffer,cast:o.cast,clone:l.clone,print:i.print};(0,p.setOpHandler)(u)},{"./engine":"3Kkwy","./flags":"alKWv","./platforms/platform_browser":"7iwjp","./platforms/platform_node":"lAuBP","./ops/buffer":"5Qstz"Line truncated
//# sourceMappingURL=artplayer-plugin-danmuku-mask.esm.js.map
@@ -1 +1 @@
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCKwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GALxB,IAAA,EAAA,EAAA,yBACA,EAAA,kCACA,EAAA,gCACA,IAAA,EAAA,EAAA,wCAEe,SAAS,EAA2B,EAAS,CAAC,CAAC,EAC1D,OAAO,AAAC,IACJ,GAAM,CACF,SAAU,CAAE,OAAA,CAAM,CAAE,SAAA,CAAQ,CAAE,CACjC,CAAG,EAEA,EAAY,KACZ,EAAS,KACT,EAAM,KACN,EAAmB,KACnB,EAAgB,CAAA,EAEd,EAAS,CACX,aAAc,EAAO,YAAY,EAAI,8DACrC,eAAgB,EAAO,cAAc,EAAI,EAC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 truncated
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCKwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GALxB,IAAA,EAAA,EAAA,yBACA,EAAA,kCACA,EAAA,gCACA,IAAA,EAAA,EAAA,wCAEe,SAAS,EAA2B,EAAS,CAAC,CAAC,EAC1D,OAAO,AAAC,IACJ,GAAM,CACF,SAAU,CAAE,OAAA,CAAM,CAAE,SAAA,CAAQ,CAAE,CACjC,CAAG,EAEA,EAAY,KACZ,EAAS,KACT,EAAM,KACN,EAAmB,KACnB,EAAgB,CAAA,EAEd,EAAS,CACX,aAAc,EAAO,YAAY,EAAI,8DACrC,eAAgB,EAAO,cAAc,EAAI,EAC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 truncated
@@ -5,4 +5,4 @@
* (c) 2017-2025 Harvey Zack
* Released under the MIT License.
*/
!function(e,t,r,n,s,a,o,l){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof i[n]&&i[n],u=p.i||{},c=p.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!c[t]){if(!e[t]){if(s[t])return s[t];var a="function"==typeof i[n]&&i[n];if(!r&&a)return a(t,!0);if(p)return p(t,!0);if(d&&"string"==typeof t)return d(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}u.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},u.cache={};var l=c[t]=new f.Module(t);e[t][0].call(l.exports,u,l,l.exports,i)}return c[t].exports;function u(e){var t=u.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=d,this.exports={}},f.modules=e,f.cache=c,f.parent=p,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=u,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return i[n]}}),i[n]=f;for(var m=0;m<t.length;m++)f(t[m]);if(r){var h=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({ecCzQ:[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),s.export(r,"default",()=>l);var a=e("@tensorflow/tfjs-core");e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu");var o=e("@tensorflow-models/body-segmentation");function l(e={}){return t=>{let{template:{$video:r,$danmuku:n}}=t,s=null,l=null,i=null,p=null,u=!1,c={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};async function d(){try{await a.setBackend("webgl")}catch(e){console.warn("WebGL backend not available, falling back to CPU"),await a.setBackend("cpu")}}async function f(){await d();let e=o.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:c.solutionPath,modelSelection:c.modelSelection,smoothSegmentation:c.smoothSegmentation,minDetectionConfidence:c.minDetectionConfidence,minTrackingConfidence:c.minTrackingConfidence,selfieMode:c.selfieMode};try{s=await o.createSegmenter(e,t),console.log("Segmenter initialized:",s),u=!0}catch(e){console.error("Error initializing segmenter:",e),u=!1}}async function m(){if(!u||r.paused||r.ended){p=requestAnimationFrame(m);return}try{l.width=r.videoWidth,l.height=r.videoHeight;let e=await s.segmentPeople(r);if(!e||0===e.length){p=requestAnimationFrame(m);return}let t=await o.toBinaryMask(e,{r:255,g:255,b:255,a:255},{r:0,g:0,b:0,a:255},c.drawContour,c.foregroundThreshold);await o.drawMask(l,r,t,c.opacity,c.maskBlurAmount);let a=i.getImageData(0,0,l.width,l.height);i.putImageData(function(e){let t=e.data;for(let e=0;e<t.length;e+=4)t[e]>250&&t[e+1]>250&&t[e+2]>250&&(t[e+3]=0);return e}(a),0,0),n.style.maskImage=`url(${l.toDataURL()})`}catch(e){console.error("Error in segmentBody:",e)}p=requestAnimationFrame(m)}async function h(){u||await f(),l||(i=(l=document.createElement("canvas")).getContext("2d")),Object.assign(n.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),m()}function g(){n.style.maskImage="none",p&&(cancelAnimationFrame(p),p=null)}return t.on("ready",h),t.on("destroy",g),{name:"artplayerPluginDanmukuMask",start:h,stop:g}}}"undefined"!=typeof window&&(window.artplayerPluginDanmukuMask=l)},{"@tensorflow/tfjs-core":"2Gtps","@tensorflow/tfjs-backend-webgl":"2ZcDF","@tensorflow/tfjs-backend-cpu":"b4yJT","@tensorflow-models/body-segmentation":"5Otso","@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],"2Gtps":[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),e("./base_side_effects");var a=e("./optimizers/register_optimizers"),o=e("./base");s.exportAll(o,r),(0,a.registerOptimizers)()},{"./base_side_effects":"2myjr","./optimizers/register_optimizers":"iq2z6","./base":"6xSpB","@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],"2myjr":[function(e,t,r,n){var s=e("./engine");e("./flags"),e("./platforms/platform_browser"),e("./platforms/platform_node");var a=e("./ops/buffer"),o=e("./ops/cast"),l=e("./ops/clone"),i=e("./ops/print"),p=e("./tensor");(0,s.getOrMakeEngine)();let u={buffer:a.buffer,cast:o.cast,clone:l.clone,print:i.print};(0,p.setOpHandler)(u)},{"./engine":"5aImO","./flags":"44Dje","./platforms/platform_browser":"5luux","./platforms/platform_node":"5A4CI","./ops/buffer":"avZau"Line truncated
!function(e,t,r,n,s,a,o,l){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof i[n]&&i[n],p=u.i||{},c=u.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!c[t]){if(!e[t]){if(s[t])return s[t];var a="function"==typeof i[n]&&i[n];if(!r&&a)return a(t,!0);if(u)return u(t,!0);if(d&&"string"==typeof t)return d(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}p.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},p.cache={};var l=c[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,i)}return c[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=d,this.exports={}},f.modules=e,f.cache=c,f.parent=u,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=p,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return i[n]}}),i[n]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var m=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({jz4E5:[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),s.export(r,"default",()=>l);var a=e("@tensorflow/tfjs-core");e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu");var o=e("@tensorflow-models/body-segmentation");function l(e={}){return t=>{let{template:{$video:r,$danmuku:n}}=t,s=null,l=null,i=null,u=null,p=!1,c={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};async function d(){try{await a.setBackend("webgl")}catch(e){console.warn("WebGL backend not available, falling back to CPU"),await a.setBackend("cpu")}}async function f(){await d();let e=o.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:c.solutionPath,modelSelection:c.modelSelection,smoothSegmentation:c.smoothSegmentation,minDetectionConfidence:c.minDetectionConfidence,minTrackingConfidence:c.minTrackingConfidence,selfieMode:c.selfieMode};try{s=await o.createSegmenter(e,t),console.log("Segmenter initialized:",s),p=!0}catch(e){console.error("Error initializing segmenter:",e),p=!1}}async function h(){if(!p||r.paused||r.ended){u=requestAnimationFrame(h);return}try{l.width=r.videoWidth,l.height=r.videoHeight;let e=await s.segmentPeople(r);if(!e||0===e.length){u=requestAnimationFrame(h);return}let t=await o.toBinaryMask(e,{r:255,g:255,b:255,a:255},{r:0,g:0,b:0,a:255},c.drawContour,c.foregroundThreshold);await o.drawMask(l,r,t,c.opacity,c.maskBlurAmount);let a=i.getImageData(0,0,l.width,l.height);i.putImageData(function(e){let t=e.data;for(let e=0;e<t.length;e+=4)t[e]>250&&t[e+1]>250&&t[e+2]>250&&(t[e+3]=0);return e}(a),0,0),n.style.maskImage=`url(${l.toDataURL()})`}catch(e){console.error("Error in segmentBody:",e)}u=requestAnimationFrame(h)}async function m(){p||await f(),l||(i=(l=document.createElement("canvas")).getContext("2d")),Object.assign(n.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),h()}function g(){n.style.maskImage="none",u&&(cancelAnimationFrame(u),u=null)}return t.on("ready",m),t.on("destroy",g),{name:"artplayerPluginDanmukuMask",start:m,stop:g}}}"undefined"!=typeof window&&(window.artplayerPluginDanmukuMask=l)},{"@tensorflow/tfjs-core":"jhEX1","@tensorflow/tfjs-backend-webgl":"2Izis","@tensorflow/tfjs-backend-cpu":"45fLq","@tensorflow-models/body-segmentation":"ikA4O","@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],jhEX1:[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),e("./base_side_effects");var a=e("./optimizers/register_optimizers"),o=e("./base");s.exportAll(o,r),(0,a.registerOptimizers)()},{"./base_side_effects":"iSAWM","./optimizers/register_optimizers":"8DxTt","./base":"gLLDj","@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],iSAWM:[function(e,t,r,n){var s=e("./engine");e("./flags"),e("./platforms/platform_browser"),e("./platforms/platform_node");var a=e("./ops/buffer"),o=e("./ops/cast"),l=e("./ops/clone"),i=e("./ops/print"),u=e("./tensor");(0,s.getOrMakeEngine)();let p={buffer:a.buffer,cast:o.cast,clone:l.clone,print:i.print};(0,u.setOpHandler)(p)},{"./engine":"1cdCr","./flags":"4KDHE","./platforms/platform_browser":"lkHTQ","./platforms/platform_node":"9b1si","./ops/buffer":"lKgEf","./Line truncated
@@ -5,4 +5,4 @@
* (c) 2017-2025 Harvey Zack
* Released under the MIT License.
*/
!function(e,t,r,n,a,o,s,i){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof c[n]&&c[n],l=u.i||{},p=u.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!p[t]){if(!e[t]){if(a[t])return a[t];var o="function"==typeof c[n]&&c[n];if(!r&&o)return o(t,!0);if(u)return u(t,!0);if(f&&"string"==typeof t)return f(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}l.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},l.cache={};var i=p[t]=new d.Module(t);e[t][0].call(i.exports,l,i,i.exports,c)}return p[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=f,this.exports={}},d.modules=e,d.cache=p,d.parent=u,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=l,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return c[n]}}),c[n]=d;for(var h=0;h<t.length;h++)d(t[h]);if(r){var m=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"1FGEJ":[function(e,t,r,n){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",function(){return u});var o=e("@swc/helpers/cjs/_async_to_generator.cjs"),s=e("@swc/helpers/cjs/_ts_generator.cjs"),i=e("@tensorflow/tfjs-core");e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu");var c=e("@tensorflow-models/body-segmentation");function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var r=t.template,n=r.$video,a=r.$danmuku,u=null,l=null,p=null,f=null,d=!1,h={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};function m(){return(m=(0,o._)(function(){return(0,s._)(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,4]),[4,i.setBackend("webgl")];case 1:case 3:return e.sent(),[3,4];case 2:return e.sent(),console.warn("WebGL backend not available, falling back to CPU"),[4,i.setBackend("cpu")];case 4:return[2]}})})).apply(this,arguments)}function g(){return(g=(0,o._)(function(){var e,t;return(0,s._)(this,function(r){switch(r.label){case 0:return[4,function(){return m.apply(this,arguments)}()];case 1:r.sent(),e=c.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:h.solutionPath,modelSelection:h.modelSelection,smoothSegmentation:h.smoothSegmentation,minDetectionConfidence:h.minDetectionConfidence,minTrackingConfidence:h.minTrackingConfidence,selfieMode:h.selfieMode},r.label=2;case 2:return r.trys.push([2,4,,5]),[4,c.createSegmenter(e,t)];case 3:return console.log("Segmenter initialized:",u=r.sent()),d=!0,[3,5];case 4:return console.error("Error initializing segmenter:",r.sent()),d=!1,[3,5];case 5:return[2]}})})).apply(this,arguments)}function v(){return _.apply(this,arguments)}function _(){return(_=(0,o._)(function(){var e,t,r,o,i;return(0,s._)(this,function(s){switch(s.label){case 0:if(!d||n.paused||n.ended)return f=requestAnimationFrame(v),[2];s.label=1;case 1:return s.trys.push([1,5,,6]),l.width=n.videoWidth,l.height=n.videoHeight,[4,u.segmentPeople(n)];case 2:if(!(e=s.sent())||0===e.length)return f=requestAnimationFrame(v),[2];return t={r:255,g:255,b:255,a:255},r={r:0,g:0,b:0,a:255},[4,c.toBinaryMask(e,t,r,h.drawContour,h.foregroundThreshold)];case 3:return o=s.sent(),[4,c.drawMask(l,n,o,h.opacity,h.maskBlurAmount)];case 4:return s.sent(),i=p.getImageData(0,0,l.width,l.height),p.putImageData(function(e){for(var t=e.data,r=0;r<t.length;r+=4)t[r]>250&&t[r+1]>250&&t[r+2]>250&&(t[r+3]=0);return e}(i),0,0),a.style.maskImage="url(".concat(l.toDataURL(),")"),[3,6];case 5:return console.error("Error in segmentBody:",s.sent()),[3,6];case 6:return f=requestAnimationFrame(v),[2]}})})).apply(this,arguments)}function x(){return y.apply(this,arguments)}function y(){return(y=(0,o._)(function(){return(0,s._)(this,function(e){switch(e.label){case 0:if(d)return[3,2];return[4,function(){return g.apply(this,arguments)}()];case 1:e.sent(),e.label=2;case 2:return l||(p=(l=document.createElement("canvas")).getContext("2d")),Object.assign(a.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),v(),[2]}})})).apply(this,arguments)}function b(){a.style.maskImage="none",f&&(cancelAnimationFrame(f),f=null)}return t.on("ready",x),t.oLine truncated
!function(e,t,r,n,a,o,s,i){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof c[n]&&c[n],l=u.i||{},p=u.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!p[t]){if(!e[t]){if(a[t])return a[t];var o="function"==typeof c[n]&&c[n];if(!r&&o)return o(t,!0);if(u)return u(t,!0);if(f&&"string"==typeof t)return f(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}l.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},l.cache={};var i=p[t]=new d.Module(t);e[t][0].call(i.exports,l,i,i.exports,c)}return p[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=f,this.exports={}},d.modules=e,d.cache=p,d.parent=u,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=l,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return c[n]}}),c[n]=d;for(var h=0;h<t.length;h++)d(t[h]);if(r){var m=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({bzF6W:[function(e,t,r,n){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",function(){return u});var o=e("@swc/helpers/cjs/_async_to_generator.cjs"),s=e("@swc/helpers/cjs/_ts_generator.cjs"),i=e("@tensorflow/tfjs-core");e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu");var c=e("@tensorflow-models/body-segmentation");function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var r=t.template,n=r.$video,a=r.$danmuku,u=null,l=null,p=null,f=null,d=!1,h={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};function m(){return(m=(0,o._)(function(){return(0,s._)(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,4]),[4,i.setBackend("webgl")];case 1:case 3:return e.sent(),[3,4];case 2:return e.sent(),console.warn("WebGL backend not available, falling back to CPU"),[4,i.setBackend("cpu")];case 4:return[2]}})})).apply(this,arguments)}function g(){return(g=(0,o._)(function(){var e,t;return(0,s._)(this,function(r){switch(r.label){case 0:return[4,function(){return m.apply(this,arguments)}()];case 1:r.sent(),e=c.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:h.solutionPath,modelSelection:h.modelSelection,smoothSegmentation:h.smoothSegmentation,minDetectionConfidence:h.minDetectionConfidence,minTrackingConfidence:h.minTrackingConfidence,selfieMode:h.selfieMode},r.label=2;case 2:return r.trys.push([2,4,,5]),[4,c.createSegmenter(e,t)];case 3:return console.log("Segmenter initialized:",u=r.sent()),d=!0,[3,5];case 4:return console.error("Error initializing segmenter:",r.sent()),d=!1,[3,5];case 5:return[2]}})})).apply(this,arguments)}function v(){return _.apply(this,arguments)}function _(){return(_=(0,o._)(function(){var e,t,r,o,i;return(0,s._)(this,function(s){switch(s.label){case 0:if(!d||n.paused||n.ended)return f=requestAnimationFrame(v),[2];s.label=1;case 1:return s.trys.push([1,5,,6]),l.width=n.videoWidth,l.height=n.videoHeight,[4,u.segmentPeople(n)];case 2:if(!(e=s.sent())||0===e.length)return f=requestAnimationFrame(v),[2];return t={r:255,g:255,b:255,a:255},r={r:0,g:0,b:0,a:255},[4,c.toBinaryMask(e,t,r,h.drawContour,h.foregroundThreshold)];case 3:return o=s.sent(),[4,c.drawMask(l,n,o,h.opacity,h.maskBlurAmount)];case 4:return s.sent(),i=p.getImageData(0,0,l.width,l.height),p.putImageData(function(e){for(var t=e.data,r=0;r<t.length;r+=4)t[r]>250&&t[r+1]>250&&t[r+2]>250&&(t[r+3]=0);return e}(i),0,0),a.style.maskImage="url(".concat(l.toDataURL(),")"),[3,6];case 5:return console.error("Error in segmentBody:",s.sent()),[3,6];case 6:return f=requestAnimationFrame(v),[2]}})})).apply(this,arguments)}function x(){return y.apply(this,arguments)}function y(){return(y=(0,o._)(function(){return(0,s._)(this,function(e){switch(e.label){case 0:if(d)return[3,2];return[4,function(){return g.apply(this,arguments)}()];case 1:e.sent(),e.label=2;case 2:return l||(p=(l=document.createElement("canvas")).getContext("2d")),Object.assign(a.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),v(),[2]}})})).apply(this,arguments)}function b(){a.style.maskImage="none",f&&(cancelAnimationFrame(f),f=null)}return t.on("ready",x),t.on(Line truncated