Download the PHP package survos/otio-bundle without Composer
On this page you can find all versions of the php package survos/otio-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download survos/otio-bundle
More information about survos/otio-bundle
Files in survos/otio-bundle
Package otio-bundle
Short Description Symfony integration scaffold for the Survos OpenTimelineIO library.
License MIT
Informations about the package otio-bundle
Survos OTIO Bundle
Symfony integration that converts OTIO documents into a Remotion browser preview.
The standalone survos/otio package owns OTIO classes; this bundle owns playback.
The bundle ships a prebuilt ESM player containing React and Remotion. Consumers use Symfony AssetMapper, without adding a React build to their application:
The UX package metadata registers that import through Flex. In a linked consumer installed before this metadata existed, register it once:
Inject Survos\OtioBundle\Playback\RemotionProjector and call
project($timeline, $resolve). The resolver receives an ExternalReference target
and returns id, url, kind (image/audio/video), and optional credit.
The application is responsible for authorization, source metadata and URL resolution.
Supported preview
Flat video/audio tracks, explicit clip trims, gaps, layered visuals, images, original audio and video, optional Ken Burns motion and lower thirds. Absolute boundaries are rounded to output frames; source trims remain separate. Video sound is opt-in to avoid doubling a separate audio track. Nested/trimmed compositions, effects/retiming, transitions and unsupported references fail explicitly. The preview uses native HTML media through Remotion for browser compatibility. MP4 export is not implemented here.
metadata.survos is an optional presentation profile, version 1. Timeline fields:
fps (default 30), width (1920), height (1080), plus optional
fadeInSeconds and fadeOutSeconds (0–10, default 0). These apply a synchronized
picture-to-black and audio-to-silence envelope across the whole composition,
including overlays and embedded video sound; seeking recomputes it from frame time. Clip fields: layout
(editorial, lower-third, title, a centred title card over the dimmed picture,
or credits, rolling credits: caption sections split by a blank line, each headed by its first line), caption, eyebrow, gain, embeddedAudio, fadeInSeconds/fadeOutSeconds
(clip-relative opacity; a fade-in on an upper track overlapping the clip below is a
crossfade), and
motion (fromScale, toScale, fromX, toX, fromY, toY). Motion positions
are percentages; scale is 1–3. These are custom renderer hints, not standard OTIO
features that another editor must reproduce.
The player exposes play, pause, seekTo, getCurrentFrame, setMotion, setCaptions, and unmount; it emits otio:frame, otio:play, otio:pause and otio:captions DOM events. The control bar has a CC button that toggles the captions (also in fullscreen).
Rendering to MP4
Survos\OtioBundle\Render\RemotionRenderer (and `bin/console otio:render
All versions of otio-bundle with dependencies
survos/kit-bundle Version ^2.36
survos/otio Version ^2.41.9
symfony/asset-mapper Version ^8.1
symfony/config Version ^8.1
symfony/console Version ^8.1
symfony/dependency-injection Version ^8.1
symfony/filesystem Version ^8.1
symfony/http-kernel Version ^8.1
symfony/process Version ^8.1
symfony/stimulus-bundle Version ^3.3