ffmpeg-generator
Version:
Generate multi-resolution FFmpeg HLS commands from any .mp4 file via a smart CLI. Auto-detects streams, builds playlists, and speeds up your video pipeline.
82 lines (57 loc) โข 2.76 kB
Markdown
Generate multi-resolution FFmpeg HLS commands from any .mp4 file via a smart CLI. Auto-detects streams, builds playlists, and speeds up your video pipeline.
<h1 align="center">๐ฌ ffmpeg-generator</h1>
<p align="center">CLI tool to generate high-quality FFmpeg HLS commands โ fast, smart, and stream-ready โก</p>
<p align="center">
<a href="https://www.npmjs.com/package/ffmpeg-generator">
<img src="https://img.shields.io/npm/v/ffmpeg-generator?color=blue" alt=""/>
</a>
<img src="https://img.shields.io/npm/dw/ffmpeg-generator?color=green" alt=""/>
<img src="https://img.shields.io/badge/ffmpeg-powered-ff0000?logo=ffmpeg&logoColor=white" alt=""/>
</p>
## โก What is `ffmpeg-generator`?
`ffmpeg-generator` is a fast, developer-friendly CLI tool to **generate and run complex FFmpeg commands** for HLS transcoding. It auto-scales videos to multiple resolutions, handles audio streams, and outputs a fully functional `master.m3u8` playlist โ ready for streaming ๐
---
## โจ Features
- ๐ฆ Converts `.mp4` to multi-quality `.m3u8` (HLS)
- ๐ Auto-detects video resolution & audio index
- ๐ Smart directory structure with confirmation prompts
- ๐ง Built-in presets for:
- 2160p, 1440p, 1080p, 720p, 480p, 360p
- ๐งช Built-in `ffprobe` checks before processing
- ๐ฌ Interactive CLI with `inquirer`
- โ๏ธ Perfect for streaming servers, encoding queues, media tools
- ๐ผ๏ธ Optional logo watermark overlay on all resolutions (`--logo`)
- ๐ Customizable FFmpeg encoding preset speed (`--speed`)
Supports: `placebo`, `slow`, `medium`, `fast`, `faster`, `veryfast` (default), `superfast`, `ultrafast`
- โฑ๏ธ Adjustable segment duration with `--hls-time` option (default: `6` seconds)
---
## ๐งโ๐ป Installation
โ Warning: Make sure you have [ffmpeg](https://ffmpeg.org/) installed and available in your PATH.
```bash
npm install -g ffmpeg-generator
```
### ๐ Usage

```
ffgen <input-file> <output-dir> [optional-subfolder]
```
```bash
ffgen input.mp4 output-folder-path
```
### โ FAQ
Q: Do I need FFmpeg installed?
A: Yes, both ffmpeg and ffprobe must be in your PATH.
Q: Is it open-source?
A: MIT license. Steal it. Fork it. Build on it.
### ๐ง Author
Built with โค๏ธ by @sirojbek
โIf you manually write FFmpeg commands in 2025โฆ
you need this CLI and a vacation ๐ญโ
### ๐ License
MIT ยฉ 2025
Feel free to remix, extend, or publish your own variant.
### Contact
Linked In: [sirojbekmaqsudov](https://www.linkedin.com/in/sirojbek/)
---
Made with โ, bugs, and ffmpeg rage by [Sirojbek](https://github.com/sirojbek), Smash that โญ on [GitHub](https://github.com/SirojbekMaqsudov/ffmpeg-generator)
> Devs who know, know.