npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

podchat-video-modifier

v1.0.4

Published

A package for modifying the background of WebRTC video streams using MediaPipe Selfie Segmentation.

Downloads

8

Readme

PodChatVideoModifier Class

The PodChatVideoModifier class provides powerful video processing capabilities that allow you to change video stream backgrounds dynamically, apply visual effects, and add reactions. This class is particularly useful in chat or conferencing applications to enhance video communication experiences.

Features

  • Dynamic Background Replacement: Replace video backgrounds with solid colors, images, or blur effects.
  • Segmentation: Leverages the MediaPipe Selfie Segmentation library for high-quality background segmentation.
  • Visual Effects: Apply grayscale, brightness, and contrast adjustments.
  • Reactions: Add animated reactions to the video stream.
  • Mobile Support: Automatically optimizes settings for mobile devices.

Installation

Usage

Importing the Class

import PodChatVideoModifier from "podchat-video-modifier";

Initializing the Class

Create an instance of the class by passing an optional chat agent:

const videoModifier = new PodChatVideoModifier({ chatAgent });

Changing the Background

videoModifier
  .setBackgroundColor('#0000FF') // Solid blue background
  .setBrightness(1.2) // Adjust brightness
  .setContrast(1.1) // Adjust contrast
  .changeBackground();

Adding Reactions

Add reactions like emojis:

videoModifier.addReaction('🎉', 100, 200, 3000); // Add a celebratory emoji

Setting Up a Preview

Generate a preview of the video modifications:

const previewStream = await videoModifier.makePreview();

Additional Configurations

  • Set FPS:

    videoModifier.setFps(30);
  • Apply Blur Effect:

    videoModifier.setBlur(5);
  • Apply Grayscale Effect:

    videoModifier.setGrayScale(true);

Background Options

Generate a list of available background options:

const backgroundOptions = videoModifier.backgroundList();

Background Types

  1. Colors:

    • #f9c0ab
    • #f4e0af
    • #a8cd89
    • #355f2e
  2. Images:

    • https://alireza5014.github.io/webrtc-bg-modifier/example/img/1.jpg
    • https://alireza5014.github.io/webrtc-bg-modifier/example/img/2.jpg
  3. Reactions:

    • 🎉, ❤️, 👍️, 😊, 😎, 👎

Example Project Setup

  1. Load the required MediaPipe library.
  2. Import and instantiate the PodChatVideoModifier class.
  3. Call appropriate methods to customize the video stream.

Notes

  • The segmentation feature requires the MediaPipe Selfie Segmentation library to be loaded.
  • Always ensure the video stream is properly initialized before applying modifications.

License

MIT License