npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

Iโ€™ve always been into building performant and accessible sites, but lately Iโ€™ve been taking it extremely seriously. So much so that Iโ€™ve been building a tool to help me optimize and monitor the sites that I build to make sure that Iโ€™m making an attempt to offer the best experience to those who visit them. If youโ€™re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, ๐Ÿ‘‹, Iโ€™m Ryan Hefnerย  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If youโ€™re interested in other things Iโ€™m working on, follow me on Twitter or check out the open source projects Iโ€™ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soonโ€“ish.

Open Software & Tools

This site wouldnโ€™t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you ๐Ÿ™

ยฉ 2025 โ€“ย Pkg Stats / Ryan Hefner

genzplayer

v1.0.0

Published

๐Ÿš€ The Ultimate Video Player for Web - Just drop any video and it plays! Works with ALL formats automatically. Production-ready 625KB bundle.

Readme

๐ŸŽฌ GenZPlayer

๐Ÿš€ The Ultimate Video Player for Web - Just drop any video and it plays! Works with ALL formats automatically.

Version License Bundle Size Support


โœจ Key Features

  • ๐ŸŽฏ Universal Format Support - Plays all video formats automatically
  • ๐Ÿ“ฆ Industry Standard - Uses HLS.js v1.5.13 and dash.js v5.0.3
  • ๐Ÿš€ Production Ready - Battle-tested libraries with robust error handling
  • โšก Optimized - Main bundle 625KB, DASH lazy-loaded (921KB chunk)
  • ๐ŸŽจ Modern UI - Clean, responsive design with custom controls
  • โŒจ๏ธ Keyboard Shortcuts - Full keyboard control
  • ๐Ÿ“ฑ Mobile Optimized - Touch-friendly controls
  • ๐ŸŽš๏ธ Quality Selector - Manual & Auto quality switching (ABR)
  • ๐Ÿ”Š Volume Boost - Up to 400% using Web Audio API
  • ๐Ÿ“Š Buffer Visualization - Real-time buffer display
  • ๐ŸŽฌ Context Menu - Right-click menu with version & developer info

๐ŸŽฅ Supported Formats

โœ… Fully Supported (HTML5 Native)

These formats work out of the box in modern browsers:

  • MP4 (.mp4, .m4v) - H.264/H.265 + AAC - Best for web
  • WebM (.webm) - VP8/VP9/AV1 + Opus - Modern & efficient
  • OGG (.ogg, .ogv) - Theora + Vorbis - Open format

๐ŸŒ Streaming Protocols (Industry Standard)

  • HLS (.m3u8) - HTTP Live Streaming via hls.js v1.5.13
  • DASH (.mpd) - MPEG-DASH via dash.js v5.0.3
  • Smooth Streaming (.ism) - Microsoft (fallback to DASH)

โš ๏ธ Limited Support

Browser support varies - may work in some browsers:

  • MOV (.mov) - QuickTime (Safari โœ…, Chrome partial)
  • 3GP (.3gp, .3g2) - Mobile formats (Android browsers)

โŒ Not Supported by Browsers

These formats require conversion to MP4/WebM for web playback:

  • AVI (.avi) - Legacy format, no browser support
  • MKV (.mkv) - Not a web standard
  • WMV (.wmv) - Microsoft proprietary
  • FLV (.flv, .f4v) - Flash is deprecated
  • VOB (.vob) - DVD format
  • TS/MTS (.ts, .mts, .m2ts) - Limited browser support
  • Others: MXF, WTV, RealMedia, SWF, etc.

๐Ÿ’ก See FORMATS.md for detailed browser compatibility

๐ŸŽฌ Recommended Formats for Web

  1. MP4 (H.264 + AAC) - Maximum compatibility
  2. WebM (VP9 + Opus) - Modern, efficient, open
  3. HLS (.m3u8) - Adaptive streaming
  4. DASH (.mpd) - Adaptive streaming

๐Ÿš€ Quick Start

Method 1: CDN (Fastest)

<!DOCTYPE html>
<html>
<body>
  <div id="player"></div>
  
  <!-- Include from CDN -->
  <script src="https://cdn.jsdelivr.net/gh/GulshiDevs/[email protected]/genzplayer.js"></script>
  
  <script>
    // Auto-detects format from URL!
    const player = new GenzPlayer('player', {
      src: 'your-video.mp4',  // or .m3u8, .mpd, .webm
      controls: true,
      autoplay: false
    });
  </script>
</body>
</html>

Method 2: Download Files

  1. Download: genzplayer.js (625 KB) + 798.genzplayer.js (921 KB)
  2. Include: <script src="genzplayer.js"></script>
  3. Use: Same code as CDN method above

โœจ That's it!

Player automatically detects if it's MP4, HLS, or DASH and plays it!


๐Ÿ“– Examples

MP4 Video

const player = new GenzPlayer('player', {
    src: 'video.mp4'
});

MKV / AVI / MOV / Any Format

const player = new GenzPlayer('player', {
    src: 'video.mkv'  // or .avi, .mov, .wmv, .flv, .webm, .3gp, etc.
});

HLS Stream (.m3u8)

const player = new GenzPlayer('player', {
    src: 'https://example.com/playlist.m3u8'
});

DASH Stream (.mpd)

const player = new GenzPlayer('player', {
    src: 'https://example.com/manifest.mpd'
});

Smooth Streaming (.ism)

const player = new GenzPlayer('player', {
    src: 'https://example.com/video.ism/Manifest'
});

No need to specify type - it's auto-detected from URL!


โš™๏ธ Configuration

const player = new GenzPlayer('player', {
    src: 'video.mp4',           // Video URL (auto-detected)
    poster: 'poster.jpg',       // Poster image
    autoplay: false,            // Auto-start
    controls: true,             // Show controls
    fluid: true,                // Responsive
    aspectRatio: '16:9',        // Aspect ratio
    volume: 1.0,                // Initial volume (0-1)
    playbackRate: 1.0,          // Playback speed
    quality: 'auto',            // Quality (auto/index)
    keyboard: true,             // Keyboard shortcuts
    tooltips: true,             // Show tooltips
    onReady: function() {},     // Ready callback
    onPlay: function() {},      // Play callback
    onPause: function() {},     // Pause callback
    onEnded: function() {},     // End callback
    onError: function(err) {}   // Error callback
});

๐ŸŽฎ API Methods

Playback Control

player.play()                   // Play video
player.pause()                  // Pause video
player.togglePlay()             // Toggle play/pause
player.stop()                   // Stop and reset
player.seek(seconds)            // Seek to time
player.forward(seconds)         // Skip forward
player.backward(seconds)        // Skip backward

Volume Control

player.setVolume(0.5)          // Set volume (0-1)
player.getVolume()             // Get current volume
player.mute()                  // Mute audio
player.unmute()                // Unmute audio
player.toggleMute()            // Toggle mute

Playback Speed

player.setPlaybackRate(1.5)    // Set speed (0.25-2.0)
player.getPlaybackRate()       // Get current speed

Quality Control

player.setQuality(index)       // Set quality level
player.setQuality('auto')      // Enable auto quality (ABR)
player.getQualities()          // Get available qualities
player.getCurrentQuality()     // Get current quality

Display Modes

player.toggleFullscreen()      // Toggle fullscreen
player.enterFullscreen()       // Enter fullscreen
player.exitFullscreen()        // Exit fullscreen
player.togglePIP()             // Toggle Picture-in-Picture

Player State

player.isPlaying()             // Check if playing
player.isPaused()              // Check if paused
player.getDuration()           // Get video duration
player.getCurrentTime()        // Get current time
player.getBufferInfo()         // Get buffer statistics

Cleanup

player.destroy()               // Destroy player and cleanup

โŒจ๏ธ Keyboard Shortcuts

| Key | Action | |-----|--------| | Space | Play/Pause | | K | Play/Pause | | M | Mute/Unmute | | F | Fullscreen | | P | Picture-in-Picture | | โ† | Backward 10s | | โ†’ | Forward 10s | | โ†‘ | Volume Up | | โ†“ | Volume Down | | 0-9 | Seek to 0%-90% | | < | Decrease Speed | | > | Increase Speed |


๐ŸŽจ Context Menu

Right-click on video player to access:

  • Player version info
  • Developer credit (GulshiDevs)
  • Support link (Buy Me a Coffee)
  • Auto-hides after 2 seconds

๐Ÿ“ฆ Installation

๐Ÿš€ CDN (Recommended)

jsDelivr CDN:

<script src="https://cdn.jsdelivr.net/gh/GulshiDevs/[email protected]/genzplayer.js"></script>

Unpkg CDN:

<script src="https://unpkg.com/[email protected]/genzplayer.js"></script>

GitHub CDN (Raw):

<script src="https://raw.githubusercontent.com/GulshiDevs/genzplayer/v1.0.0/genzplayer.js"></script>

๐Ÿ“ฅ Download

  1. Go to Releases
  2. Download genzplayer.js and 798.genzplayer.js
  3. Include in your project

๐Ÿ”— Direct Links

Right-click and save:

๐Ÿ“‹ HTML Template

<!DOCTYPE html>
<html>
<head>
  <title>GenZPlayer Demo</title>
</head>
<body>
  <!-- Player Container -->
  <div id="player" style="width:100%; max-width:800px;"></div>
  
  <!-- Include GenZPlayer -->
  <script src="https://cdn.jsdelivr.net/gh/GulshiDevs/[email protected]/genzplayer.js"></script>
  
  <!-- Initialize Player -->
  <script>
    const player = new GenzPlayer('player', {
      src: 'https://example.com/video.mp4',
      controls: true,
      fluid: true
    });
  </script>
</body>
</html>

๐ŸŒ Browser Support

| Browser | Version | Support | |---------|---------|---------| | Chrome | 70+ | โœ… Full | | Firefox | 65+ | โœ… Full | | Safari | 12+ | โœ… Full | | Edge | 79+ | โœ… Full | | Opera | 57+ | โœ… Full | | iOS Safari | 12+ | โœ… Full | | Chrome Android | Latest | โœ… Full |


๐Ÿ“š Documentation

  • Complete API documentation included in README
  • All examples provided above
  • Browser compatibility guide included

๐Ÿค Support

  • โญ Star this repo if you find it useful!
  • ๐Ÿ› Report issues in the Issues tab
  • โ˜• Buy me a coffee to support development: buymeacoffee.com/GenZplayer

๐Ÿ“„ License

MIT License - see LICENSE file for details


๐Ÿ‘จโ€๐Ÿ’ป Developer

GulshiDevs - Full Stack Developer


๐Ÿ™ Acknowledgments

Built with industry-standard libraries:


๐ŸŽฌ GenZPlayer v1.0.0 - Production Ready!

Made with โค๏ธ by GulshiDevs

โญ Star this repo if you find it useful! โญ

Download Now โ€ข Report Bug โ€ข Buy Coffee โ˜•