react-video-recorder Installation sh yarn add react-video-recorder Note: this project has react, react-dom, prop-types & styled-components …
react-video-recorder Installation sh yarn add react-video-recorder Note: this project has react, react-dom, prop-types & styled-components …
yarn add react-video-recorder
# Note: this project has react, react-dom, prop-types & styled-components as peerDependencies,
# so if you're starting from scratch run this instead:
yarn add react-video-recorder react react-dom prop-types styled-components
If using Typescript, typing is available via:
yarn add -D @types/react-video-recorder
Basic usage (edit in stakblitz):
import React from 'react'
import { render } from 'react-dom'
import VideoRecorder from 'react-video-recorder'
const App = () => (
{
// Do something with the video...
console.log('videoBlob', videoBlob)
}}
/>
)
render(, document.getElementById('root'))
Also check the Storybook for more demos and usage examples.
Note: if you click the "Show info" button in the top-right corner, you should be able to see a table with the supported prop-types.
All the UI can be customized by passing the following props:
renderDisconnectedViewView that's rendered before the user enables the camera access.
Default value: () =>
[See `` source here.](src/defaults/disconnected-view.js)
renderLoadingViewView that's rendered while the camera is initializing.
() =>
[See `` source here.](src/defaults/loading-view.js)
renderVideoInputViewView that's rendered when the browser does not support inline recording but allows opening the native camera (mainly iOS).
Default value: ({ videoInput }) => {videoInput}
renderUnsupportedViewView that's rendered when the browser does not support recording video.
Default value: () =>
[See `` source here.](src/defaults/unsupported-view.js)
renderErrorViewView that's rendered an unexpected error occurs.
Default value: () =>
[See `` source here.](src/defaults/error-view.js)
renderActionsOverlay that's rendered on top of the views and that contains the elements like the buttons, the timer or the countdown.
See the default implementation here.
Requirements
node version ">=8.3"
Install packages
yarn install
Run the storybook demo
yarn start
To commit run yarn start then commit. We use Husky to verify before committing.
No open issues yet, or sync has not completed.