Current projects

The following BBC projects have been made available under a variety of open source licenses. These projects are all actively maintained by software teams in the BBC and used internally.

See the individual project pages for license details and information on how to contribute.

Runs AWS Lambda functions locally, usually to test them off-line.
device api logo
DeviceAPI is a collection of ruby gems that make working with physical devices easy and consistent. DeviceAPI provides common utilities such as device detection and identification, and useful helpers for installing applications and identifying problems with devices.
A library for the discovery of devices via the DIAL protocol on the iOS platform.
A prototype semantic aggregation and search platform.
XSLT to transform DocBook-XML 5 to (X)HTML
A collection of iOS dynamic libraries for building media-based Companion screen applications that are synchronised frame-accurately to a TV
A tool for calibrating and testing synchronisation timing of TVs and companion screen apps that use the DVB CSS protocols.
GStreamer plugin for decoding WHP198 audio-description metadata and mixing AD-audio and main-audio together
Hive-CI logo
Hive CI is a continuous integration platform for on-device testing. We use Hive CI and its numerous components and libraries across many projects in the BBC.
A shader based video composition engine for the browser.
Image Session Analyser logo
ISA is a ruby gem for comparing screenshots over a testing session. We use it in combination with the DeviceAPI gem to capture screenshots during video playback tests and confirm that video is actually being played.
A guide to the Research & Education Space for publishers and developers
A linked open data client library.
A SPARQL 1.1 client library.
The visual style & mark-up guide for the Research & Education Space
Provides a wrapper around external processes
Python library that implements DVB protocols for companion synchronisation, as used in HbbTV 2
This project is the open source version of BBC Reminiscence Archive which is a web app which lets users navigate to and view audio, video and image content, for the purpose of triggering memories in people with dementia. An admin system is also included, enabling the upload of media assets, choosing themes, and managing metadata. Please see the installation and administration instructions for further info
should it logo
Should It? - The programming language agnostic 'Behaviour Driven Development' framework.
TAL logo
TAL is a javascript framework that simplifies TV application development. It's used by all our TV apps at the BBC and enables us to make our apps available across a wide range of different Connected TVs, IPTVs, games consoles, set top boxes and Blu-ray devices in the market.
TuringCodec logo
Turing codec, an H.265/HEVC optimised software video encoder and decoder
A linked open data workflow engine.
An experimental video composition and sequencing library for the web.
viewporter logo
Viewporter is a simple in-browser tool created by developers at BBC Sport for checking how a responsive website responds to different screen sizes.
wraith logo
Wraith is a responsive webpage screenshot comparison tool designed for visual regression testing. It uses headless browsers, Imagemagick and Ruby to enable fast feedback for front end changes that reduces manual testing and user facing bugs.

Older projects

The following are older BBC open source projects.

Many of these projects are over 10 years old and are no longer supported but the code is still available.

This project provides a set of Delphi components that provide easy access to Advanced Authoring Format (AAF) files.
Broadcast Audio Production Tools set
These are projects we have released the following distributions to CPAN (Comprehensive Perl Archive Network)
Dirac is a state of the art video codec that provides general-purpose video compression and decompression tools. It is cross-platform and written in ANSI standard C++.
Glow is a JavaScript library designed to simplify the development of richly interactive websites in a manner compliant with BBC Standards & Guidelines.
ID3v2ChapterTool is an application which allows you to author and embed chapter information in your audio files.
Kamaelia is designed as a testbed for network experimentation using a component architecture designed to simplify creation and testing of new protocols for large scale media delivery systems.
A reference implementation of the Pro-MPEG Media Dispatch Group's Media Dispatch Protocol. This software allows large media files and their metadata to be exchanged by organisations according to an agreed standard.
A C++ application, based on the "Crystal Space 3D" game engine SDK. It displays an interactive, shared virtual world, in which the content author can embed audio and video sequences.
MHEG+ is a programming language developed by the TV Platforms Group at the BBC.
to provide a mechanism to store content in a local disk cache that has been retrieved from another web server (or 2nd tier), and to provide a REST-like HTTP interface to remove specific items from that cache.
Provides a system that allows various tests to be performed on MXF files.
The BBC TV-Anytime Java API is for parsing, manipulating and creating TV-Anytime metadata.
URIplay allows content to be assigned unique and persistent urls.
A simple DirectShow video shot change detector filter, suitable for a wide variety of applications.