« Previous | Main | Next »

Open Source Release of MHEG+ Toolkit

Post categories:

Mark Hatton Mark Hatton | 15:00 UK time, Monday, 23 August 2010

Today the BBC Red Button team is pleased to announce the open source release of the MHEG+ toolkit under the Apache 2.0 licence.

MHEG+ (pronounced: em-heg plus) is both a programming language and a suite of tools developed by the BBC for building interactive television services. If you have ever used the Freeview or Freesat Red Button services such as the interactive news & weather and even the CBeebies games and Formula 1 alternate commentary, you might be surprised to learn that you were using an MHEG+ application.

MHEG+ started its life in 2005 as a BBC Research & Development project aimed at creating a programming language more palatable and modern than its predecessor, MHEG-5. The '+' suffix in the MHEG+ name is meant to suggest it is a superior language to MHEG-5, often referred to as simply "MHEG".

Today MHEG+ is not just a programming language but also a comprehensive suite of tools for developing interactive television applications. The toolkit includes a compiler, debugger, emulator, automated testing tools and also a code editor that integrates with the Eclipse IDE.

The toolkit's emulator, named MHEG Player, emulates both Freeview and Freesat set-top boxes. It features an MHEG graphics engine, a virtual tuner (so users can 'virtually' switch from BBC One to BBC Radio 5 Live, say) and even a virtual remote control that doesn't get lost down the side of the sofa! The integrated debugger too is feature rich and can be used to debug both MHEG-5 and MHEG+ code.


Until today, MHEG+ was only available for use by BBC staff for the benefit of our own interactive television applications. But we think MHEG+ is too useful a tool to keep just to ourselves. Open sourcing MHEG+ is another example of the BBC's drive toward openness and demonstrates our eagerness to give something back to the technical community.

Further, we hope to encourage the community to get involved in MHEG+ and make it better. There are many ways to participate, from simply developing interactive applications (and possibly reporting bugs), to documentation writing and code contributions.

The MHEG+ source code can be browsed and downloaded at the MHEG+ SourceForge project page. Here you can also find a forum for discussing MHEG+ and getting help.

Mark Hatton is a Senior Software Engineer working in the TV Platforms Group.


  • Comment number 1.

    I'm glad to finally see this happening!

  • Comment number 2.

    Oh, absolutely fantastic. I've been itching for this since it was first mentioned that an open source release was part of the plan. Congratulations on the release!

  • Comment number 3.

    This comment was removed because the moderators found it broke the house rules. Explain.

  • Comment number 4.

    Thanks for the release of this. Could you please supply some basic documentation, such as how to plug this code into Eclipse and how to use it to write/compiler/run applications? A quick tutorial on how to create and run a "hello world" application would be great.

  • Comment number 5.

    Hm, a README would be handy! It took a minor amount of deductive reasoning to figure out how to run the compiler and emulator/debugger, and that they weren't just Eclipse plug-ins (and that the compiler is a command-line tool -- not that I consider that to be a bad thing). However:

    The toolkit includes a compiler, debugger, emulator, automated testing tools and also a code editor that integrates with the Eclipse IDE.

    The automated testing tools and code editor don't *appear* to be in the release on Sourceforge -- are they MIA, not going to be released, or am I being dim? (the post certainly suggests they're meant to be there, but that could be me misinterpreting).

    I noted also that the emulator doesn't seem to like loading compiled MHEG-5 files from an on-disk carousel where the source isn't available (or, in the case I was trying it with, was available but for some reason wasn't structured the way it was expecting).

    Something along the lines of MHEG-5 Invaders as a sample MHEG+ project would be good for illustrative purposes.

  • Comment number 6.

    @NigelAtadi, @Mo we are beginning to migrate our internal documentation over to the SourceForge wiki page:


    There is now a 'hello world' example.

  • Comment number 7.

    And @Mo, well spotted, the Eclipse code editor has not yet been open sourced as we are trying to sort out concerns over its licensing. I'm hopeful it will be released shortly.

    Could you please raise your other concerns as bugs/feature requests on SourceForge. There are ways of achieving all of what you ask, but the detail is not appropraite for this blog post. Thanks

  • Comment number 8.

    @Mark -- many thanks. I'll don appropriate protective clothing and get reporting on SF.

  • Comment number 9.

    Hi all,
    I am new to mheg technology.Is there any tutorials or sample code available to develop a basic app using mheg in eclipse. How to set up the MHEG working Environment in windows7. Any help and suggestion are most welcome..


More from this blog...

BBC © 2014 The BBC is not responsible for the content of external sites. Read more.

This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.