Tools for timeshifting
For more context on timeshifting in Kamaelia, please see this page.
What is it?
It records and transcodes what is broadcast over DTT for future viewing. It is essentially a form of timeshifting. It is currently at a prototype stage, and as such the contents of this page is subject to change. Programs are captured, transcoded and then made avallable for viewing in a variety of formats. The two primary formats are suitable for handheld TV's and relatively small living room TVs.
The resulting data is forwarded to a simple front end for demonstration purposes. The current front end can be found here, and has not been active that long - please be gentle!
High Level Architecture
The high level architecture is as follows:
This might seem too high level. However, due to Kamaelia's nature, this has a direct mapping to the underlying code.
A channel transcoder takes the data it recieves and splits it into two.
Diagrammatically, this looks like this: (only one actual transcoder shown for simplicity)
The interesting point is what happens when there's a programme event change. In this circumstance, new transcoders are created, and the audio visual data is sent to them. The original transcoders are sent shutdown messages telling them to shutdown after completing their transcoding. This then triggers the copying of the transcoded data & captured metadata to a location where the (currently simple) frontend can access it.
Diagrammatically, the replumbing looks like this:
Specifically, files are created of the form:
Primitive Front End
The existing front end is a simple prototype that shows how a standard single channel can be made to look like a RSS feed like any other "web" channel. This can be found here:
A snapshot of the current view:
This is not the end...
The code & system described here is not the final version. The upcoming release of Kamaelia & Axon (0.4.0 and 1.5.0 respectively) will include the simple version of Macro as an example, in examples 15 specifically. Until then in order to use this you'll want to grab a bundle, follow the instructions for getting started, and then get a recent CVS snapshot. Please contact us for help in getting started. Once again though, bear in mind that these tools have been created for legal timeshifting purposes only.
If you're interested in collaborating on building this and taking this technology forward (or perhaps even building into a domestic PVR, or a personal/homebrew PVR) we'd be very interested in hearing from you!
Kamaelia tools for timeshifting are relatively nascent, but as can be seen can be used for a variety of interesting uses already. As it should be clear, extending these systems to do more would be relatively simple. For example rebroadcasting the transcoded data using multicast is a relatively simple extension.
Regarding Kamaelia, this work has been useful so far for driving a large amount of optimisation work for the core system - Axon. This has had a number of knockon effects, such as making collaborative whiteboarding a realistically useful tool.
Michael, May 2006
This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)
(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved