Perspective Warping

The transform type="perspective"> transform the source layer to fill a given quadrilateral or "quad" (a polygon with four edges). The coordinates of the quad can be provided inline for single frame transformations, or by providing a file with the coordinates encoded as JSON. Alternatively, the data can also be given as a keyframe animation (See example below).

<transform
    type="perspective"
    src="local motion data source"
    url="remote motion data source"
    offset="time"
    scale="number"
    motionblur="number"
    upperleft="point"
    upperright="point"
    lowerleft="point"
    lowerright="point"
    />

ATTRIBUTES

src
A local JSON encoded motion data source
url
A remote JSON encoded motion data source loaded via HTTP(s)
offset
Skip offset frames in the data source
scale
Scale motion data by this factor
motionblur
Enable motion blur with given factor
upperleft
Upper left corner of quad (for embedded motion data)
upperright
Upper right corner of quad (for embedded motion data)
lowerleft
Lower left corner of quad (for embedded motion data)
lowerright
Lower right corner of quad (for embedded motion data)

Examples

Perspective Warping (Motion Data from FX Editor/AfterEffects)

<movie>
    <scene>
        <video src="https://cdn.impossible.io/xml/003.mov">
            <transform type="perspective" url="https://cdn.impossible.io/xml/motion.json" motionblur="5" />
        </video>
    </scene>
</movie>
Original Video
Transformed Video
(motion source: "motion.json", motionblur: "5")

Perspective Warping (Embedded Motion Data)

<movie>
    <scene>
        <video src="https://cdn.impossible.io/xml/003.mov">
            <transform type="perspective" motionblur="5" >
                <animation>
                    <keyframe time="0" upperleft="10,10" upperright="500, 30" lowerleft="40, 200" lowerright="450, 180" />
                    <keyframe time="2s" upperleft="300,160" upperright="340, 160" lowerleft="300, 200" lowerright="340, 200" />
                </animation>
            </transform>
        </video>
    </scene>
</movie>

(click play button to see rendered video)

Terms of Use | © 2017, Impossible Software, or its affiliates. All rights reserved.