Back to Project List

cmdshow

cmdshow is a CLI tool to create slideshows from images quickly

Repository Video ▶️

cmdshow

made-with-python MIT license
cmdshow is a Python tool/library to create slideshows out of images - super fast! It provides a wide range of options to customize the slideshow, while setting sensible defaults for when you need that slideshow yesterday. A user-friendly CLI as well as a GUI are available, whichever camp you belong to.

Usage

At the most basic level, all you need to do is enter the path to your directory of images - simple as that! cmdshow will create a video slideshow out of the images in the given directory, add some background music and some transition effects and generally make it look good. For a list of all configuration options, see the CLI help below

Defaults

  • PATH_TO_MUSIC: None (no music will be added)
  • FRAME_DURATION: 5s
  • TRANSIITON_DURATION: 2s
  • TRANSIITON_TYPE: fade
  • RESOLUTION: 1920x1080
  • FRAMES_PER_SECOND: 15
  • OUTPUT_PATH: ./output.mp4

CLI

$ python cmdshow.py --help
usage: cmdshow.py [-h] [-m PATH_TO_MUSIC] [-fd FRAME_DURATION]
                  [-td TRANSITION_DURATION] [-t TRANSITION_TYPE]
                  [-r RESOLUTION] [-fps FRAMES_PER_SECOND]
                  [-o OUTPUT_PATH]
                  path_to_images

positional arguments:
  path_to_images        Path to dirctory containing the images.

optional arguments:
  -h, --help            show this help message and exit
  -m PATH_TO_MUSIC, --music PATH_TO_MUSIC
                        Path to the music file.
  -fd FRAME_DURATION, --fduration FRAME_DURATION
                        Duration of each frame.
  -td TRANSITION_DURATION, --tduration TRANSITION_DURATION
                        Duration of transition.
  -t TRANSITION_TYPE, --transition TRANSITION_TYPE
                        Type of transition. For more clarity visit:
                        https://trac.ffmpeg.org/wiki/Xfade
  -r RESOLUTION, --resolution RESOLUTION
                        Desired resolution
  -fps FRAMES_PER_SECOND, --frames FRAMES_PER_SECOND
                        Number of Frames per second.
  -o OUTPUT_PATH, --output OUTPUT_PATH
                        Output path for the resultant sildeshow.

Watch it in action here

License

MIT License

Anirudh Murali
Aditeya Baral
Saarthak Agarwal

Upgrade GUI! Also, progress meter for command completion

September 13, 2020

Refactors for better code practice, added spinner to indicate progress

September 13, 2020

Finished CLI and GUI, bug testing ongoing

September 13, 2020

Transition framework ready, CLI and GUI in progress

September 12, 2020

Polishing off transitions, start work on user interface

September 12, 2020

Start work on transition effects

September 12, 2020

Add sorting logic

September 12, 2020

Remove opencv dependency, move to purely ffmpeg based functions

September 12, 2020

Add audio manipulation and addition to video

September 12, 2020

Project structure created, utility functions and basic export functions created

September 12, 2020

Project created by Anirudh Murali

September 4, 2020