movi-player 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,14 +1,104 @@
1
- # Movi-Player
1
+ # 🎬 Movi-Player
2
2
 
3
- **Modular streaming video library for browsers with WebAssembly FFmpeg pipeline**
3
+ > Modern, modular video player for the web powered by WebCodecs + FFmpeg WASM
4
+ > Built for HDR, performance, and professional streaming workflows.
4
5
 
5
6
  [![npm version](https://img.shields.io/npm/v/movi-player.svg)](https://www.npmjs.com/package/movi-player)
6
- [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
7
8
  [![Browser Support](https://img.shields.io/badge/browsers-Chrome%2094%2B%20%7C%20Safari%2016.4%2B%20%7C%20Edge%2094%2B-brightgreen.svg)](https://caniuse.com/webcodecs)
8
9
 
9
- Movi-Player is a powerful, modular video playback library that brings native-like video performance to the web. Built on WebCodecs API and FFmpeg WASM, it offers hardware-accelerated decoding, HDR support, and a professional UI—all in a lightweight package.
10
+ 👉 **Install:** `npm i movi-player`
11
+ 👉 **Docs:** [mrujjwalg.github.io/movi-player](https://mrujjwalg.github.io/movi-player/)
12
+ 👉 **Demo:** [movi-player-examples.vercel.app](https://movi-player-examples.vercel.app/element.html)
10
13
 
11
- ![Movi Player Showcase](docs/images/element.gif)
14
+ ### Element Module (Full UI)
15
+
16
+ ![Movi Player Element](docs/images/element.gif)
17
+
18
+ 👉 [View Live Demo](https://movi-player-examples.vercel.app/element.html) | [See Code Example](https://github.com/mrujjwalg/movi-player-examples/blob/main/element.html)
19
+
20
+ ### Player Module (Custom UI)
21
+
22
+ ![Custom Player](docs/images/custom.gif)
23
+
24
+ 👉 [View Live Demo](https://movi-player-examples.vercel.app/youtube.html) | [See Code Example](https://github.com/mrujjwalg/movi-player-examples/blob/main/youtube.html)
25
+
26
+ > 🚀 **No Server-Side Processing Required!** — All video parsing, demuxing, and decoding happens entirely in the browser using FFmpeg WASM & WebCodecs. Multiple audio/subtitle tracks are supported without any conversion or processing!
27
+
28
+ ## ⚠️ Important: CORS & Headers
29
+
30
+ Because Movi-Player uses **WebAssembly** and **SharedArrayBuffer** for high-performance streaming, your server needs to support:
31
+
32
+ 1. **Range Requests:** Required for seeking in large files.
33
+ 2. **CORS Headers:** If your video is on a different domain.
34
+ 3. **COI Headers (Optional):** For maximum performance (Zero-copy), set:
35
+ - `Cross-Origin-Opener-Policy: same-origin`
36
+ - `Cross-Origin-Embedder-Policy: require-corp`
37
+
38
+ **Can't modify server headers?** Use a **Service Worker** to inject COI headers client-side:
39
+
40
+ ```javascript
41
+ // sw.js
42
+ self.addEventListener('fetch', (event) => {
43
+ event.respondWith(
44
+ fetch(event.request).then((response) => {
45
+ const newHeaders = new Headers(response.headers);
46
+ newHeaders.set('Cross-Origin-Embedder-Policy', 'require-corp');
47
+ newHeaders.set('Cross-Origin-Opener-Policy', 'same-origin');
48
+ return new Response(response.body, {
49
+ status: response.status,
50
+ statusText: response.statusText,
51
+ headers: newHeaders,
52
+ });
53
+ })
54
+ );
55
+ });
56
+
57
+ // Register in your app
58
+ if ('serviceWorker' in navigator) {
59
+ navigator.serviceWorker.register('/sw.js');
60
+ }
61
+ ```
62
+
63
+ ---
64
+
65
+ ## ⚡ TL;DR
66
+
67
+ Movi-Player helps you build **high-performance video players in browsers** with:
68
+
69
+ ✅ WebCodecs + FFmpeg WASM decoding
70
+ ✅ HDR detection & rendering
71
+ ✅ Canvas-based secure rendering
72
+ ✅ Modular size (45KB → 410KB)
73
+ ✅ MP4, MKV, TS, WebM, MOV support
74
+ ✅ **No server-side processing** — All processing happens in the browser!
75
+
76
+ > If you need serious video playback in web apps — Movi-Player is for you.
77
+
78
+ 📦 Install:
79
+
80
+ ```bash
81
+ npm i movi-player
82
+ ```
83
+
84
+ - Full Documentation → https://mrujjwalg.github.io/movi-player/
85
+ - Default Player → https://movi-player-examples.vercel.app/element.html
86
+ - Demuxer → https://movi-player-examples.vercel.app/demuxer.html
87
+ - Custom UI → https://movi-player-examples.vercel.app/youtube.html
88
+
89
+ ---
90
+
91
+ ## 🤔 Why Movi-Player?
92
+
93
+ | Feature | movi-player | video.js | hls.js |
94
+ | ------------------------- | ----------- | -------- | ------ |
95
+ | WebCodecs | ✅ | ❌ | ❌ |
96
+ | HDR Support | ✅ | ❌ | ❌ |
97
+ | MKV / TS | ✅ | ❌ | ❌ |
98
+ | Canvas Renderer | ✅ | ❌ | ❌ |
99
+ | Modular | ✅ | ❌ | ❌ |
100
+ | FFmpeg WASM | ✅ | ❌ | ❌ |
101
+ | No Server-Side Processing | ✅ | ❌ | ❌ |
12
102
 
13
103
  ---
14
104
 
@@ -28,12 +118,10 @@ Movi-Player is a powerful, modular video playback library that brings native-lik
28
118
 
29
119
  ---
30
120
 
31
- ## 📖 Documentation & Examples
32
-
33
- - **[📚 Full Documentation](docs/)** - Comprehensive guides and API reference
121
+ - **[📚 Documentation](https://mrujjwalg.github.io/movi-player/)** - Comprehensive guides and API reference
34
122
  - **[🎮 Live Examples](https://github.com/MrUjjwalG/movi-player-examples)** - Interactive demos and sample code
35
- - **[🏗️ Architecture Guide](docs/ARCHITECTURE.md)** - System design and internals
36
- - **[🎬 API Reference](docs/PLAYER.md)** - Complete API documentation
123
+ - **[🏗️ Architecture Guide](https://mrujjwalg.github.io/movi-player/guide/architecture)** - System design and internals
124
+ - **[🎬 API Reference](https://mrujjwalg.github.io/movi-player/api/player)** - Complete API documentation
37
125
 
38
126
  ---
39
127
 
@@ -47,7 +135,29 @@ npm install movi-player
47
135
 
48
136
  ### Basic Usage
49
137
 
50
- #### Option 1: Custom HTML Element (Easiest)
138
+ #### Option 1: CDN (No Install Required)
139
+
140
+ ```html
141
+ <!DOCTYPE html>
142
+ <html>
143
+ <head>
144
+ <script type="module">
145
+ import "https://unpkg.com/movi-player@latest/dist/element.js";
146
+ </script>
147
+ </head>
148
+ <body>
149
+ <movi-player
150
+ src="https://example.com/video.mp4"
151
+ controls
152
+ autoplay
153
+ muted
154
+ style="width: 100%; height: 500px;"
155
+ ></movi-player>
156
+ </body>
157
+ </html>
158
+ ```
159
+
160
+ #### Option 2: Custom HTML Element (npm)
51
161
 
52
162
  ```html
53
163
  <!DOCTYPE html>
@@ -69,30 +179,83 @@ npm install movi-player
69
179
  </html>
70
180
  ```
71
181
 
72
- #### Option 2: Programmatic Player API
182
+ > ⚠️ **CORS Note**: When using HTTP URLs, ensure your server has CORS enabled. For local file playback using `FileSource`, no CORS configuration is needed!
183
+
184
+ #### Option 3: Programmatic Player API
73
185
 
74
186
  ```typescript
75
- import { MoviPlayer } from "movi-player/player";
187
+ import { MoviPlayer, LogLevel } from "movi-player/player";
188
+
189
+ // Optional: Set log level
190
+ MoviPlayer.setLogLevel(LogLevel.ERROR);
76
191
 
77
192
  const canvas = document.getElementById("canvas") as HTMLCanvasElement;
78
193
  const player = new MoviPlayer({
79
- source: { url: "https://example.com/video.mp4" },
194
+ source: {
195
+ type: "url",
196
+ url: "https://example.com/video.mp4",
197
+ },
80
198
  canvas: canvas,
199
+ renderer: "canvas",
200
+ decoder: "auto",
81
201
  });
82
202
 
83
- await player.load({ url: "https://example.com/video.mp4" });
203
+ // Event listeners
204
+ player.on("loadEnd", () => console.log("Loaded!"));
205
+ player.on("stateChange", (state) => console.log("State:", state));
206
+ player.on("error", (e) => console.error(e));
207
+
208
+ // Load and play
209
+ await player.load();
84
210
  await player.play();
85
211
  ```
86
212
 
87
- #### Option 3: Demuxer Only (Metadata & HDR Extraction)
213
+ #### Option 4: Local File Playback (FileSource)
214
+
215
+ Play local video files directly from user's device — **no upload to server needed!**
216
+
217
+ ```typescript
218
+ import { MoviPlayer, FileSource } from "movi-player/player";
219
+
220
+ // Get file from input element
221
+ const fileInput = document.getElementById("file") as HTMLInputElement;
222
+ const canvas = document.getElementById("canvas") as HTMLCanvasElement;
223
+
224
+ fileInput.addEventListener("change", async (e) => {
225
+ const file = (e.target as HTMLInputElement).files?.[0];
226
+ if (!file) return;
227
+
228
+ const player = new MoviPlayer({
229
+ source: {
230
+ type: "file",
231
+ file: file,
232
+ },
233
+ canvas: canvas,
234
+ });
235
+
236
+ await player.load();
237
+ await player.play();
238
+ });
239
+ ```
240
+
241
+ > 💡 **No server required!** Video parsing, demuxing, and decoding all happen on the client using FFmpeg WASM.
242
+
243
+ #### Option 5: Demuxer Only (Metadata & HDR Extraction)
88
244
 
89
245
  ![Demuxer Overview](docs/images/demuxer.webp)
90
246
 
247
+ 👉 [View Live Demo](https://movi-player-examples.vercel.app/demuxer.html) | [See Code Example](https://github.com/mrujjwalg/movi-player-examples/blob/main/demuxer.html)
248
+
91
249
  ```typescript
92
- import { Demuxer, HttpSource } from "movi-player/demuxer";
250
+ import { Demuxer, HttpSource, FileSource } from "movi-player/demuxer";
93
251
 
94
- const source = new HttpSource("video.mp4");
95
- const demuxer = new Demuxer(source);
252
+ // From URL
253
+ const httpSource = new HttpSource("video.mp4");
254
+
255
+ // OR from local file (no server upload needed!)
256
+ const fileSource = new FileSource(localFile);
257
+
258
+ const demuxer = new Demuxer(httpSource); // or fileSource
96
259
 
97
260
  const info = await demuxer.open();
98
261
  console.log(`Duration: ${info.duration}s`);
@@ -129,6 +292,8 @@ Movi-Player's modular design makes it perfect for a wide range of applications:
129
292
 
130
293
  ### Demuxer Module (50KB)
131
294
 
295
+ 👉 [View Live Demo](https://movi-player-examples.vercel.app/demuxer.html) | [See Code Example](https://github.com/mrujjwalg/movi-player-examples/blob/main/demuxer.html)
296
+
132
297
  - **Media Asset Management**: Catalog video libraries without playing files
133
298
  - **Video Validators**: Check uploaded files against platform requirements
134
299
  - **HDR Detection**: Automatically tag HDR content in video pipelines
@@ -138,6 +303,10 @@ Movi-Player's modular design makes it perfect for a wide range of applications:
138
303
 
139
304
  ### Player Module (180KB)
140
305
 
306
+ ![Custom Player UI](docs/images/custom.gif)
307
+
308
+ 👉 [View Live Demo](https://movi-player-examples.vercel.app/youtube.html) | [See Code Example](https://github.com/mrujjwalg/movi-player-examples/blob/main/youtube.html)
309
+
141
310
  - **Custom Video Players**: Build branded players with custom UI
142
311
  - **Educational Platforms**: Interactive learning videos with quiz overlays
143
312
  - **Multi-Language Platforms**: Netflix-style audio/subtitle switching
@@ -163,7 +332,7 @@ Movi-Player's modular design makes it perfect for a wide range of applications:
163
332
  - **Real Estate**: Virtual property tours with room navigation
164
333
  - **Science**: Time-lapse microscopy and data visualization
165
334
 
166
- **[View Detailed Use Cases & Code Examples →](docs/USE_CASES.md)**
335
+ **[View Detailed Use Cases & Code Examples →](https://mrujjwalg.github.io/movi-player/guide/use-cases)**
167
336
 
168
337
  ---
169
338
 
@@ -349,21 +518,21 @@ Comprehensive documentation is available in the [docs/](docs/) directory:
349
518
 
350
519
  ### Core Documentation
351
520
 
352
- - **[Architecture](docs/ARCHITECTURE.md)** - System design, data flow, and performance
353
- - **[Demuxer](docs/DEMUXER.md)** - Container parsing and metadata extraction
354
- - **[Player](docs/PLAYER.md)** - Playback control, A/V sync, and track management
355
- - **[Video Element](docs/VIDEO_ELEMENT.md)** - Custom HTML element API and attributes
521
+ - **[Architecture](https://mrujjwalg.github.io/movi-player/guide/architecture)** - System design, data flow, and performance
522
+ - **[Demuxer](https://mrujjwalg.github.io/movi-player/api/demuxer)** - Container parsing and metadata extraction
523
+ - **[Player](https://mrujjwalg.github.io/movi-player/api/player)** - Playback control, A/V sync, and track management
524
+ - **[Video Element](https://mrujjwalg.github.io/movi-player/api/element)** - Custom HTML element API and attributes
356
525
 
357
526
  ### Standards & Compliance
358
527
 
359
- - **[ISO Standards Compliance](docs/ISO_STANDARDS_COMPLIANCE.md)** - Standards verification report
528
+ - **[ISO Standards Compliance](https://mrujjwalg.github.io/movi-player/guide/standards)** - Standards verification report
360
529
 
361
530
  ### Quick Links
362
531
 
363
- - [Getting Started Guide](docs/README.md)
364
- - [API Reference](docs/PLAYER.md#api-reference)
365
- - [Event Documentation](docs/PLAYER.md#events)
366
- - [Color Space & HDR](docs/DEMUXER.md#color-space-handling)
532
+ - [Getting Started Guide](https://mrujjwalg.github.io/movi-player/guide/getting-started)
533
+ - [API Reference](https://mrujjwalg.github.io/movi-player/api/player)
534
+ - [Event Documentation](https://mrujjwalg.github.io/movi-player/api/events)
535
+ - [Color Space & HDR](https://mrujjwalg.github.io/movi-player/guide/hdr-support)
367
536
 
368
537
  ### Examples
369
538
 
@@ -439,8 +608,15 @@ The `<movi-player>` element supports standard video attributes plus enhancements
439
608
  hdr <!-- Enable HDR rendering -->
440
609
  ambientmode <!-- Ambient background effects -->
441
610
  renderer="canvas" <!-- canvas | mse -->
442
- sw <!-- Force software decoding -->
611
+ sw="auto" <!-- auto (default) | true | false -->
443
612
  fps="0" <!-- Custom frame rate override -->
613
+ gesturefs <!-- Gestures only in fullscreen -->
614
+ nohotkeys <!-- Disable keyboard shortcuts -->
615
+ startat="0" <!-- Start playback at time (seconds) -->
616
+ fastseek <!-- Enable ±10s skip controls -->
617
+ doubletap="true" <!-- Enable double-tap to seek -->
618
+ themecolor="#4CAF50" <!-- Custom theme color -->
619
+ buffersize="0" <!-- Buffer size in seconds (0=auto) -->
444
620
  ></movi-player>
445
621
  ```
446
622
 
@@ -573,7 +749,8 @@ const player = new MoviPlayer({
573
749
  - WASM heap: ~50MB
574
750
  - Video frame queue: ~1.4GB (120 frames × 12MB)
575
751
  - Audio buffer: ~384KB
576
- - **Total: ~1.5GB**
752
+ - **Typical usage: 200–400MB**
753
+ - **Peak (4K HEVC, max buffer): ~1.5GB**
577
754
 
578
755
  ### Optimizations
579
756
 
@@ -661,13 +838,7 @@ npm run dev
661
838
 
662
839
  ---
663
840
 
664
- ## 📜 License
665
-
666
- MIT License - see the [LICENSE](LICENSE) file for details.
667
-
668
- ---
669
-
670
- ## 🙏 Acknowledgments
841
+ ## Acknowledgments
671
842
 
672
843
  - **FFmpeg**: Universal media framework
673
844
  - **Emscripten**: WebAssembly toolchain
@@ -717,8 +888,14 @@ MIT License - see the [LICENSE](LICENSE) file for details.
717
888
 
718
889
  If you find Movi-Player useful, please consider giving it a star on GitHub!
719
890
 
891
+ [![Star History Chart](https://api.star-history.com/svg?repos=MrUjjwalG/movi-player&type=Date)](https://star-history.com/#MrUjjwalG/movi-player&Date)
892
+
720
893
  ---
721
894
 
722
- **Built with ❤️ for the web**
895
+ ## 📜 License
896
+
897
+ MIT License
898
+
899
+ ---
723
900
 
724
- Made by [Ujjwal Kashyap](https://github.com/mrujjwalg)
901
+ Built with ❤️ by [Ujjwal Kashyap](https://github.com/mrujjwalg)
@@ -71,11 +71,10 @@ export declare class MoviPlayer extends EventEmitter<PlayerEventMap> {
71
71
  private static readonly DEMUX_TIMEOUT;
72
72
  private eofReached;
73
73
  /**
74
- * Dedicated handler for video seek completion.
75
- * Clears the seek flag, synchronizes the clock if the video jumped ahead,
76
- * and flushes any buffered audio packets to start playback in sync.
74
+ * Internal handler for seek completion when first target frame is found.
75
+ * Clears the seek flag, synchronizes clock, and transitions to final state.
77
76
  */
78
- private handleVideoSeekCompletion;
77
+ private notifySeekCompletion;
79
78
  /**
80
79
  * Main Playback Loop
81
80
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MoviPlayer.d.ts","sourceRoot":"","sources":["../../src/core/MoviPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MoviPlayer.d.ts","sourceRoot":"","sources":["../../src/core/MoviPlayer.ts"],"names":[],"mappings":"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"}