Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Download and split a youtube mashup video in a list of tagged audio files

Project description

Mashdown will download and split a Youtube mashup video into individual audio files, with documented audio tags.

Warning: For Mashdown to work, the video must come with a tracklist listing the start time and track name for each track. The tracklist can either be in the Youtube description or in a local file. Here is a Youtube video that is a perfect candidate.


To install Mashdown, you can simply use pip:

$ pip install mashdown


Downloading and splitting the mashup

$ mashdown \
    --audioformat ogg \
    --album "The Lord of the Rings Sountrack" \
    --artist "Howard Shore" \\?v\=upzOSSQWSYU

Splitting a local mashup

In this example, the mashup will not be downloaded. The youtube URL is only used to fetch the tracklist information.

$ mashdown \
    --audioformat ogg \
    --mashupfile path/to/mashupfile
    --album "The Lord of the Rings Sountrack" \
    --artist "Howard Shore" \\?v\=upzOSSQWSYU


usage: mashdown [-h] [-m MASHUPFILE] [–input-audioformat INPUT_AUDIOFORMAT]
[-f AUDIOFORMAT] [-o OUTPUT_DIR] [-q] [–artist ARTIST] [–album ALBUM] url

Split a Youtube mashup video into a list of tagged audio tracks

positional arguments:
url The youtube link to the mashup.
optional arguments:
-h, --help show this help message and exit
 The local path, relative or absolute, to the mashup file.
--input-audioformat INPUT_AUDIOFORMAT
 The prefered audio format for the source mashup file.
 The export audio format. Examples: ‘mp3’, ‘ogg’, ‘mp4’, ‘flac’, …
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
 The directory in which the output directory will be created.By default, the current directory will be used.
-q, --quiet Remove non important log messages
--artist ARTIST
 The artist name
--album ALBUM The album name


Mashdown is depends on the following libraries:

  • pydub (which requires ffmpeg or avconv to be installed on the system), to cut the video file and export the audio segments
  • pafy, to download the Youtube video and get its metadata
  • mutagen, to edit the audiofile metadata



  • The track name can be located before or after the track start time
  • Added unit tests


initial release

Project details

Download files

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

Files for mashdown, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size mashdown-0.1.1.tar.gz (6.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page