Generates preview videos and GIFs from videos using FFmpeg CLI in batch.
Download and install the Latest version from the releases page. Done 🎉.
If you dont have FFmpeg installed then download the FFmpeg included version or download FFmpeg from here.
PSY - GANGNAM STYLE music video to this 15 seconds preview 👇
Run preview
in terminal without any arguments (flags) to initiate interactive prompts.
Note: This Screenshot reflects initial release and new changes may not be represented.
You can use this as a CLI by just giving a valid argument(s).
The above Gangnam Style gif can be created with this command.
preview -p "Gangnam Style.mp4" -s 15 -sk 7.0 -sp -g
args | Full args | Description | Default | Type |
-p | --path | Path of the video or folder for batch processing | CWD | string |
-o | --out | Output folder for generated previews | CWD | string |
-r | --resolution | Preview video resolution | 360 | int |
-s | --segments | No. of segments in a preview video | 10 (check code) | int |
-sd | --sduration | Duration of a segment | 1.0 (0.1 - n.n) | float |
-sk | --skip | Skips the first n seconds of a video, mainly used to skip intros and filler. For movies, set this value higher according to the intro duration | 20 | float |
-sp | --samepath | When passing this argument, the output folder is set to the input folder. when using this the --out path should be relative | present or not | |
---|---|---|---|---|
-a | --audio | Previews will be generated with audio | present or not | |
-g | --gif | Previews will be generated in the GIF format (takes more time & space) | present or not | |
-f | --fps | Preview video FPS | mp4:24/gif:10 | int |
-q | --quality | Preview video quality (low, normal, high) | normal | string |
-c | --compression | Preview video compression modes: fast but low quality output and bigger file size. slow gives good quality and reasonable size but little slower. veryslow gives best quality and least file size but its very slow. |
slow | string |
-cli | --cli | Run as a CLI without changing default arguments. If no arguments are provided, the program will act in prompt mode. To prevent that, you can use this flag | present or not | |
-cuda | --cuda | Uses cuda cores for fast processing (Nvidia GPUs only) | present or not | |
-v | --version | Prints version info | present or not | |
-h | --help | Lists all commands with its description | present or not |
If you want to run this as a CLI without providing or changing default arguments then just run
preview -cli
Segments are small videos extracted from the input video with a duration specified by --sduration
. For example, if you set --segments
to 10 and --sduration
to 2, each segment will be 2 seconds long. Therefore, the total duration of the preview will be 20 seconds, as 10 segments each contribute 2 seconds.
Let's say you set --segments
to 3 and --sduration
to 5. In this scenario, the input video is evenly split into 3 parts, and the first 5 seconds from each part are extracted for previews. Subsequently, these segments are concatenated and converted into a single video or gif. Thus the resulting preview will be of 5x3 = 15 seconds.
The red parts are extracted for previews
git clone https://github.com/Tetrax-10/batch-preview-generator.git
cd batch-preview-generator
pip install -r requirements.txt
python preview.py <args>
pyinstaller preview.spec
Make sure to add your "dist" folder to the PATH so that when you run preview, it refers to your "dist" executable. Additionally, also ensure that the path of the installed "preview.exe" is removed during development.
The installer is compiled with the Inno Setup Compiler, and there's no need to perform this step during the development of Batch Preview Generator, as it is only used for distribution
- When this program is installed and uninstalled it leaves this string ";;" in PATH environmental variable, it's not an issue as it doesn't affect the env vars but its a bloat, So please help me fix this as I'm not good with Inno Setup Compiler
- Help me implement H/W acceleration for Radeon graphics as I don't have an AMD gpu.
- Help me to build/test executable for
linux
andmac os
. - Help me fix the
known bugs
.
Like This Tool? Gimme Some ❤️ by Liking this Repository.