The primary function of LVS Assembly APIs is to generate playable media compiled from selections from multiple source videos without using encoding. The assembled media may be in one of the following formats.
- HLS m3u8 playlist - This format generates segmented audio/video streams from multiple HLS sources and supports adaptive bitrate playback. It is a good choice for consumer-facing applications that need to support both desktop and mobile users.
- LDASH Streaming MP4 - This format uses a virtual MP4 container that compiles video frames from multiple MP4 source assets. You may find this format useful when working with legacy video archives that have not been optimized for web viewing.
- VSTUB Offline MP4 - Like LDASH, VSTUB uses a virtual MP4 container to compile frames from multiple MP4 source assets, but is in a format that can be downloaded and managed offline. This format is useful in video production workflows where it may convenient to share assembled media using folders on a local network.
In addition, Assembly APIs include endpoints that generate still images (e.g. thumbnails) from discovered media.
Supported Video Players
- LVS-assembled HLS media can be played by most web media players (e.g. video.js) or local media players (e.g. VLC player) capable of playing standard HLS media.
- LDASH and VSTUB formats require our custom implementation of Shaka player, which is available on Github here: https://github.com/LiniusAustPty/linius-shaka-demo
In its simplest form, the Assembly process requires the following inputs:
- the format that you want to assemble (you will use different endpoints to generate HLS, LDASH, or VSTUB media).
- the playable objects you want to compile (e.g. discovered assets, playlists, and/or elements)
- the section of each playable object you want to use -- i.e. the timecode range, expressed as an offset (the starting timecode) and duration (the period of time following the offset).
- the order in which the playable objects should appear.