Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Automating Video

In this experimental video class students will learn to use Python and command line tools to explore the possibilities of automating the film-making process. We will cover techniques for capturing, analyzing, editing and manipulating video with code. We’ll treat video as a textual as well as visual medium, repurposing found footage to generate new compositions and narratives.

The class will conclude with a public screening of your final projects: December 12th, 6pm at ITP


Week 1

  • Introductions and syllabus
  • How to hand in your homework
  • Intro to the command line
  • Getting content with youtube-dl
  • Quick overview of python
  • Editing video with python and moviepy
  • Intro to ffmpeg (time permitting)

Project #1 (Due week 2)

  • Create a video that repurposes footage you find online. Think about the meaning of your source material, and what new meaning can create with it. Your work should reveal something about your source material, add to it, tell a new story with it.
  • Submit a link to your project on the class homework wiki

Week 2

  • Controlling IP cameras
  • Controlling cameras with servos/steppers
  • Intro to OpenCV
  • Project 1 due

Project #2 (due week 4)

Week 3

  • Videogrep & transcribing video
  • More on moviepy
  • More on ffmpeg

Week 4

  • Image manipulation with pillow
  • Using processing from the command line
  • Making a video-generating bot
  • Project 2 due

Project 3 (due week 6)

Week 5

  • TBD (based on class needs & desires)

Week 6

  • Final presentations and critique

Public Screening: December 12th, 6pm

  • The class will conclude with a public screening of final projects, at ITP. You may screen any project you made during the class.


  • Each of the three projects is worth 25% of your grade, and class participation is 25%.
  • To turn in your projects, add them to the class homework wiki. (Just hit the edit button)
  • Please come to class, and be on time!
  • Coming to class more than 20 minutes late counts as an absence.
  • More than one unexcused absence is grounds for failure :(
  • But no one will fail.

Expectations and general notes

  • It's OK to show work that has sensitive or difficult content, but if you do so give everyone a quick heads up beforehand.
  • We will be critiquing each others work in the class. Be honest but friendly when critiquing other students. When receiving critique please listen and take feedback seriously.
  • Feel free to use your laptop in class to take notes or follow along when I'm covering programming topics. Please do not use your laptops to do stuff on social media unrelated to the class etc.
  • The only time laptop use is strictly prohibited is when other students are presenting their work.
  • Turn off your phones or put them on silent during class

Office Hours and General Help

I'm available to meet by appointment in person or by Skype/Google Hangouts. Please email me at to schedule a meeting, or if you have any questions or concerns about the class.


Learning Python

Command Line




Computer Vision

Automating Shooting

NYU Resources


A 6 week class at ITP NYU




No releases published


No packages published