ETV personal video recorder

What will be finished at what stage?

Performance

My current developmachine is a dedicated Athlon 2400, with a 120Gb disk and 128 Mb ram, with no swap-partition as to keep performance more predicatable. It runs Mandrake 10.1 (2.6.x kernel) and ReiserFS on the videopartition.
It usually runs runs backend/master/frontend and MySQL. Some tentative performance figures (no load figures yet, need more testing):
- Recording only 720x576 mpeg4 with mp3: no dropped frames (?)
- Playing only 720x576 mpeg4 with mp3: no dropped frames (?)
- Timeshifting 720x288 mpeg4 with mp3: if I pester it a lot it drops frames, when just watching it doesn't.
- Recording only 720x576 ljpeg with raw sound (i.e. 100% lossless fullscreen video and audio): if the source is clean and the machine is running 100% dedicated and if I'm lucky: no dropped frames...

My previous development machine was an Athlon 850. It ran backend/master/frontend and MySQL. Performance was in the order of:
- Playback only 720x576 mpeg4: 50% CPU load, usually no hickups
- Recording only 720x576 mpeg4: 90% CPU load, sometimes dropped frames if the disk cannot keep up.
- Timeshifting 320x200 mpeg4: 80-90% CPU load, no dropped frames.
This is all when everything is optimal: enough free diskspace and no other processes consuming much time.

Any reasonable modern processor should be able to run timeshifted 352x288 mpeg4 with ease, which is surprisingly watchable IMHO.

Implemented

At the moment nearly all functionality is in place. My TODO-list is still enormous, but does not contain much which will be missed by a normal user. A - probably incompleet - overview of the major features:

  • Networked Master/Frontend/Backend with automatic reconnect
  • Scheduler which takes into account priorities, partial recordings, overlapping recordings, changes in the schedule while recording, etc
  • Any speed forward/backward with any codec, keyframed or not
  • OnScreenDisplay of program information and buffer/recordingposition
  • EPG module with colorcoded categories, colorcoded underlining showing all (scheduled) recordings
  • Program/Schedule/Recording list & form
  • Recording Profile list & form
  • Rule list & form (for automatic recordings)
  • Category list & form (for automatic categorizing if no category given by the grabber)
  • Channellist/Channelform for manual maintenance of channels, or alternatively (fine-)tuning while watching LiveTV
  • EPG import of programdata grabbed by XMLTV
  • Import of preset-stations from xawtv settings
  • Multi-part recordings (to support interrupted recordings)
  • Multi-file recordings (to break the 2Gb barrier)
  • Import of recordings made with ETV (in case of re-installs or copied from another non-networked ETV)
  • Support for different GUI-resolutions & skins
  • Video editing: placing markers and marking sections to be skipped
  • Export of selected part of video, respecting the editing markers
  • Locating programs in the EPG based on a word from the title
  • Support for different (unicode) frontend interface languages (as long as they read left-to-right)
  • User manual
To be implemented (possibly?) during the next beta's
  • Circular liveTV buffer
  • Optional re-use of previous LiveTV buffer
  • Gui setupmodule for user-preferences
  • Automatic export from liveTV-buffer in case a recording can use parts previously watched during liveTV
  • Multiple directory storage on disk
  • Access to remote recordings over private file-serving service if not sharing over samba or nfs.
To be implemented before the 1.0 release
  • Stability :-)
  • Setup & Maintenance manual