Skip to content

2004durgesh/react-native-video-toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

102 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

react-native-video-toolkit

react-native-video-toolkit logo

My first ever real OSS project 😭. Be kind, I’m still figuring this out. A flexible and customizable video player UI toolkit for React Native.

πŸ‘‰ Full Documentation: https://react-native-video-toolkit-docs.vercel.app/

npm version license CI Workflow Status Docs Status discord

πŸ“‘ Table of Contents


πŸ“± Demo

Tip

The demo app is available in the example folder.
Clone the repo and run yarn example start inside the example directory to see the latest changes.
You can also download the demo app from the release builds.

Mode Preview
Portrait
Landscape
Landscape (with settings)

✨ Features

  • Fully Customizable UI – Build your own video player experience with modular components.
  • Theming Support – Light, dark, or your own custom theme.
  • Pre-built Layouts – Includes DefaultLayout to get started quickly.
  • Gesture Handling – Tap, double-tap, and other common playback gestures.
  • Rich Component Library – Controls like PlayButton, ProgressBar, TimeDisplay, FullscreenButton, MuteButton, and more.
  • Hooks-based API – Access player state and control playback, settings, and gestures.

βœ… Platform Compatibility

Platform Tested
Android βœ…
iOS ❌
Android TV βœ…
Apple TV ❌
Web βœ…

πŸ—ΊοΈ Roadmap

  • Core Player component
  • Customizable controls
  • Theming support
  • Gesture handling
  • Settings menu
  • Layout presets (DefaultLayout)
  • Fullscreen support
  • Landscape mode support
  • TV support (D-pad navigation)
  • Picture-in-Picture (PiP) mode
  • More advanced layouts (YouTube/Netflix-style)

πŸ“¦ Installation

npm install react-native-video-toolkit
# or
yarn add react-native-video-toolkit

πŸš€ Usage

import { VideoPlayer, DefaultLayout } from 'react-native-video-toolkit';

const App = () => {
  return (
    <VideoPlayer source={{ uri: 'https://example.com/video.mp4' }}>
      <DefaultLayout />
    </VideoPlayer>
  );
};

For more docs: πŸ‘‰ Documentation website.


πŸ› Issues

Yes, there are bugs. Probably lots. πŸ‘‰ Open an issue. It makes the project look active, so actually… thanks in advance.


🀝 Contributing

Wanna help? Please? πŸ™ Check the contributing guide. I’ll try to review your PR before I spiral into existential dread.


πŸ“œ License

MIT – because lawyers are scary.


Made with create-react-native-library Thanks to wuxnz for motivation (and maybe trauma) Thanks to zach for the docs template

Made with ❀️, caffeine, and way too many Chrome tabs by Durgesh