
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

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.
VeeStream is a CLI tool designed to:
.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.
First, ensure you have Node.js and FFmpeg installed.
Then install VeeStream globally via npm:
npm install -g veestream
Boom! You're all set.
Using VeeStream is as simple as having a video file and a goal in mind. Here’s how you can start:
veestream -i <input-video-file> -o <output-directory>
| 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). |
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:
Here’s what happens under the hood:
.m3u8 playlist, and a master playlist (playlist.m3u8) ties it all together for adaptive streaming.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 uses the magic of FFmpeg to handle video conversion. Each resolution is encoded with:
.ts files) for efficient streaming.The master playlist (playlist.m3u8) ensures adaptive streaming. Users can switch between resolutions based on their internet speed.
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.")
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!
We’re just getting started! Here are some planned features:
Stay tuned for updates, or better yet, contribute to the project!
VeeStream is open-source and free to use under the MIT License.
We’d love your help to make VeeStream even better! Check out our GitHub repo to get started:
Reach out or file an issue on GitHub. Let’s make video streaming a breeze for everyone.
Happy streaming! 🎥✨
FAQs
A CLI tool to convert videos into multiple resolutions and generate HLS playlists for seamless adaptive streaming.
The npm package veestream receives a total of 9 weekly downloads. As such, veestream popularity was classified as not popular.
We found that veestream demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.