Contributing

Revision 8 as of 2012-06-21 13:42:07

Clear message

Target Platforms

During development Ubuntu TV was tested on an Acer Aspire Revo 3600 and 3700. These sport a 1.6GHz Atom CPU and VDPAU-capable nVidia GPU. All testing was done with the nVidia binary driver installed from the repository.

Install Ubuntu TV

To download the code for Ubuntu TV, click here.

To install it, here’s what you need to do:

  • Download Ubuntu TV’s code, its dependencies and compile it:
    $ sudo apt-get build-dep unity-2d
    $ sudo apt-get install bzr dconf-tools ffmpeg gnome-common libdeclarative-multimedia
    $ bzr branch lp:~s-team/ubuntutv/trunk ubuntu-tv
    $ cd ubuntu-tv
    $ cmake .
    $ make
    $ cd ..
  • Scan your films for metadata using XBMC’s media scanner. The process is documented in details in the video lens’s README.txt file.
  • Download and compile the prototype Unity video lens system:
    $ bzr branch lp:~s-team/ubuntutv/unity-lens-video
    $ cd unity-lens-video
    $ ./autogen.sh --prefix=/usr --sysconfdir=/etc
    $ sudo make install
    $ cd ..
  • generate thumbnails for your videos:
    $ /usr/lib/unity-lens-video/create_tmb.sh ~/Videos/
  • Set the formFactor D-Conf key to “tv”
    $ GSETTINGS_SCHEMA_DIR=ubuntu-tv/data gsettings set com.canonical.Unity2d form-factor tv
  • Prepare your environment
    • if you’re running unity-2d, you need to kill unity-2d-panel, unity-2d-places, unity-2d-launcher, unity-2d-spread (twice):
      $ killall unity-2d-{panel,places,launcher,spread} && killall unity-2d-{panel,places,launcher,spread}
    • if you’re running unity, replace compiz with metacity:
      $  metacity --replace &
  • Run it!
    $ cd ubuntu-tv
    $ ./shell/app/unity-2d-shell -opengl

A full-screen window should now appear, showing your films.

Notes

  • F1, F2, F3 are shortcuts for launcher, top bar (in player), sidebar, respectively
  • you need gstreamer plugins for the videos you want to play
  • it’s designed for 1080p, will not look right for other resolutions
  • it was only tested on 11.10
  • it’s required that all the dirs mentioned in the video-lens README.txt are there (even if empty)
  • the EPG data is shipped with the code, you can use refreshdata.py from shell/dash/epgdata to refresh it

  • the EPG will always play ~/Videos/unity/local/epg/epg.mkv

FAQ

  • what is Ubuntu TV
    • it's a Unity variant (based on Unity-2D codebase) that's been adapted for a 10-foot interface - it's a proof of concept, though, so everything might (and probably will) change
    • the plan is to stick it into the TV, not another box sitting next to it with lots of cables and another remote
  • what's the technology behind it
    • all of Ubuntu, but right now specifically all the Unity backends like Lenses and Scopes, it's based on Unity-2D so Qt / QML, gstreamer (through Qt Mobility) for multimedia playback, OpenGL (ES works, too) is used for rendering
  • why is there no official PPA
    • the code isn't in a state to run alongside desktop unity, we didn't want to break peoples' desktops
    • we hope to provide a more polished version in a PPA for 12.04
  • what is the language / toolkit for developing for Ubuntu TV
    • nothing was yet decided TV-specific, but anything that's currently supported in Ubuntu should be a good start and we'll say more when we know more
  • how can I try it
  • can I use the video lens in Ubuntu Desktop
    • yes, it uses the standard Unity Lens infrastructure, but it's very rough and was never meant to go into "production"
  • what remote control is supported
    • anything HID (Human Interface Devices), so keyboards, Bluetooth remotes, IR remotes with in-kernel support should more or less work, we're probably not going to support LIRC as it's the "old" approach now
    • as can be seen, in current concept search is a central part, so text input is an important feature
  • what formats does it support
    • being based on gstreamer - anything you have there for gstreamer should work
  • what about HW video acceleration
  • what's the target hardware
    • we used an Acer Revo during development, but ARM is also a definite target, HW video acceleration is a requirement, as is OpenGL(ES), HDMI out, digital audio, we want to have CEC integration (see http://en.wikipedia.org/wiki/HDMI#CEC) and at least a single tuner (be it DVB, ATSC or whatever)

    • a PandaBoard with a USB tuner is probably the closest you can get to what we're thinking about now

  • how can you contribute
  • will Ubuntu TV include a web browser
    • most probably yes, but it might not be a web browser as you know it now, websites are rarely meant to be used from a distance, regardless how much you zoom, the experience is usually bad
  • what PVR backend will be used
    • no evaluation was yet made on that topic, but MythTV, GNOME-DVB-Daemon are definitely on the table
  • what was a demo / mockup, what actually works
    • YouTube / iPlayer icons are just placeholders - indicators how an app could get integrated into the launcher

    • only the volume indicator and clock are actually live, the rest are dummy entries
    • EPG data is fake, uses offline data for 24 hours programmes gathered from BBC and no tuner backend has been enabled at all
    • video playback (HW accelerated, where supported) is live
    • metadata (synopsis, cast, posters, images etc.) for videos needs to be preloaded as XML and image files
    • what's the best language to write Lenses / Scopes
    • vala and python are the most usual choices (see https://wiki.ubuntu.com/Unity/Lenses)

Use Cases

Help contribute to Ubuntu TV immediately by suggesting some features and use cases that you think would be really useful to have in a TV.

https://wiki.ubuntu.com/UbuntuTV/UseCases