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
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
Compositing multiple tracks:
Filter effects; color map, invert, power, saturate, blur, and unsharp mask:
Gap:
Linear time warps:
Generators; fill, gradient, checkers, and noise:
Drawing; line, box, and text:
Dissolve transition:
Dissolve transition with an invert effect on the clips:
Wipe transitions:
Transforms; resize, rotate, flip, and flop:
Color space conversion:
Multiple effects on clips, tracks, and stacks:
Toucan can send rendered images directly to FFmpeg for encoding. The images are piped to FFmpeg without incurring the overhead of disk I/O.
Example command line for piping images to FFmpeg:
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 frames. This should match the-pix_fmt
option given to FFmpeg. One exception is that toucan options do not specify the endian, the endian of the current machine is used. So for example the toucan option-raw rgbaf16
might match the FFmpeg option-pix_fmt rgbaf16le
on the current machine. Check thetoucan-render
command line help for the list of available formats.-y
: Overwrite the output file if it already exists.-f rawvideo
: Set the input to raw video frames.-pix_fmt rgba
: Set the input pixel format as described above.-s 1280x720
: Set the size of the input frames. The image size can be found by runningtoucan-render
with the-print_size
option.-r 24
: Set the frame rate. The frame rate can be found by runningtoucan-render
with the-print_rate
option.-i pipe:
: Read from standard input instead of a file.output.mov
: The output movie file.
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
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
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