Skip to main content

A frivolous tool to create random video/audio from provided files.

Project description

                           _         _
                          | |       | |
__   ___ __ ___   __ _ ___| |__   __| |
\ \ / / '_ ` _ \ / _` / __| '_ \ / _` |
 \ V /| | | | | | (_| \__ \ | | | (_| |
  \_/ |_| |_| |_|\__,_|___/_| |_|\__,_|

vmashd

vmashd is a command-line tool built on top of the moviepy library. It takes subclips from a directory of movie files and randomly forms a video set to one or more audio files.

How it works

Audio files are concatenated (no crossfade - yet) and normalized to avoid differing volume outputs between songs. Short video clips are then (mostly) randomly joined together from any video clips in the specified directory to match the length of the combined audio. Video files are weighted by length to make sure a short clip doesn’t appear in a disproportionate amount.

Usage

Installation

Install vmashd with pip:

pip install vmashd

Configuring vmashd for your environment

Some configuration is required prior to generating video mixes. Before use run:

vmashd config

This will generate a default configuration file and print the contents to the console. The directories will not be created at this point. If you would like to change any of the file paths, edit the config file in your text editor of choice.

Create any missing directory structure by executing:

vmashd makedirs

If you would like to add titles (at random of course) throughout the video, provide a path a text file in the config file. The text file should have each caption on a separate line. Ex:

eat beef
it is delicious
beef makes you better
mooooooo

Font, position, and color can be modified in the configuration file. To see a list of fonts available (it will be long) execute:

vmashd listfonts

Creating a video mashup

After the configuration is commplete, the rest is pretty simple. You will need:

1. one or more audio files stored in the audio directory; make sure they will not be filtered out by the audio filter string. 2. one or more video files (more is better) stored in the video directory; they should at least 5 seconds long.

If the above conditions are met, execute:

vmashd mash --filename ./filepath.mp4

Optionally, you can enable video effects to be randomly inserted into the video:

vmashd mash --randfx --filename ./filepath.mp4

A soft blur can be applied to the length of the video:

vmash mash -f filepath.mp4 --blur --randfx

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vmashd-0.2.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

vmashd-0.2.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file vmashd-0.2.0.tar.gz.

File metadata

  • Download URL: vmashd-0.2.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.2

File hashes

Hashes for vmashd-0.2.0.tar.gz
Algorithm Hash digest
SHA256 700857443afb45d4f2426d8b65bbb84a3a99006cae83b80b964760ba6d12a4ae
MD5 ae1aba25612c8c11c5ed3aa8a56c2fed
BLAKE2b-256 aa15090536808b6872abba15aa1c6bc70621cc45b603027760fdd90fab63d50b

See more details on using hashes here.

File details

Details for the file vmashd-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: vmashd-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.2

File hashes

Hashes for vmashd-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 23dede301ca364d7471685b19023df68b21463415702aac9d777451dd1d4c7f2
MD5 06f165c0bfb329da9c53495b6ad06ed2
BLAKE2b-256 470c0cabd7cb4f4b2c1571ec488fb845653d7f02027ff28e117e3414fce0faf6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page