Script for simulating traveling mattes with ffmpeg
Go to file
sixteenmillimeter 1fbb330163
Added an example video
2021-03-29 22:32:19 -04:00
img Add examples to readme 2019-05-30 21:15:12 -04:00
notes Created working script. Use 3 input files, 2 picture and 1 matte to generate an output video 2019-05-30 19:32:19 -04:00
scripts Created working script. Use 3 input files, 2 picture and 1 matte to generate an output video 2019-05-30 19:32:19 -04:00
.gitignore Add examples to readme 2019-05-30 21:15:12 -04:00
README.md Added an example video 2021-03-29 22:32:19 -04:00
bipack.sh Add a message that prints the file information before running ffmpeg. 2019-05-31 19:03:27 -04:00

README.md

bipack

Script for simulating traveling mattes with ffmpeg. Achieve the effect of bipacked film with high contrast masks with a simple bash script.

Read more about traveling mattes.

Requirements

Uses ffmpeg to generate matte layers, apply mattes as alpha masks and render the final video.

Installation instructions for ffmpeg here: https://github.com/adaptlearning/adapt_authoring/wiki/Installing-FFmpeg

Usage

sh bipack.sh A.mp4 B.mp4 matte.mp4 output.mov

This command will take video A.mp4 and B.mp4 as image sources while using matte.mp4 as a high contrast matte which seperates the two image sources. Any video passed in as the matte layer will be converted to greyscale and have the contrast maxed out, so you should treat your matte layer before putting it into this script.

bipack examples

Examples

Bipack example 1

Generously provided by Dave Rodriquez Twitter: @clavilux_of_FL Github: @drodz11

Explanation

This script started as a multi-command experiment that finally got reduced to a single command that leans heavily on ffmpeg's maskmerge filter: Documentation

Uses 1280x720 resolution and Apple ProRes 422 HQ as the output format, right now but change that easily in the script.

Videos at different framerates will cause "slippage" between the mattes and the images, so it's best to standardize those before running this script. The default rate is set to 24fps because it's been the lowest common denominator of the videos this was written for, but you should use a consistent framerate with all videos passed into this script.