0.0.7 • Published 4 years ago

ng-opencam v0.0.7

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

Opencam

Opencam is an Angular library component developped to manipulate camera and perform various actions.

Demo

Try it out here: DEMO or clone this repo and run ng serve for a full demo of opencam.

Features

  • Stream video (audio support)
  • Record video / capture picture
  • Countdown
  • Framerate
  • CSS Filter

How to use

First install the package with the command npm i ng-opencam

Then, in your module.ts, import the library module

import { OpencamModule } from 'ng-opencam';

And add it to your imports modules. You can now use <ng-opencam></ng-opencam> it in any component.html

<ng-opencam
    [capture]='this.capture$'
    [height]='this.height'
    [width]='this.width'
    [captureType]='this.captureType'
    [streamState]='this.streamState'
    [mediaConstraints]='this.mediaConstraints'
    [videoSource]='this.videoSource'
    [audioSource]='this.audioSource'
    [filters]='this.filter'
    [framerate]='this.framerate'
    (videoSourceEvent)='this.getVideoSources($event)'
    (audioSourceEvent)='this.getAudioSources($event)'
    (captureEvent)='this.getCapture($event)'
    (errorEvent)='this.getErrors($event)'>
</ng-opencam>

Check out the repo for a full demo code here

Inputs

PropertyTypeNote
captureobservable(number)triggers the capture after specific timeout
heightstringheight size of the capture container, if null given capture container is not displayed
widthstringwidth size of the capture container, if null given capture container is not displayed
captureTypeenum(ECaptureType)switch between various capture mode (video, picture)
streamStateenum(EStreamState)switch between various stream states (play, pause, stop)mediaConstraintsenum(EMediaConstraints)switch between various media constraints (hd, vga, fhd, default)
videoSourceISourceDeviceSpecify the video source for the capture, sources are emitted by (videoSourceEvent) select the one you want to use
audioSourceISourceDeviceSpecify the audio source for the capture, sources are emitted by (audioSourceEvent) select the one you want to use
filtersstringApply css filters on the feed and capture
frameratenumberSpecify the framerate of the recording & canvas rendering

Outputs

EventTypeNote
(videoSourceEvent)array(interface(ISourceDevice))Emits the available video source devices for the capture, triggered every time a new video input is detected
(audioSourceEvent)array(ISourceDevice(ISourceDevice))Emits the available audio source devices for the capture, triggered every time a new audio input is detected
(captureEvent)stringEmits the data URL for the media (video, picture) when the capture is triggered (and ended for the video)
(errorEvent)ErrorEmits all errors

To-do

  • Improve filter system (add models to manipulate filters instead of css string)
  • Move media camera manipulation in a service

NPM

This package is on npm https://www.npmjs.com/package/ng-opencam

License

This package is under the MIT license