Pack
is a simple yet powerful CLI video compressor.
It reduces file sizes by up to 60% while maintaining high quality, using FFmpeg
under the hood. Compress individual videos or entire folders with ease.
You might be sure that you have installed Python 3.10+
and FFmpeg
. The CLI app uses FFmpeg
under the hood, so make sure you have it installed and added to your PATH.
pip install -U vidpack
Prerequisites
```console
# MacOS
brew install ffmpeg
# Ubuntu
sudo apt install ffmpeg
# ArchLinux
sudo pacman -S ffmpeg
# Fedora
sudo dnf install ffmpeg
```
To compress a video or multiple videos, you will use the pack
command, followed by the required input argument (a file or a directory).
pack INPUT [OPTIONS]
Note
INPUT
: This is the file or directory you want to process. If you provide a directory, all videos within it will be compressed.
Tip
For additional help or to see all available options, you can use the command:
pack --help
Pack offers several options to customize the compression process:
--output
,-o
: Specifies the output file to save the compressed video.--quality
,-q
: Defines the video quality level (0-100). Default value: 75.--overwrite
,-w
: Overwrites the output file if it already exists.--delete-original
,-d
: Deletes the original video after successful compression.--codec
,-c
: Specifies the video codec to use for compression(h264
,libx265
). Default ish264
.--verbose
,-v
: Enables debugging mode for more information during the process.
Important
The H265 (libx265
) codec offers superior compression quality and produces smaller file sizes compared to H264
. However, encoding with H265 is more time-consuming and requires significantly more processing power. If you have a modern GPU and enough time for encoding, H265 is an excellent choice for reducing file sizes without sacrificing quality.
To compress a video named video.mp4
, simply run:
pack video.mp4
This command will compress video.mp4
with default settings(quality: 75) and save the result as video_compressed.mp4
in the same directory.
Show more examples
If you want to specify the name or location of the compressed file:
pack video.mp4 --output compressed/small_video.mp4
This command will compress video.mp4
and save the result as small_video.mp4
in the compressed
directory.
To compress a video with a specific quality (e.g., 60):
pack video.mp4 -q 60
This will compress the video with lower quality, resulting in a smaller file size.
To compress all videos in a directory:
pack /path/to/my/videos
This command will compress all videos in the specified directory and save the results in the same directory.
If you want to overwrite existing compressed files:
pack video.mp4 --output output.mp4 --overwrite
This will overwrite the file output.mp4
if it already exists.
To delete the original video file after successful compression:
pack video.mp4 --delete-original
The original video.mp4
will be deleted after compression.
To compress a video with a specific video codec (e.g., libx265):
pack video.mp4 --codec libx265
This will compress the video with the libx265 codec, resulting in a smaller file size. Currently, only h264
and libx265
codecs are supported.
You can combine multiple options in a single command:
pack video.mp4 -o compressed.mp4 -q 80 -w -d -v
This command will compress video.mp4
with a quality of 80, save the result as compressed.mp4
, overwrite if the file exists, delete the original, and display detailed information during the process.
- The quality option (
-q
) affects both visual quality and file size. A lower value will result in a smaller file but lower visual quality, while a higher value will maintain better quality but with a larger file size. - It's always recommended to backup your original videos before using the delete option (
-d
). - The verbose mode (
-v
) is useful for diagnosing issues or better understanding the compression process.
Tip
If you are a Windows user, you can install ffmpeg
and python
manually or using package managers like Scoop
.
Once you have installed a package manager, you can just run something like scoop install python ffmpeg
.
Tip
Windows user can watch a tutorial video on YouTube about the installation process [Here].