Project

General

Profile

TODO » History » Revision 2

Revision 1 (Andreas Smas, 2009-06-01 20:20) → Revision 2/4 (Andreas Smas, 2009-06-01 20:20)

= Tvheadend TODO list =

=== Add -l option (easy) ===

Starting Tvheadend with the '-l' option should always allow access from localhost without any questions asked.
Useful for mediacenters.

=== Add AVAHI support (medium) ===

Autodiscovery of Tvheadend would be nice. This should obviously be implemented using [http://avahi.org Avahi].
This should just announce Tvheadend as some kind of service.

=== Rewrite the internal streaming pipeline (hard) ===

The internal pipeline is a bit too inflexible at the moment. The rewrite needs to address these problems:

* Add a time-shifter.

* Remove cumbersome locking between nodes in the pipe.

* Prepare for adding live transcoders

This is how we want it to be:

{{{
[Input source]-[Arbitration] -+-> [Transcoder X] -> [Timeshifter] -> ...
|
+-> [Transcoder Y] -> ....
|
+-------------------> [Timeshifter] -+-- Multiple
+-- subscribers
+-- (HTSP, RTSP, DVR, etc)
}}}

=== Switch UI to ExtJS 3.0 (hard) ===

Upgrade the user-interface to [http://extjs.com/blog/2009/05/04/ext-js-30-rc11-released/ ExtJS 3.0].
Features of particular interest would be:

* The [http://extjs.com/deploy/ext-3.0-rc1.1/examples/grid/row-editor.html Row editor] as a replacement for how the grids are edited today. I really like this one (/andoma)

* The Adobe Flash based [http://extjs.com/deploy/ext-3.0-rc1.1/examples/chart/charts.html Charting] for display real-time updates of stream bitrates, DVB adapter errors, etc.

* Ext.Direct for the Comet implementation. Probably more robust than the current code.

=== Add wizards for some common tasks (hard) ===

Initially we want to add some kind of setup-wizard for the DVB subsystem. It's a bit too complicated to use at the moment.

=== Re-implement the RTSP interface (hard) ===

RTSP was thrown out of the code when Tvheadend was rewritten to be fully multi-threaded. It would be nice to get this back.

=== Realtime transcoding (hard) ===

Adding realtime transcoding of video/audio to produce low bitrate output.

=== Realtime video display in WebUI (hard/medium) ===

Multiple options exist here.

a) Application embedding (of VLC or similar) that just connects to the RTSP server.

b) Flash Video playback. Requires transcoding to h264 and AAC and a flash streaming server.

c) Use the HTMLv5 <video> tag. Requires transcoding to theora and vorbis. Does this use OGG as multiplex?