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 currently consists of:

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

Current limitations:

  • Audio is not yet supported
  • Nested timelines are not yet supported
  • Exporting movie files currently relies on the FFmpeg command line program (see below: FFmpeg Encoding)

Toucan relies on the following libraries:

Supported VFX platforms: 2024, 2023, 2022

OpenFX Plugins

The OpenFX image effect plugins include:

  • 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 spaces: Color Convert, Premultiply Alpha, Un-Premultiply Alpha

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 send rendered images to the FFmpeg command line program for encoding. The images can be sent as either the y4m format or raw video. The images are piped directly to FFmpeg without the overhead of disk I/O.

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

Experiments with timeline rendering

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published