Automated Video Editing with Stitcher

1:30pm - 1:55pm on Saturday, October 7 in PennTop North

Peter Karp

Audience Level:


Creating video in a high-volume environment involves many tasks that are repetitive. A scriptable editing service can do these tasks instead. Stitcher is a domain language for describing sequential and parallel editing operations on videos to a service built with moviepy, marshmallow and ffmpeg.


BuzzFeed generates hours of video every day with an extensive catalog going back several years. Content needs to be re-formatted for different devices, or cropped and trimmed to be re-purposed in new ways. Some of the routine effort goes to appending advertisements to a large number of videos or updating text overlays for internationalization. The common tools for video editing are complex and memory intensive and do not provide simple bulk batching of tasks. We are creating Stitcher to perform some of these routine tasks as well as processing for innovative front-end video applications.

Stitcher is a declarative language for describing sequential and parallel editing operations on videos to a stitching service written in Python and built with moviepy, marshmallow and the popular transcoding tool ffmpeg. It can be used for scripting many of the repetitive tasks that occur in a high volume video production environment.

The Stitcher syntax is loosely based on SMIL, a markup for multimedia video editing. It can describe the complex assembly of different source content including videos, text and images in sequence, or in parallel as an overlay.

This talk describes some of the production problems found in high volume environments and how Python tools such as Stitcher, moviepy, and ffmpeg help solve them.

Want to edit this page?