vue-stream-mask
You can see it working live here vue-stream-mask demo
3,524
| Install | |
|---|---|
npm install vue-stream-mask |
|
| Latest Version: | 0.2.18 |
| Vue: | 2 |
| Last Updated: | Jun 9, 2020 |
| Links: | npm |
Maintainer: sagoncalves
Vue Stream Mask Component
You can see it working live here vue-stream-mask demo
Features
- Person & multi-person body segmentation blurring video background
- Green screen mask, you can use the background you wish with a simple property
Add to your project
yarn add vue-stream-mask
Import component
import * as VueStreamMask from "vue-stream-mask"
Vue.use(VueStreamMask)
HTML
<vue-stream-mask />
Ways of use
- Default -
By default when the component loads it ask for the camera media and later emits the loaded event wich serves as a parameter the stream that you can add to a RTCPeerConnection, If you want to avoid this behaviour check the on demand way of use.
Example:
<vue-stream-mask @loaded="handleStream" />
<!-- somewhere else on like on your code methods -->
<script>
function handleStream(stream){
// Do things to the stream
// E.g. Send it to another computer using an RTCPeerConnection
// pc is an RTCPeerConnection created elsewhere
this.pc.addStream(stream);
}
</script>
- On demand -
If you want to ask for the media stream at a certain moment on your app
Example:
<vue-stream-mask await ref="vueStreamRef"/>
<!-- somewhere else on like on your code methods -->
<script>
async function initStream(){
let stream = await this.$refs.vueStreamRef.init()
// Do things to the stream
// E.g. Send it to another computer using an RTCPeerConnection
// pc is an RTCPeerConnection created elsewhere
this.pc.addStream(stream);
}
</script>
Methods
| function | Description |
|---|---|
async init() |
Triggering this function will start video capture and return a media stream object |
stop() |
Triggering this function will stop video capture |
Props
| Property name | Description |
|---|---|
await |
Component wont ask for media stream until you run the init() func |
show |
Displays a canvas element with the local stream |
multiple |
Enables multiple person segmentation |
background |
If enabled it replaces persons background with given img url |
backgroundBlurAmount |
if background prop its not defined you can handle with this one how much blur you want in the background |
Related Packages
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.2.18 | ^2.6.11 | ||
| 0.2.17 | ^2.6.11 | ||
| 0.2.16 | ^2.6.11 | ||
| 0.2.15 | ^2.6.11 | ||
| 0.2.14 | ^2.6.11 | ||
| 0.2.13 | ^2.6.11 | ||
| 0.2.12 | ^2.6.11 | ||
| 0.2.11 | ^2.6.11 | ||
| 0.2.10 | ^2.6.11 | ||
| 0.2.9 | ^2.6.11 | ||
| 0.2.8 | ^2.6.11 | ||
| 0.2.7 | ^2.6.11 | ||
| 0.2.6 | ^2.6.11 | ||
| 0.2.5 | ^2.6.11 | ||
| 0.2.4 | ^2.6.11 | ||
| 0.2.3 | ^2.6.11 | ||
| 0.2.2 | ^2.6.11 | ||
| 0.2.1 | ^2.6.11 | ||
| 0.2.0 | ^2.6.11 | ||
| 0.1.9 | ^2.6.11 | ||
| 0.1.8 | ^2.6.11 | ||
| 0.1.7 | ^2.6.11 | ||
| 0.1.6 | ^2.6.11 | ||
| 0.1.5 | ^2.6.11 | ||
| 0.1.4 | ^2.6.11 | ||
| 0.1.3 | ^2.6.11 | ||
| 0.1.1 | ^2.6.11 | ||
| 0.1.0 | ^2.6.11 |