Skip to content

@rendiv/player

Embeddable React player component. Drop any Rendiv composition into a React app with zero server dependency.

Installation

bash
npm install @rendiv/player @rendiv/core react react-dom

Usage

tsx
import { Player } from '@rendiv/player';
import { MyVideo } from './MyVideo';

export const App = () => (
  <Player
    component={MyVideo}
    totalFrames={150}
    fps={30}
    compositionWidth={1920}
    compositionHeight={1080}
    controls
    loop
  />
);

Props

PropTypeDefaultDescription
componentReact.FCrequiredThe composition component to render
totalFramesnumberrequiredTotal frames in the composition
fpsnumberrequiredFrames per second
compositionWidthnumberrequiredComposition width in pixels
compositionHeightnumberrequiredComposition height in pixels
controlsbooleanfalseShow playback controls
loopbooleanfalseLoop playback
autoPlaybooleanfalseStart playing immediately
styleCSSPropertiesContainer style
classNamestringContainer class
inputPropsobjectProps passed to the composition

Responsive Sizing

The Player automatically scales the composition to fit its container while maintaining the aspect ratio. Set the container's width and height with CSS.

tsx
<div style={{ width: '100%', maxWidth: 800 }}>
  <Player ... />
</div>

Released under the Apache License 2.0.