Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

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

Release History

This version
History Node


History Node


Download Files

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

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(6.3 kB) Copy SHA256 Hash SHA256
Source Oct 2, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting