Handstop is a robust video encoding library for Node.js, built on the core of the HandBrake video encoding binary. It offers efficient video compression with three output formats optimized for web use: WebM-AV1, MP4-AV1, and MP4-x265. Each format comes with three customizable presets to balance compression levels, file size, and encoding speed, achieving a maximum compression ratio of 93.16%.
- HandBrake Core Integration: Utilizes the powerful HandBrake video encoding binary, integrated seamlessly into Node.js.
- Multiple Web-Optimized Formats: Supports WebM-AV1, MP4-AV1, and MP4-x265, catering to different web standards and playback needs.
- Customizable Compression Presets: Three presets available for each format:
- Level 1: Fastest encoding with larger file sizes.
- Level 2: Balanced compression and performance.
- Level 3: Highest compression with the smallest file sizes, achieving up to 93.16% compression.
- GPU Acceleration with MP4-x265: Leverages Nvidia GPU for faster encoding with MP4-x265, while WebM-AV1 and MP4-AV1 are CPU-based, leading to slower encoding but offering higher compression ratios.
- Optimized for Compression: AV1 format provides the highest compression ratio, making it ideal for minimizing file sizes without compromising quality.
- Easy Integration: Designed for easy use within Node.js projects, enabling seamless video encoding workflows.
- Efficient video encoding for web-based applications with format-specific requirements.
- Leveraging GPU acceleration for faster encoding in MP4-x265 formats.
- Customizing video output based on desired file size and quality using compression presets.
- Optimizing video content for streaming platforms and web delivery.
- Experimenting with advanced video encoding techniques directly within Node.js.
- Reducing video file sizes significantly while maintaining quality, particularly with AV1 formats.
Every star on this repository is a sign of encouragement, a vote of confidence, and a reminder that our work is making a difference. If this project has brought value to you, even in the smallest way, please consider showing your support by giving it a star. ⭐
"Star" button located at the top-right of the page, near the repository name.
Your star isn’t just a digital icon—it’s a beacon that tells us we're on the right path, that our efforts are appreciated, and that this work matters. It fuels our passion and drives us to keep improving, building, and sharing.
If you believe in what we’re doing, please share this project with others who might find it helpful. Together, we can create something truly meaningful.
Thank you for being part of this journey. Your support means the world to us. 🌍💖
- Step 1: Install
handstop
package.
npm install handstop
- Step 2: Check out demo repo for snippets. https://github.com/darsan-in/handstop-demo
- Single and multi video encoding code snippets are available in handstop-demo repository.
Below result is borrowed from Minomax demo repository, Minomax
utilizes handstop
under the hood.
If you want compress your web media resources like html, css, js, video, pictures everything you can compress to efficient and smaller size as possible using Minomax.
This project is licensed under the Apache License 2.0.
We’re always open to contributions and fixing issues—your help makes this project better for everyone.
If you encounter any errors or issues, please don’t hesitate to raise an issue. This ensures we can address problems quickly and improve the project.
For those who want to contribute, we kindly ask you to review our Contribution Guidelines before getting started. This helps ensure that all contributions align with the project's direction and comply with our existing license.
We deeply appreciate everyone who contributes or raises issues—your efforts are crucial to building a stronger community. Together, we can create something truly impactful.
Thank you for being part of this journey!
https://www.npmjs.com/package/handstop
For any questions, please reach out via hello@darsan.in or LinkedIn.
Handstop is built on the core of the HandBrake video encoding binary. We extend our deepest gratitude to the HandBrake organization and all contributors who have worked on the HandBrake project. Their hard work and dedication have made HandBrake one of the most powerful and versatile video encoding tools available.
Special thanks to:
- Eric Petit (original author): For initiating the HandBrake project.
- HandBrake Team: For continuously maintaining and improving the software over the years.
- All Contributors: For their valuable contributions to the HandBrake project, making it what it is today.
- video-encoding
- Node.js
- Handstop-library
- HandBrake-integration
- video-compression
- web-video-formats
- GPU-acceleration
- MP4-x265
- WebM-AV1
- MP4-AV1
- high-performance
- open-source
- API-integration
- video-presets
- compression-levels