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

veestream

v2.0.0

Published

A CLI tool to convert videos into multiple resolutions and generate HLS playlists for seamless adaptive streaming.

Downloads

19

Readme

VeeStream: The Ultimate Video Conversion CLI Tool

VeeStream GIF

Welcome to VeeStream, the command-line companion you never knew you needed! With its power, you can convert videos effortlessly into various resolutions and generate HLS playlists for seamless streaming on the web. Whether you're a developer optimizing video streams or someone who just wants a quick way to prepare videos for multi-quality playback, VeeStream has your back.


🚀 What Does VeeStream Do?

VeeStream is a CLI tool designed to:

  1. Convert videos into multiple resolutions (144p, 240p, 360p, 480p, 720p, and 1080p).
  2. Maintain aspect ratios (e.g., 16:9 or 9:16) for both landscape and portrait orientations.
  3. Generate HLS (HTTP Live Streaming) playlists, including resolution-specific .m3u8 files and a master playlist for adaptive streaming.

In short, it takes your video file and prepares it for modern streaming needs, allowing users to choose their desired quality while streaming online.


🎯 Why Should You Use It?

  • Saves Time: No more manual FFmpeg commands or figuring out aspect ratios.
  • Web-Ready Outputs: Perfect for video platforms where users can select quality (just like YouTube or Netflix).
  • Simple Yet Powerful: A straightforward CLI interface combined with the power of FFmpeg.
  • Supports Both Beginners and Experts: Even if you’re new to video conversion, VeeStream guides you through the process interactively.

📋 Prerequisites

📦 Installation

First, ensure you have Node.js and FFmpeg installed.

Then install VeeStream globally via npm:

npm install -g veestream

Boom! You're all set.


💻 Usage

Using VeeStream is as simple as having a video file and a goal in mind. Here’s how you can start:

Basic Command

veestream -i <input-video-file> -o <output-directory>

Options

| Option | Description | | -------------------- | ------------------------------------------------------ | | -i, --input <file> | Input video file (e.g., video.mp4). | | -o, --output <dir> | Output directory for converted files. | | -a, --aspect-ratio | Aspect ratio: 16:9 (landscape) or 9:16 (portrait). |

Example

Convert movie.mp4 to multiple resolutions and store the output in the streaming-files folder:

veestream -i movie.mp4 -o streaming-files -a 16:9

If you don’t provide certain options, VeeStream will interactively guide you through the process. For instance, it will:

  1. Let you pick a video file from the current directory or manually enter a path.
  2. Prompt you to specify an output folder name.
  3. Ask for the desired aspect ratio if not provided.

🎥 How It Works

Here’s what happens under the hood:

  1. Input File: You provide a video file or select one from the current directory.
  2. Resolution Scaling: The video is scaled into multiple resolutions based on the aspect ratio:
    • Landscape (16:9): 144p, 240p, 360p, 480p, 720p, 1080p.
    • Portrait (9:16): 144p, 240p, 360p, 480p, 720p, 1080p.
  3. HLS Playlist Generation: Each resolution gets its own .m3u8 playlist, and a master playlist (playlist.m3u8) ties it all together for adaptive streaming.
  4. Output: All files are neatly organized in the specified output folder.

Example Output Structure:

streaming-files/
├── 144p.m3u8
├── 240p.m3u8
├── 360p.m3u8
├── 480p.m3u8
├── 720p.m3u8
├── 1080p.m3u8
├── 144p_001.ts
├── 240p_001.ts
├── ...
└── playlist.m3u8

VeeStream GIF


🛠 Behind the Scenes

VeeStream uses the magic of FFmpeg to handle video conversion. Each resolution is encoded with:

  • H.264 video codec: High compatibility with most devices.
  • AAC audio codec: Crisp sound quality.
  • HLS segmentation: Breaks videos into small chunks (.ts files) for efficient streaming.

The master playlist (playlist.m3u8) ensures adaptive streaming. Users can switch between resolutions based on their internet speed.


😄 Why Should Developers Care?

If you’ve ever struggled with setting up video streams or faced complaints like "Why isn’t there a quality option on my video player?", VeeStream is here to save your day. It bridges the gap between technical complexities and simple implementation.

Also, let’s be honest, as do you really want to write FFmpeg commands manually? (Hint: The answer is "No.")


💡 Fun Fact

Did you know that if you watch videos at 144p, you’re saving your internet for future generations? Okay, maybe not. But now you can tell your users they have the option!


📝 License

VeeStream is open-source and free to use under the MIT License.


👏 Contribute

We’d love your help to make VeeStream even better! Check out our GitHub repo to get started:

GitHub Repository


💬 Questions or Feedback?

Reach out or file an issue on GitHub. Let’s make video streaming a breeze for everyone.


Happy streaming! 🎥✨