Feel free to contribute and modify this spec
Launchpad entry: https://features.launchpad.net/distros/ubuntu/+spec/gnome-dvb
Packages affected: gstreamer-0.10, totem, totem-gstreamer
Currently the universe repository in Ubuntu has gxine and Me TV to watch DVB applications but the Ubuntu main repository doesn't have a DVB software to watch TV. Let's create a plug-in for totem which you could use to control the DVB card while watching the stream from /dev/adapterX/dvrY, so you could change channels from totem, read the electronic program guide, teletext, etc.
gstreamer can open MPEG2 files recorded using other apps or straight from a DVB card. Then only thing that must be implemented is the interaction with the DVB card and EPG stuff + Teletext
Mark just installed Ubuntu, plugged his DVB device, and wants to scan for channels and watch them using totem
- The 'dvbsrc' gstreamer element in the gst-plugins-bad0.10 (0.10.4) package (available since feisty)
- The 'flutsdemux' element (transport stream demuxer - open source component from Fluendo)
This should solve the problem with cheaper adapters that doesn't provide a /dev/videoX interface, but apparently it seems to rely on the proprietary mpeg decoding plugins from Fluendo (and doesn't work with the ffmpeg gstreamer elements) so it's only a start to provide a fully opensource implementation of DVB in gstreamer.
For not making double efforts it would be wise to consider https://launchpad.net/me-tv as a candidate for this spec as it is near to Ubuntu and goes for Gnome. At the moment it uses xine as the results with gstreamer have not been the best, but this could change in the future.
There is already ongoing work at http://projects.gnome.org/totem/#dvb just the scanner interface is missing.
Data preservation and migration
- Not all DVB cards send out video through /dev/videox; some only send out the mpeg data in /dev/dvb/adapterx/* (notably the 'cheap' USB sticks)
- DVB-T/C/S are different wrt. scanning/tuning
BoF agenda and discussion
- implement scanning utility in totem
- implement viewing DVB channels in totem and gstreamer
- implement EPG in totem and gstreamer
- implement recordings and programmed recordings in totem
implement TimeShift in totem
- implement Teletext in totem and gstreamer