1.1.0 • Published 5 years ago

react-webcam-fixed v1.1.0

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

react-webcam

npm

Webcam component for React. See this for browser compatibility.

Note: Browsers will throw an error if the page is loaded from insecure origin. I.e. Use https.

Installation

npm install react-webcam

Demo

https://codepen.io/mozmorris/pen/JLZdoP

Usage

import React from "react";
import Webcam from "react-webcam-fixed";

class Component extends React.Component {
  render() {
    return <Webcam />;
  }
}

Props

proptypedefaultnotes
classNamestring''CSS class of video element
audiobooleantrueenable/disable audio
heightnumber480height of video element
widthnumber640width of video element
minScreenshotWidthnumbermin width of screenshot
minScreenshotHeightnumbermin height of screenshot
styleobjectstyle prop passed to video element
screenshotFormatstring'image/webp'format of screenshot
onUserMediafunctionnoopcallback for when component receives a media stream
onUserMediaErrorfunctionnoopcallback for when component can't receive a media stream with MediaStreamError param
screenshotQualitynumber0.92quality of screenshot(0 to 1)
audioConstraintsobjectMediaStreamConstraint(s) for the audio
videoConstraintsobjectMediaStreamConstraints(s) for the video

Methods

getScreenshot - Returns a base64 encoded string of the current webcam image. Example:

class WebcamCapture extends React.Component {
  setRef = webcam => {
    this.webcam = webcam;
  };

  capture = () => {
    const imageSrc = this.webcam.getScreenshot();
  };

  render() {
    const videoConstraints = {
      width: 1280,
      height: 720,
      facingMode: "user"
    };

    return (
      <div>
        <Webcam
          audio={false}
          height={350}
          ref={this.setRef}
          screenshotFormat="image/jpeg"
          width={350}
          videoConstraints={videoConstraints}
        />
        <button onClick={this.capture}>Capture photo</button>
      </div>
    );
  }
}

Choosing a camera

User/Selfie/forward facing camera

class WebcamCapture extends React.Component {
  render() {
    const videoConstraints = {
      facingMode: "user"
    };

    return <Webcam videoConstraints={videoConstraints} />;
  }
}

Enironment/Facing-Out camera

class WebcamCapture extends React.Component {
  render() {
    const videoConstraints = {
      facingMode: { exact: "environment" }
    };

    return <Webcam videoConstraints={videoConstraints} />;
  }
}

For more information on facingMode, please see the MDN web docs https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints/facingMode

License

MIT

Credits

Many thanks to @cezary for his work on this component.

1.1.0

5 years ago

1.0.7

5 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago