TODO » History » Version 3
Andreas Smas, 2009-06-01 20:21
| 1 | 2 | Andreas Smas | = Tvheadend TODO list = |
|---|---|---|---|
| 2 | 1 | Andreas Smas | |
| 3 | 3 | Andreas Smas | This list is just a general scratch-pad where anyone can write down ideas, etc. |
| 4 | |||
| 5 | 1 | Andreas Smas | === Add -l option (easy) === |
| 6 | |||
| 7 | Starting Tvheadend with the '-l' option should always allow access from localhost without any questions asked. |
||
| 8 | Useful for mediacenters. |
||
| 9 | |||
| 10 | === Add AVAHI support (medium) === |
||
| 11 | |||
| 12 | Autodiscovery of Tvheadend would be nice. This should obviously be implemented using [http://avahi.org Avahi]. |
||
| 13 | This should just announce Tvheadend as some kind of service. |
||
| 14 | |||
| 15 | |||
| 16 | === Rewrite the internal streaming pipeline (hard) === |
||
| 17 | |||
| 18 | The internal pipeline is a bit too inflexible at the moment. The rewrite needs to address these problems: |
||
| 19 | |||
| 20 | * Add a time-shifter. |
||
| 21 | |||
| 22 | * Remove cumbersome locking between nodes in the pipe. |
||
| 23 | |||
| 24 | * Prepare for adding live transcoders |
||
| 25 | |||
| 26 | This is how we want it to be: |
||
| 27 | |||
| 28 | {{{ |
||
| 29 | [Input source]-[Arbitration] -+-> [Transcoder X] -> [Timeshifter] -> ... |
||
| 30 | | |
||
| 31 | +-> [Transcoder Y] -> .... |
||
| 32 | | |
||
| 33 | +-------------------> [Timeshifter] -+-- Multiple |
||
| 34 | +-- subscribers |
||
| 35 | +-- (HTSP, RTSP, DVR, etc) |
||
| 36 | }}} |
||
| 37 | |||
| 38 | === Switch UI to ExtJS 3.0 (hard) === |
||
| 39 | |||
| 40 | Upgrade the user-interface to [http://extjs.com/blog/2009/05/04/ext-js-30-rc11-released/ ExtJS 3.0]. |
||
| 41 | Features of particular interest would be: |
||
| 42 | |||
| 43 | * 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) |
||
| 44 | |||
| 45 | * 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. |
||
| 46 | |||
| 47 | * Ext.Direct for the Comet implementation. Probably more robust than the current code. |
||
| 48 | |||
| 49 | === Add wizards for some common tasks (hard) === |
||
| 50 | |||
| 51 | 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. |
||
| 52 | |||
| 53 | === Re-implement the RTSP interface (hard) === |
||
| 54 | |||
| 55 | RTSP was thrown out of the code when Tvheadend was rewritten to be fully multi-threaded. It would be nice to get this back. |
||
| 56 | |||
| 57 | === Realtime transcoding (hard) === |
||
| 58 | |||
| 59 | Adding realtime transcoding of video/audio to produce low bitrate output. |
||
| 60 | |||
| 61 | === Realtime video display in WebUI (hard/medium) === |
||
| 62 | |||
| 63 | Multiple options exist here. |
||
| 64 | |||
| 65 | a) Application embedding (of VLC or similar) that just connects to the RTSP server. |
||
| 66 | |||
| 67 | b) Flash Video playback. Requires transcoding to h264 and AAC and a flash streaming server. |
||
| 68 | |||
| 69 | c) Use the HTMLv5 <video> tag. Requires transcoding to theora and vorbis. Does this use OGG as multiplex? |