
This is the BBC Research & Development UX Team's experimental shader based video composition engine for the browser. For new projects please consider using or new VideoContext library https://github.com/bbc/videocontext .
HTML5-Video-Compositor is an innovative experimental video composition engine designed to work directly in web browsers. By harnessing the power of shader-based compositing, this tool allows for the dynamic editing of video streams via edit decision lists (EDLs). This functionality is especially engaging as it enables real-time interactivity, making it ideal for developers looking to create interactive video content.
With a simple JSON-based EDL format, users can efficiently define how to cut and assemble various multimedia sources, including HTML5 videos, images, and WebGL contexts. While it presents exciting opportunities for web video editing, it’s important to note the limitations it currently faces, including mobile compatibility and the ability to manage shader effects.
Shader-Based Compositing: Utilizes advanced shader techniques to create effects like cross-fades and green-screening, enriching video presentations.
Dynamic EDL Support: Allows users to append content to the EDL while the video plays, facilitating immersive and responsive video experiences.
JSON-Based Configuration: The easy-to-use JSON format for EDL specifications simplifies the manipulation of video sources and editing processes.
Tutorial and Documentation: Comprehensive tutorials and API documentation are included to help users get started quickly, guiding them through sequencing clips and applying effects.
Fast Decode Video Encoding: Ensures better video performance by encouraging the use of "fast decode" options when encoding videos, helping to maintain fluid playback.
NPM Dependency Management: Streamlined installation and management of project dependencies using npm, making the setup process smoother for developers.
Auto-Recompilation: Features an auto-recompile option for source changes, allowing developers to see real-time updates without manual builds.

HTML templates are pre-designed and pre-built web pages that can be customized and used as a basis for building websites. They often include common elements such as headers, footers, menus, and content sections, and can be easily edited using HTML and CSS to fit specific branding and content needs.
Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.