diff --git a/README.md b/README.md index c5c7c1b..437ed58 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,23 @@ Toucan ====== -Toucan is an experimental project for rendering OpenTimelineIO files. The -project currently consists of: +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 +* Outputting movie files currently relies on the FFmpeg command line program +(see below: FFmpeg Encoding) + Toucan relies on the following libraries: * [OpenTimelineIO](https://github.com/PixarAnimationStudios/OpenTimelineIO) * [OpenFX](https://github.com/AcademySoftwareFoundation/openfx) @@ -38,8 +47,6 @@ Compositing multiple tracks: ![CompositeTracks](images/CompositeTracks.png) -![Composite Tracks Graph](images/CompositeTracksGraph.svg) - Filter effects; color map, invert, power, saturate, blur, and unsharp mask: ![Filters](images/Filter.png) @@ -64,14 +71,10 @@ Dissolve transition: ![Transition](images/Transition.png) -![Transition Graph](images/TransitionGraph.svg) - Dissolve transition with an invert effect on the clips: ![Transition 2](images/Transition2.png) -![Transition 2 Graph](images/Transition2Graph.svg) - Wipe transitions: ![Transition Wipe](images/TransitionWipe.png) @@ -88,8 +91,6 @@ Multiple effects on clips, tracks, and stacks: ![Track Effects](images/MultipleEffects.png) -![Multiple Effects Graph](images/MultipleEffectsGraph.svg) - FFmpeg Encoding =============== Toucan can output rendered images directly to FFmpeg for encoding. The diff --git a/images/CompositeTracksGraph.dot b/images/CompositeTracksGraph.dot deleted file mode 100644 index 2ffe534..0000000 --- a/images/CompositeTracksGraph.dot +++ /dev/null @@ -1,12 +0,0 @@ -digraph CompositeTracks { - node [shape=box, fontsize=12, margin=0.05, width=0, height=0]; - Comp_1599726180416 [label="Comp"] - SequenceRead_1597776614800 -> Comp_1599726180416 - SequenceRead_1597776614800 [label="Read: Counter.0.png"] - Comp_1599726179168 -> Comp_1599726180416 - Comp_1599726179168 [label="Comp"] - Fill_1599713589184 -> Comp_1599726179168 - Fill_1599713589184 [label="Fill: 0, 0, 1, 1"] - Fill_1599713588960 -> Comp_1599726179168 - Fill_1599713588960 [label="Fill: 0, 0, 0, 1"] -} \ No newline at end of file diff --git a/images/CompositeTracksGraph.svg b/images/CompositeTracksGraph.svg deleted file mode 100644 index c2450e7..0000000 --- a/images/CompositeTracksGraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -CompositeTracks - - - -Comp_1599726180416 - -Comp - - - -SequenceRead_1597776614800 - -Read: Counter.0.png - - - -SequenceRead_1597776614800->Comp_1599726180416 - - - - - -Comp_1599726179168 - -Comp - - - -Comp_1599726179168->Comp_1599726180416 - - - - - -Fill_1599713589184 - -Fill: 0, 0, 1, 1 - - - -Fill_1599713589184->Comp_1599726179168 - - - - - -Fill_1599713588960 - -Fill: 0, 0, 0, 1 - - - -Fill_1599713588960->Comp_1599726179168 - - - - - diff --git a/images/MultipleEffectsGraph.dot b/images/MultipleEffectsGraph.dot deleted file mode 100644 index d882637..0000000 --- a/images/MultipleEffectsGraph.dot +++ /dev/null @@ -1,16 +0,0 @@ -digraph MultipleEffects { - node [shape=box, fontsize=12, margin=0.05, width=0, height=0]; - Pow_2560849241088 [label="Pow"] - Comp_2560849246288 -> Pow_2560849241088 - Comp_2560849246288 [label="Comp"] - Invert_2560932117488 -> Comp_2560849246288 - Invert_2560932117488 [label="Invert"] - Blur_2560849246080 -> Invert_2560932117488 - Blur_2560849246080 [label="Blur"] - Flip_2560932119216 -> Blur_2560849246080 - Flip_2560932119216 [label="Flip"] - Read_2560840968656 -> Flip_2560932119216 - Read_2560840968656 [label="Read: Charlie.jpg"] - Fill_2560840970288 -> Comp_2560849246288 - Fill_2560840970288 [label="Fill: 0, 0, 0, 1"] -} \ No newline at end of file diff --git a/images/MultipleEffectsGraph.svg b/images/MultipleEffectsGraph.svg deleted file mode 100644 index 5f0026c..0000000 --- a/images/MultipleEffectsGraph.svg +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - -MultipleEffects - - - -Pow_2560849241088 - -Pow - - - -Comp_2560849246288 - -Comp - - - -Comp_2560849246288->Pow_2560849241088 - - - - - -Invert_2560932117488 - -Invert - - - -Invert_2560932117488->Comp_2560849246288 - - - - - -Blur_2560849246080 - -Blur - - - -Blur_2560849246080->Invert_2560932117488 - - - - - -Flip_2560932119216 - -Flip - - - -Flip_2560932119216->Blur_2560849246080 - - - - - -Read_2560840968656 - -Read: Charlie.jpg - - - -Read_2560840968656->Flip_2560932119216 - - - - - -Fill_2560840970288 - -Fill: 0, 0, 0, 1 - - - -Fill_2560840970288->Comp_2560849246288 - - - - - diff --git a/images/Transition2Graph.dot b/images/Transition2Graph.dot deleted file mode 100644 index dc8e327..0000000 --- a/images/Transition2Graph.dot +++ /dev/null @@ -1,16 +0,0 @@ -digraph Transition2 { - node [shape=box, fontsize=12, margin=0.05, width=0, height=0]; - Comp_2198512534800 [label="Comp"] - Dissolve_2198694435648 -> Comp_2198512534800 - Dissolve_2198694435648 [label="Dissolve"] - Invert_2198612175136 -> Dissolve_2198694435648 - Invert_2198612175136 [label="Invert"] - SequenceRead_2198694381632 -> Invert_2198612175136 - SequenceRead_2198694381632 [label="Read: Counter.2.png"] - Invert_2198612185696 -> Dissolve_2198694435648 - Invert_2198612185696 [label="Invert"] - Fill_2198512578320 -> Invert_2198612185696 - Fill_2198512578320 [label="Fill: 0, 0, 1, 1"] - Fill_2198545780528 -> Comp_2198512534800 - Fill_2198545780528 [label="Fill: 0, 0, 0, 1"] -} diff --git a/images/Transition2Graph.svg b/images/Transition2Graph.svg deleted file mode 100644 index 8489b5e..0000000 --- a/images/Transition2Graph.svg +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - -Transition2 - - - -Comp_2198512534800 - -Comp - - - -Dissolve_2198694435648 - -Dissolve - - - -Dissolve_2198694435648->Comp_2198512534800 - - - - - -Invert_2198612175136 - -Invert - - - -Invert_2198612175136->Dissolve_2198694435648 - - - - - -SequenceRead_2198694381632 - -Read: Counter.2.png - - - -SequenceRead_2198694381632->Invert_2198612175136 - - - - - -Invert_2198612185696 - -Invert - - - -Invert_2198612185696->Dissolve_2198694435648 - - - - - -Fill_2198512578320 - -Fill: 0, 0, 1, 1 - - - -Fill_2198512578320->Invert_2198612185696 - - - - - -Fill_2198545780528 - -Fill: 0, 0, 0, 1 - - - -Fill_2198545780528->Comp_2198512534800 - - - - - diff --git a/images/TransitionGraph.dot b/images/TransitionGraph.dot deleted file mode 100644 index 9797546..0000000 --- a/images/TransitionGraph.dot +++ /dev/null @@ -1,12 +0,0 @@ -digraph Transition { - node [shape=box, fontsize=12, margin=0.05, width=0, height=0]; - Comp_2524697000576 [label="Comp"] - Dissolve_2524878971696 -> Comp_2524697000576 - Dissolve_2524878971696 [label="Dissolve"] - SequenceRead_2524878990960 -> Dissolve_2524878971696 - SequenceRead_2524878990960 [label="Read: Counter.2.png"] - Fill_2524829994752 -> Dissolve_2524878971696 - Fill_2524829994752 [label="Fill: 0, 0, 1, 1"] - Fill_2524878970176 -> Comp_2524697000576 - Fill_2524878970176 [label="Fill: 0, 0, 0, 1"] -} diff --git a/images/TransitionGraph.svg b/images/TransitionGraph.svg deleted file mode 100644 index 131d720..0000000 --- a/images/TransitionGraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -Transition - - - -Comp_2524697000576 - -Comp - - - -Dissolve_2524878971696 - -Dissolve - - - -Dissolve_2524878971696->Comp_2524697000576 - - - - - -SequenceRead_2524878990960 - -Read: Counter.2.png - - - -SequenceRead_2524878990960->Dissolve_2524878971696 - - - - - -Fill_2524829994752 - -Fill: 0, 0, 1, 1 - - - -Fill_2524829994752->Dissolve_2524878971696 - - - - - -Fill_2524878970176 - -Fill: 0, 0, 0, 1 - - - -Fill_2524878970176->Comp_2524697000576 - - - - -