A powerful CLI tool for splitting video files into smaller chunks and generating HLS streams for educational content.
- Video Chunking: Split large videos into smaller, manageable chunks
- Multiple Processing Modes:
- Fast Mode (Stream Copy): Quick chunking without re-encoding
- Re-encode Mode: Full re-encoding for consistent quality
- HLS Streaming: Generate HTTP Live Streaming files for web playback
- Customizable Options: Control chunk length, output format, quality, and more
- Interactive Setup: Guided prompts for easy configuration
- Detailed Progress: Real-time progress tracking and statistics
Before installing IELTS2GO Video chunkify, ensure you have the following:
To install IELTS2GO Video chunkify globally on your PC, run:
npm install -g ielts2go-chunkerAfter installation, you can use the chunkify command from anywhere in your terminal:
chunkify video.mp4If you prefer not to install globally:
-
Clone the repository:
git clone https://github.com/ielts2go/chunkify.git cd chunkify -
Install dependencies:
npm install
-
Run using Node.js:
node chunkify.js video.mp4
chunkify <input-file> [options]Running the command with just an input file will start the interactive setup:
chunkify video.mp4This will guide you through selecting:
- Processing mode (Fast/Re-encode/HLS)
- Output directory
- Chunk length
- File prefix
- Quality settings
| Option | Description |
|---|---|
-h, --help |
Display help information |
-V, --version |
Display version number |
-d, --output <dir> |
Output directory (default: "ielts2go_chunks") |
-l, --length <seconds> |
Chunk length in seconds (default: 60) |
-p, --prefix <name> |
Output filename prefix (default: "ielts2go_chunk") |
-q, --quality <preset> |
FFmpeg quality preset (ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow) |
-f, --fast |
Use fast mode (stream copy without re-encoding) |
-e, --encode |
Use re-encode mode |
--hls |
Generate HLS streaming files (.m3u8 and .ts) |
--hls-segment <seconds> |
HLS segment length in seconds (default: 4) |
--hls-type <type> |
HLS playlist type (vod or live) |
--silent |
Disable progress output |
chunkify video.mp4chunkify video.mp4 -d my_chunks -l 120chunkify video.mp4 -f -p lesson_partchunkify video.mp4 -e -q veryslowchunkify video.mp4 --hlschunkify video.mp4 --hls --hls-segment 10 --hls-type vod -d streamingThe HLS mode generates files for HTTP Live Streaming:
.m3u8playlist files.tssegment files- A simple HTML player for easy playback
output_directory/
├── ielts2go_chunk_master.m3u8 # Master playlist
├── player.html # HTML player
├── ielts2go_metadata.json # Metadata
└── hls/
├── ielts2go_chunk.m3u8 # Variant playlist
├── ielts2go_chunk_000.ts # Video segments
├── ielts2go_chunk_001.ts
└── ...
| Option | Description |
|---|---|
--hls |
Enable HLS mode |
--hls-segment <seconds> |
Segment length (2, 4, 6, or 10 seconds) |
--hls-type <type> |
Playlist type (vod or live) |
Ensure FFmpeg is installed and in your system PATH. Installation guides:
- Windows: https://www.wikihow.com/Install-FFmpeg-on-Windows
- macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpegor equivalent
If you encounter issues with HLS conversion:
- Try using a longer segment length:
--hls-segment 10 - Ensure your FFmpeg installation includes libx264 and HLS support
- Check if your input video format is compatible
This project is licensed under the MIT License - see the LICENSE file for details.
For support, contact:
- Email: support@ielts2go.com
- Website: https://ielts2go.com
