{"id":35524381,"url":"https://github.com/2004durgesh/react-native-video-toolkit","last_synced_at":"2026-04-26T15:01:15.808Z","repository":{"id":307670833,"uuid":"1030134143","full_name":"2004durgesh/react-native-video-toolkit","owner":"2004durgesh","description":"A powerful, flexible, and customizable video player UI toolkit for React Native apps. Inspired by Vidstack","archived":false,"fork":false,"pushed_at":"2026-02-08T12:31:00.000Z","size":165512,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-12T19:22:20.184Z","etag":null,"topics":["react-native","react-native-video","react-native-video-toolkit","video","video-controls","video-player"],"latest_commit_sha":null,"homepage":"https://react-native-video-toolkit-docs.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/2004durgesh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-01T06:25:08.000Z","updated_at":"2026-02-08T12:31:03.000Z","dependencies_parsed_at":"2025-10-07T16:18:41.480Z","dependency_job_id":null,"html_url":"https://github.com/2004durgesh/react-native-video-toolkit","commit_stats":null,"previous_names":["2004durgesh/react-native-media-toolkit","2004durgesh/react-native-video-toolkit"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/2004durgesh/react-native-video-toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2004durgesh%2Freact-native-video-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2004durgesh%2Freact-native-video-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2004durgesh%2Freact-native-video-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2004durgesh%2Freact-native-video-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2004durgesh","download_url":"https://codeload.github.com/2004durgesh/react-native-video-toolkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2004durgesh%2Freact-native-video-toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32301330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["react-native","react-native-video","react-native-video-toolkit","video","video-controls","video-player"],"created_at":"2026-01-04T00:47:18.535Z","updated_at":"2026-04-26T15:01:15.783Z","avatar_url":"https://github.com/2004durgesh.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003ereact-native-video-toolkit\u003c/h1\u003e\n  \u003cimg src=\"./assets/icon.png\" width=\"100\" height=\"100\" alt=\"react-native-video-toolkit logo\" /\u003e\n\u003c/div\u003e\n\nMy **first ever real OSS project** 😭. Be kind, I’m still figuring this out.\nA flexible and customizable video player UI toolkit for React Native.\n\n👉 Full Documentation: [https://react-native-video-toolkit-docs.vercel.app/](https://react-native-video-toolkit-docs.vercel.app/)\n\n\u003ca href=\"https://www.npmjs.com/package/react-native-video-toolkit\"\u003e\n  \u003cimg src=\"https://img.shields.io/npm/v/react-native-video-toolkit\" alt=\"npm version\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/2004durgesh/react-native-video-toolkit/blob/main/LICENSE\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/2004durgesh/react-native-video-toolkit\" alt=\"license\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/2004durgesh/react-native-video-toolkit/actions/workflows/ci.yml\"\u003e\n  \u003cimg\n    src=\"https://img.shields.io/github/actions/workflow/status/2004durgesh/react-native-video-toolkit/ci.yml?label=ci\"\n    alt=\"CI Workflow Status\"\n  /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://react-native-video-toolkit-docs.vercel.app/\"\u003e\n  \u003cimg src=\"https://deploy-badge.vercel.app/vercel/react-native-video-toolkit-docs?name=docs\" alt=\"Docs Status\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://discord.gg/n7xVPxbG4R\"\u003e\n  \u003cimg\n    src=\"https://img.shields.io/discord/1387063063223599265?color=7289da\u0026label=discord\u0026logo=discord\u0026logoColor=7289d\"\n    alt=\"discord\"\n  /\u003e\n\u003c/a\u003e\n\n---\n\n## 📑 Table of Contents\n\n- [📱 Demo](#-demo)\n- [✨ Features](#-features)\n- [✅ Platform Compatibility](#-platform-compatibility)\n- [🗺️ Roadmap](#-roadmap)\n- [📦 Installation](#-installation)\n- [🚀 Usage](#-usage)\n- [🐛 Issues](#-issues)\n- [🤝 Contributing](#-contributing)\n- [📜 License](#-license)\n\n---\n\n## 📱 Demo\n\n\u003e [!TIP]  \n\u003e The demo app is available in the `example` folder.  \n\u003e Clone the repo and run `yarn example start` inside the `example` directory to see the latest changes.  \n\u003e You can also download the demo app from the [release builds](https://github.com/2004durgesh/react-native-video-toolkit/releases/latest).\n\n| Mode                          | Preview                                               |\n| ----------------------------- | ----------------------------------------------------- |\n| **Portrait**                  | \u003cimg src=\"./assets/mobile-portrait.png\" height=\"300\"\u003e |\n| **Landscape**                 | \u003cimg src=\"./assets/mobile-land-1.png\" width=\"300\"\u003e    |\n| **Landscape (with settings)** | \u003cimg src=\"./assets/mobile-land-2.png\" width=\"300\"\u003e    |\n\n---\n\n## ✨ Features\n\n- **Fully Customizable UI** – Build your own video player experience with modular components.\n- **Theming Support** – Light, dark, or your own custom theme.\n- **Pre-built Layouts** – Includes `DefaultLayout` to get started quickly.\n- **Gesture Handling** – Tap, double-tap, and other common playback gestures.\n- **Rich Component Library** – Controls like `PlayButton`, `ProgressBar`, `TimeDisplay`, `FullscreenButton`, `MuteButton`, and more.\n- **Hooks-based API** – Access player state and control playback, settings, and gestures.\n\n---\n\n## ✅ Platform Compatibility\n\n| Platform   | Tested |\n| ---------- | :----: |\n| Android    |   ✅   |\n| iOS        |   ❌   |\n| Android TV |   ✅   |\n| Apple TV   |   ❌   |\n| Web        |   ✅   |\n\n---\n\n## 🗺️ Roadmap\n\n- [x] Core Player component\n- [x] Customizable controls\n- [x] Theming support\n- [x] Gesture handling\n- [x] Settings menu\n- [x] Layout presets (`DefaultLayout`)\n- [x] Fullscreen support\n- [x] Landscape mode support\n- [ ] TV support (D-pad navigation)\n- [ ] Picture-in-Picture (PiP) mode\n- [ ] More advanced layouts (YouTube/Netflix-style)\n\n---\n\n## 📦 Installation\n\n```bash\nnpm install react-native-video-toolkit\n# or\nyarn add react-native-video-toolkit\n```\n\n---\n\n## 🚀 Usage\n\n```tsx\nimport { VideoPlayer, DefaultLayout } from 'react-native-video-toolkit';\n\nconst App = () =\u003e {\n  return (\n    \u003cVideoPlayer source={{ uri: 'https://example.com/video.mp4' }}\u003e\n      \u003cDefaultLayout /\u003e\n    \u003c/VideoPlayer\u003e\n  );\n};\n```\n\nFor more docs:\n👉 [Documentation website](https://react-native-video-toolkit-docs.vercel.app/).\n\n---\n\n## 🐛 Issues\n\nYes, there are bugs. Probably lots.\n👉 [Open an issue](https://github.com/2004durgesh/react-native-video-toolkit/issues).\nIt makes the project look active, so actually… thanks in advance.\n\n---\n\n## 🤝 Contributing\n\nWanna help? Please? 🙏\nCheck the [contributing guide](CONTRIBUTING.md). I’ll try to review your PR before I spiral into existential dread.\n\n---\n\n## 📜 License\n\nMIT – because lawyers are scary.\n\n---\n\nMade with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)\nThanks to [wuxnz](https://github.com/wuxnz) for motivation (and maybe trauma)\nThanks to [zach](https://github.com/founded-labs/react-native-reusables/tree/main/apps/docs) for the docs template\n\nMade with ❤️, caffeine, and way too many Chrome tabs by [Durgesh](https://github.com/2004durgesh)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2004durgesh%2Freact-native-video-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2004durgesh%2Freact-native-video-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2004durgesh%2Freact-native-video-toolkit/lists"}