Python script for processing and assembling a podcast from various input sources

Nigel Stanger authored on 23 Jul 2018
test • Added test config files for parser. 7 years ago
.gitignore • Ignored .pyc files. 7 years ago • Added basic README file. 7 years ago • Minor formatting change. 7 years ago • Fixed parsing bug that produced incorrectly structured timestamp lists when using a duration file (introduced by restructuring of grammar). 7 years ago • Updated name of program. 7 years ago
process_podcast.code-workspace • Added Visual Studio Code workspace. 5 years ago Merge branch 'master' of 7 years ago • Ensured progress bar is silent when maximum value is zero. 7 years ago • Deleted leftover development debugging output. 7 years ago • Rewrote shellquote() to ignore things like command-line switched and executable paths. Also only execute the catch-all regex when no other regexes match (closes #27). 7 years ago


This script enables you to assemble an ingterated podcast of a lecture or class from several different inputs, including:

  • recorded audio
  • screen recordings
  • other video
  • JPEG images representing individual lecture slides
  • a PDF containing the lecture slides

Audio and video may come from the same file, or from separate files. You also have the ability to insert small “joiner” sections of audio and video between major “segments” of the podcast. You can even configure the “joiner” so that it repeats the last frame of the previous segment for the desired duration.

For help on command line options: --help.

For help on the podcast configuration file format, see the [configuration file documentation][].


  • Python 2.7 series. (Not tested with Python 3.)
  • The pyparsing module. Linux: pip install pyparsing, easy_install pyparsing, or whatever other method you normally use to install Python modules; macOS (MacPorts): port install py-parsing. Also see the [pyparsing documentation][].
  • The pexpect module. Linux: pip install pexpect, easy_install pexpect, or whatever other method you normally use to install Python modules; macOS (MacPorts): port install py-pexpect. Also see the [pexpect documentation][].