Skip to content

OpenTimelineIO/toucan

Repository files navigation

Build Status

toucan

Toucan

Toucan is a software renderer for OpenTimelineIO files. Toucan can render an OpenTimelineIO file with multiple tracks, clips, transitions, and effects into an image sequence or movie file.

The project consists of:

  • C++ library for rendering timelines
  • Collection of OpenFX image effect plugins
  • Command line renderer
  • Interactive viewer
  • Example .otio files

OpenFX Plugins:

  • Generators: Checkers, Fill, Gradient, Noise
  • Drawing: Box, Line, Text
  • Filters: Blur, Color Map, Invert, Power, Saturate, Unsharp Mask
  • Transforms: Crop, Flip, Flop, Resize, Rotate
  • Transitions: Dissolve, Horizontal Wipe, Vertical Wipe
  • Color space: Color Convert, Premultiply Alpha, Un-Premultiply Alpha

TODO:

  • Audio support
  • Nested timeline support

Toucan relies on the following libraries:

Supported VFX platforms: 2024, 2023, 2022

Example Renders

Compositing multiple tracks:

CompositeTracks

Filter effects; color map, invert, power, saturate, blur, and unsharp mask:

Filters

Gap:

Gap

Linear time warps:

LinearTimeWarp

Generators; fill, gradient, checkers, and noise:

Generators

Drawing; line, box, and text:

Render

Dissolve transition:

Transition

Dissolve transition with an invert effect on the clips:

Transition 2

Wipe transitions:

Transition Wipe

Transforms; resize, rotate, flip, and flop:

Transforms

Color space conversion:

Color Space

Multiple effects on clips, tracks, and stacks:

Track Effects

FFmpeg Encoding

Toucan can write movies with FFmpeg directly, or send raw images to the FFmpeg command line program over a pipe.

Example command line writing a movie directly:

toucan-render Transition.otio Transition.mov -vcodec MJPEG

Raw images can be sent to FFmpeg as either the y4m format or raw video.

Example command line using the y4m format:

toucan-render Transition.otio - -y4m 444 | ffmpeg -y -i pipe: output.mov
  • Transition.otio: The input timeline file.
  • -: Write to standard out instead of a file.
  • -y4m 444: Set the pixel format of the output images. Possible values: 422, 444, 444alpha, 444p16
  • -y: Overwrite the output file if it already exists.
  • -i pipe:: Read from standard input instead of a file.
  • output.mov: The output movie file.

Example command line using raw video:

toucan-render Transition.otio - -raw rgba | ffmpeg -y -f rawvideo -pix_fmt rgba -s 1280x720 -r 24 -i pipe: output.mov
  • Transition.otio: The input timeline file.
  • -: Write to standard out instead of a file.
  • -raw rgba: Set the pixel format of the output images. Possible values: rgb24, rgb48, rgba, rgba64, rgbaf16, rgbaf32, rgbf32
  • -y: Overwrite the output file if it already exists.
  • -f rawvideo: Set the input to raw video frames.
  • -pix_fmt rgba: Set the pixel format same as above.
  • -s 1280x720: Set the size of the input frames. The image size can be found by running toucan-render with the -print_size option.
  • -r 24: Set the frame rate. The frame rate can be found by running toucan-render with the -print_rate option.
  • -i pipe:: Read from standard input instead of a file.
  • output.mov: The output movie file.

Building

Building on Linux

Clone the repository:

git clone https://github.com/OpenTimelineIO/toucan.git

Run the super build:

sh toucan/SuperBuild.sh Release

Run the viewer application:

export LD_LIBRARY_PATH=$PWD/install-Release/lib:$LD_LIBRARY_PATH
install-Release/bin/toucan-view toucan/data/Transition.otio

Building on macOS

Clone the repository:

git clone https://github.com/OpenTimelineIO/toucan.git

Run the super build:

sh toucan/SuperBuild.sh Release

Run the viewer application:

install-Release/bin/toucan-view toucan/data/Transition.otio

Building on Windows

Clone the repository:

git clone https://github.com/OpenTimelineIO/toucan.git

Run the super build:

toucan\SuperBuild.bat Release

Run the viewer application:

set PATH=%CD%\install-Release\bin;%PATH%
install-Release\bin\toucan-view.exe toucan\data\Transition.otio

About

Toucan is a software renderer for timelines

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published