mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-24 13:09:20 +00:00
Load background detection network only when required
This commit is contained in:
parent
08091425f1
commit
9bee589dc4
@ -962,41 +962,46 @@ class CallWindow extends CustomEvents {
|
|||||||
canvasTarget.height = videoTarget.height;
|
canvasTarget.height = videoTarget.height;
|
||||||
|
|
||||||
|
|
||||||
bodyPix.load({
|
// Process images
|
||||||
multiplier: 0.75,
|
(async () => {
|
||||||
stride: 32,
|
try {
|
||||||
quantBytes: 4
|
|
||||||
}).then( net => {
|
|
||||||
(async () => {
|
|
||||||
try {
|
|
||||||
|
|
||||||
|
while(videoTrack.readyState == "live")
|
||||||
|
{
|
||||||
|
if (this.blurBackground) {
|
||||||
|
|
||||||
|
// Load network if required
|
||||||
|
if (!this.backgroundDetectionNetwork)
|
||||||
|
{
|
||||||
|
this.backgroundDetectionNetwork = await bodyPix.load({
|
||||||
|
multiplier: 0.75,
|
||||||
|
stride: 32,
|
||||||
|
quantBytes: 4
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const segmentation = await this.backgroundDetectionNetwork.segmentPerson(videoTarget);
|
||||||
|
|
||||||
|
const backgroundBlurAmount = 6;
|
||||||
|
const edgeBlurAmount = 2;
|
||||||
|
const flipHorizontal = true;
|
||||||
|
|
||||||
|
bodyPix.drawBokehEffect(
|
||||||
|
canvasTarget, videoTarget, segmentation, backgroundBlurAmount,
|
||||||
|
edgeBlurAmount, flipHorizontal);
|
||||||
|
}
|
||||||
|
|
||||||
while(videoTrack.readyState == "live")
|
else {
|
||||||
{
|
canvas.drawImage(videoTarget, 0, 0, videoTarget.width, videoTarget.height);
|
||||||
if (this.blurBackground) {
|
await new Promise((res, rej) => setTimeout(() => res(), 40));
|
||||||
const segmentation = await net.segmentPerson(videoTarget);
|
|
||||||
|
|
||||||
const backgroundBlurAmount = 6;
|
|
||||||
const edgeBlurAmount = 2;
|
|
||||||
const flipHorizontal = true;
|
|
||||||
|
|
||||||
bodyPix.drawBokehEffect(
|
|
||||||
canvasTarget, videoTarget, segmentation, backgroundBlurAmount,
|
|
||||||
edgeBlurAmount, flipHorizontal);
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
|
||||||
canvas.drawImage(videoTarget, 0, 0, videoTarget.width, videoTarget.height);
|
|
||||||
await new Promise((res, rej) => setTimeout(() => res(), 40));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(e)
|
}
|
||||||
{
|
catch(e)
|
||||||
console.error("Failure", e);
|
{
|
||||||
}
|
console.error("Failure", e);
|
||||||
})();
|
}
|
||||||
});
|
})();
|
||||||
|
|
||||||
|
|
||||||
stream = canvasTarget.captureStream();
|
stream = canvasTarget.captureStream();
|
||||||
|
Loading…
Reference in New Issue
Block a user