Skip to content

MainRoute-Core/Play-Onyx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Play Onyx 🎬

Play Onyx is a high-performance, browser-based media player designed for seamless audio and video playback. Built with a focus on privacy and speed, it allows users to manage a local media library directly within the browser without uploading files to a server.

License Vanilla JS Material Design

πŸ”— Live Demo


✨ Features

πŸ“‚ Media Management

  • Local Persistence: Uses IndexedDB to store your media files locally in the browser. They remain there even after a page refresh.
  • Unified Library: Automatically categorizes files into "Audio" and "Video" tabs.
  • Smart Search: Quickly find tracks or videos with the real-time search bar.
  • Drag & Drop: Import files by simply dragging them into the interface.

🎧 Audio & Visuals

  • Audio Studio: 3-band Equalizer (Bass, Mids, Treble) with presets (Rock, Pop, Jazz, etc.).
  • Visualizer: Real-time frequency visualizer powered by the Web Audio API.
  • Speed Control: Adjust playback speed from 0.5x to 2.0x.

πŸ“Ί Video Enhancements

  • Video Studio: Real-time filters for Brightness, Contrast, Saturation, and Hue.
  • Subtitles: Support for external .srt and .vtt caption files.
  • Picture-in-Picture (PiP): Multitask while watching your videos.
  • Fullscreen Mode: Immersive playback experience.

πŸ›  UI/UX

  • Material 3 Design: A sleek, modern interface following Google's latest design system.
  • Responsive: Fully optimized for Desktop, Tablet, and Mobile devices.
  • Queue System: Interactive "Next Up" list with drag-and-drop reordering.
  • Theming: Toggle between Dark and Light modes.
  • Config Management: Export and Import your player settings as JSON.

πŸš€ Getting Started

Since Play Onyx is built with Vanilla JavaScript and HTML5, it requires no installation or build process.

  1. Clone the repo:
    git clone https://github.com/MainRoute-Core/Play-Onyx.git
  2. Open the project: Simply open index.html in any modern web browser (Chrome, Edge, Firefox, or Safari).

πŸ›  Technical Stack

  • Frontend: HTML5, CSS3 (Custom Variables, Grid, Flexbox).
  • Logic: Vanilla JavaScript (ES6+).
  • Storage:
    • IndexedDB for storing large media Blobs.
    • LocalStorage for user preferences and settings.
  • APIs:
    • Web Audio API for EQ and Visualizer.
    • Canvas API for thumbnail generation and visualizer rendering.
    • Picture-in-Picture API.

πŸ”’ Privacy

Play Onyx respects your privacy.

  • No media is ever uploaded to a server.
  • All processing, storage, and playback happen locally on your machine.
  • No tracking or analytics.

⌨️ Keyboard Shortcuts

Key Action
Space Play / Pause
Arrow Right Skip forward 5s
Arrow Left Skip backward 5s
Arrow Up Increase Volume
Arrow Down Decrease Volume

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


🀝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create.

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your Changes (git commit -m 'Add some AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

Developed with ❀️ by M Ramzan Ch & Pro-Bandey under MainRoute Core