Unified PVR frontend (DVR/HTPC client GUI with EPG) and Addons API for PVR backends?
#1
Lightbulb 
One common PVR front-end (client-side GUI) and a unified API for addons that control different PVR back-end TV-servers?

Please do not let the length of this post put you off, as this is really a great idea for truly 'taking XBMC to the next level' for sure!

Note that I have already tried to lobby this internally to Team-XBMC for quite a long time but unfortunately none of the developers on the team currently have both personal interest and time required to programming all this by themselves alone, (mostly due to time restraints), so I am now posting this idea as a public request, hoping that some new C/C++ programmer/developer will like this idea and take the initiative to make it happen (and submitting an initial code patch for it to help get us started).

As you may already know, more and more PVR/DVR devices (and also HTPC software applications) are nowdays redesigning/refactoring their applications to be split into a separate back-end and and a front-end, (meaning a separate server-side back-end which runs as a background service and takes care of the recording, storing, and sharing part, and a separate a client-side front-end that acts as the graphical user-interface and media-player viewer).

The basic concept of this design is that the back-end and the front-end have a two-way communication channel between them for sending commands and streaming video, using either their own protocols, (which though often proprietary usually have an openly documented command API), or they use an open internet standard protocol like UPnP, RTSP/RTP, HTTP, XML and/or SOAP. Also, many PVR/DVR devices and HTPC software that are not front-end/back-end based does still have a built-in web-interface (similar to what XBMC has) that can be used to fully remote-control that device/software, plus they often support streaming video via HTTP and RTSP/RTP or they have the option to share their recorded files via standard SMB over the network.

My idea here for is that XBMC could have a generic GUI front-end section in XBMC (which could maybe have the graphical EPG and scheduling stuff based on the XMLTV-GUI TV-Guide standard format for the EPG back-end?). This GUI front-end section should be designed to to able to command and control all types of PVR/DVR devices (and HTPC software) over a network. This GUI front-end should preferably be linked to a generic PVR framework infrastructure with a mapping/translation-layer that would offer a common uniform 'wrapper' API which developers can write separate plugins (eg. DLL libraries) for in order control specific PVR/DVR devices and HTPC software, (like MythTV, MediaPortal, and Dreambox as examples). Maybe even a few common DLL libraries that could be shared between the different plugins if they utilize similar functions/protocols, like UPnP, which could be customized via XML and RegEx or Python to fit different back-ends. All controlled from the same interface in XBMC, with the user all seeing the same generic GUI front-end no matter which back-end is used.

So which new end-user features would this then enable in XBMC?:
- Watch Live TV
- Channel selection during Live TV over full screen window
- Info screen during Live TV with Program Descriptions)
- Record Live TV (on the server-side back-end running on a PC)
- Basic cut and rework recordings (trim the beginning and end)
- Watch that recorded TV
- Electronic Program Guide (EPG) GUI
- View Program Listings (and Program Descriptions on demand)
- Schedule recordings
- Info about what is currently recording or next scheduled recording
- Pause Live TV (time-shift)
- Listen to AM/FM and Satellite Radio
- Teletext (Text TV)

I guess that the requirements for a such API as this will be that it has to be well specified and documented, (or at the very least use doxygen for semi-automatic code documentation?), so that independent plugin developers can jump right in and get started quickly, ei. writing a 'plugin' for the API should not require any knowledge of XBMC GUI internals or the actual workings inside this 'PVR front-end API', right? Maybe start by looking at the existing XBMC's visualization API as a framework reference? As an option we could maybe also add an alternative method for those back-end devices/software that have a web-interface, for those we could possible let the users write 'simple' XML plugins made with RegExp similar to the scrapers and/or Python to enable scraping and web-interface control, or we could even possibly extend XBMC's existing HTTP API to be more flexible in these areas and be accessible from this API as well(?), noted though that those 'simple' plugins could only work if the back-end is capable of streaming using a standard protocol such as UPnP or RTSP/RTP.


Suggested plugins (if a the framework API described in the concept above will ever become available in XBMC):

- MythTV (HTPC software for Linux and Mac OS X) front-end to control MythTV back-end (maybe via MVPMC's libCMyth, or UPnP?).
* XMLTV's .XML download to XBMC's TV-Guide from MythTV EPG and possible schedule control via the TV-Guide too.

- Linux VDR (Video Disk Recorder) front-end to control LinVDR server (maybe via UPnP or existing VDR plugin like streamdev?).
* XMLTV's .XML download to XBMC's XMLTV TV-Guide from VDR EPG and possible sheduele control via the TV-Guide too.

- HTS TVheadend front-end to control HTS's TVheadend as a back-end] (maybe via TVheadend's existing XBMSP-server and Web UI API?).
* XMLTV's .XML download to XBMC's XMLTV TV-Guide and possible schedule control via that TV-Guide too.

- Dreambox/Dbox2 front-end to fully control Dreambox/Dbox2 boxes (maybe via Tuxbox Client for Enigma?).
* XMLTV's .XML download to XBMC's TV-Guide from Dreambox/Dbox2 EPG and possible schedule control via the TV-Guide too.

- HDHomeRun front-end to fully control HDHomeRun boxes.
* XBMC's XMLTV TV-Guide from HDHomeRun EPG and possible sheduele control via the TV-Guide too.

- MediaPortal front-end to control MediaPortal TVserver back-end (maybe via UPnP?, or RTSP?) now they've newly released TvEngine
* XMLTV's .XML download to XBMC's TV-Guide from MediaPortal EPG and possible schedule control via the TV-Guide too.

- MeediOS front-end to control MeediOS back-end (maybe via UPnP?, or RTSP?) they use a derivative of MediaPortal's TV Engine.
* There is also a project on SourceForge called "VistaMCEClient for TVE3 Server" which does the same for Windows Vista MCE.
* XMLTV .XML download to XBMC's TV-Guide from MeediOS EPG and possible schedule control via the TV-Guide too.

- Windows Media Center Extender front-end to control Microsoft Windows MCE as the back-end (maybe via WebGuide for the control?)
* XMLTV's .XML download to XBMC's TV-Guide from Windows MCE EPG and possible schedule control via the TV-Guide too.

- ProgDVB front-end to control ProgDVB as a back-end] (maybe via UPnP or existing ProgDVB plugins API?).
* XMLTV's .XML download to XBMC's XMLTV TV-Guide and possible schedule control via that TV-Guide too.

- v4l and v4l2 (Video4Linux framework) - v4l comes built-into Linux 2.6.x kernel and later, plus a library for v4l2.


What do you all think? Comments, suggestions, ideas? Huh
Any volunteers for the API and/or any or the plugin ideas?

Note! Please understand that since I'm not a programmer myself I probably didn't get all the technical terms correct in this first concept draft.
Reply


Messages In This Thread
Unified PVR frontend (DVR/HTPC client GUI with EPG) and Addons API for PVR backends? - by Gamester17 - 2007-10-03, 11:43
[No subject] - by t029248 - 2007-10-03, 21:56
[No subject] - by Gamester17 - 2007-11-14, 12:30
[No subject] - by joolzg - 2007-11-14, 15:15
[No subject] - by DrDDT - 2007-11-19, 10:18
[No subject] - by EvilDude - 2007-12-11, 08:02
[No subject] - by Gamester17 - 2007-12-11, 15:09
[No subject] - by topfs2 - 2007-12-22, 13:57
[No subject] - by EvilDude - 2007-12-23, 16:12
[No subject] - by topfs2 - 2008-01-24, 11:18
Let's make this happen - by alcoheca - 2008-02-24, 18:51
[No subject] - by Nick8888 - 2008-03-10, 14:57
[No subject] - by Gamester17 - 2008-03-10, 18:07
[No subject] - by elupus - 2008-03-10, 20:23
[No subject] - by jmarshall - 2008-03-10, 23:01
[No subject] - by Nick8888 - 2008-03-11, 01:13
[No subject] - by alcoheca - 2008-03-11, 03:58
[No subject] - by Gamester17 - 2008-03-11, 12:50
[No subject] - by topfs2 - 2008-03-11, 13:00
[No subject] - by alcoheca - 2008-03-11, 13:56
[No subject] - by alcoheca - 2008-03-11, 14:50
[No subject] - by nate12o6 - 2008-03-11, 15:53
[No subject] - by Gamester17 - 2008-03-11, 16:33
[No subject] - by C-Quel - 2008-03-11, 16:41
[No subject] - by elupus - 2008-03-11, 17:47
[No subject] - by alcoheca - 2008-03-11, 17:50
[No subject] - by C-Quel - 2008-03-11, 17:55
[No subject] - by Gamester17 - 2008-03-11, 18:21
[No subject] - by alcoheca - 2008-03-11, 19:42
[No subject] - by mkortstiege - 2008-03-11, 23:49
[No subject] - by Gamester17 - 2008-03-12, 12:58
[No subject] - by alcoheca - 2008-03-27, 03:17
[No subject] - by alcoheca - 2008-03-27, 03:27
[No subject] - by TheBoxMan - 2008-03-28, 03:28
mythtv functionality - by yee379 - 2008-06-06, 07:56
[No subject] - by alcoheca - 2008-06-12, 18:00
[No subject] - by alcoheca - 2008-06-12, 18:28
[No subject] - by Gamester17 - 2008-06-13, 14:04
[No subject] - by kricker - 2008-07-10, 07:05
[No subject] - by Gamester17 - 2008-07-10, 13:41
[No subject] - by kricker - 2008-07-10, 15:47
[No subject] - by yashka - 2008-07-30, 18:16
[No subject] - by Gamester17 - 2008-07-30, 22:21
[No subject] - by alcoheca - 2008-08-01, 00:56
dvbs - by User 34470 - 2008-08-07, 00:02
[No subject] - by Freddo - 2008-08-07, 00:08
[No subject] - by User 34470 - 2008-08-07, 23:06
[No subject] - by Freddo - 2008-08-08, 00:36
[No subject] - by wyild1 - 2008-08-12, 22:27
[No subject] - by the_alien - 2008-09-01, 23:58
Help is always welcomed... - by Gamester17 - 2008-09-02, 14:29
[No subject] - by the_alien - 2008-09-02, 14:35
[No subject] - by Gamester17 - 2008-09-02, 15:30
[No subject] - by alcoheca - 2008-09-02, 16:15
[No subject] - by msaspence - 2008-09-11, 16:01
[No subject] - by Gamester17 - 2008-09-11, 16:37
[No subject] - by leo2 - 2008-09-12, 11:38
[No subject] - by alcoheca - 2008-09-12, 12:10
[No subject] - by leo2 - 2008-09-12, 15:59
[No subject] - by jmarshall - 2008-09-13, 01:21
[No subject] - by alcoheca - 2008-09-13, 02:52
[No subject] - by leo2 - 2008-09-13, 10:39
[No subject] - by msaspence - 2008-09-13, 10:46
[No subject] - by Gamester17 - 2008-09-15, 10:29
[No subject] - by msaspence - 2008-09-15, 11:23
[No subject] - by waldo22 - 2008-09-15, 13:28
[No subject] - by msaspence - 2008-09-15, 13:36
[No subject] - by alcoheca - 2008-09-15, 13:47
[No subject] - by Gamester17 - 2008-09-15, 15:37
T3CH Build - by flammon - 2008-10-11, 22:36
[No subject] - by Gamester17 - 2008-10-13, 19:03
[No subject] - by leo2 - 2008-10-21, 17:21
[No subject] - by Jeroen - 2008-11-27, 12:08
[No subject] - by Swifty - 2008-11-27, 17:51
[No subject] - by barney_1 - 2008-12-04, 01:19
update - by alcoheca - 2008-12-04, 03:51
[No subject] - by barney_1 - 2008-12-04, 04:01
[No subject] - by alcoheca - 2008-12-04, 04:13
[No subject] - by alwinus - 2008-12-21, 17:40
[No subject] - by dubstar_04 - 2009-01-04, 12:10
[No subject] - by Gamester17 - 2009-01-05, 11:11
[No subject] - by Redth - 2009-01-06, 17:45
My Concept - by SSchocke - 2009-01-17, 11:05
[No subject] - by alcoheca - 2009-01-17, 18:39
[No subject] - by SSchocke - 2009-01-18, 09:50
[No subject] - by alcoheca - 2009-01-18, 21:19
[No subject] - by SSchocke - 2009-01-19, 17:33
[No subject] - by alcoheca - 2009-01-20, 01:25
[No subject] - by SSchocke - 2009-01-20, 16:42
[No subject] - by jmarshall - 2009-01-20, 23:58
[No subject] - by splat1 - 2009-01-21, 01:32
[No subject] - by SSchocke - 2009-01-21, 07:00
[No subject] - by alcoheca - 2009-01-21, 15:47
[No subject] - by SSchocke - 2009-01-21, 18:34
[No subject] - by alcoheca - 2009-01-21, 19:11
[No subject] - by SSchocke - 2009-01-21, 20:09
[No subject] - by SSchocke - 2009-01-21, 22:15
[No subject] - by alcoheca - 2009-01-21, 23:14
[No subject] - by jmarshall - 2009-01-22, 00:32
[No subject] - by SSchocke - 2009-01-22, 07:24
[No subject] - by SSchocke - 2009-01-23, 05:50
[No subject] - by SSchocke - 2009-01-23, 06:40
[No subject] - by jmarshall - 2009-01-23, 07:12
[No subject] - by d4rk - 2009-01-23, 22:51
[No subject] - by SSchocke - 2009-01-24, 16:41
[No subject] - by apocalip - 2009-03-04, 11:59
[No subject] - by SebaSOFT - 2009-03-04, 22:12
[No subject] - by MrBasset - 2009-03-04, 23:28
[No subject] - by SSchocke - 2009-03-05, 06:09
Unified PVR front-end progress? - by kortina - 2009-04-03, 05:55
[No subject] - by rwparris2 - 2009-04-03, 06:25
[No subject] - by dubstar_04 - 2009-04-03, 13:50
[No subject] - by alcoheca - 2009-04-08, 12:13
[No subject] - by wstewart - 2009-04-26, 16:11
[No subject] - by dteirney - 2009-04-28, 11:19
[No subject] - by alcoheca - 2009-04-29, 01:03
[No subject] - by wstewart - 2009-04-29, 04:57
[No subject] - by alcoheca - 2009-04-29, 13:51
[No subject] - by wstewart - 2009-05-01, 18:22
[No subject] - by wstewart - 2009-05-20, 02:52
[No subject] - by alcoheca - 2009-05-21, 02:44
[No subject] - by wstewart - 2009-05-21, 06:01
[No subject] - by dteirney - 2009-05-21, 13:44
[No subject] - by Gamester17 - 2009-05-21, 20:31
[No subject] - by bidossessi - 2009-05-27, 13:03
[No subject] - by MaestroDD - 2009-05-27, 13:37
[No subject] - by bidossessi - 2009-05-27, 16:28
[No subject] - by alcoheca - 2009-05-27, 18:05
[No subject] - by bidossessi - 2009-05-28, 15:05
[No subject] - by alcoheca - 2009-05-28, 19:52
[No subject] - by wstewart - 2009-05-31, 20:20
[No subject] - by alcoheca - 2009-06-02, 15:57
[No subject] - by alcoheca - 2009-06-03, 16:02
[No subject] - by da-anda - 2009-06-03, 18:45
[No subject] - by wstewart - 2009-06-03, 18:54
[No subject] - by bidossessi - 2009-06-22, 12:14
[No subject] - by wstewart - 2009-06-22, 18:52
[No subject] - by kricker - 2009-06-24, 21:58
[No subject] - by alcoheca - 2009-06-24, 23:56
[No subject] - by kricker - 2009-06-25, 00:03
Compiling Errors on Jaunty - by kurrazyman - 2009-07-19, 09:02
[No subject] - by ghallberg - 2009-07-22, 15:10
[No subject] - by bidossessi - 2009-07-22, 15:12
[No subject] - by ghallberg - 2009-07-22, 17:28
[No subject] - by pete-woods - 2009-07-28, 12:22
[No subject] - by alcoheca - 2009-07-28, 14:09
[No subject] - by Swifty - 2009-07-30, 14:06
[No subject] - by iBeech - 2009-08-02, 14:26
[No subject] - by iBeech - 2009-08-02, 14:29
[No subject] - by blowfly - 2009-08-16, 18:46
[No subject] - by FreddyAV - 2009-08-17, 17:41
[No subject] - by ukasz - 2009-08-27, 00:50
[No subject] - by Swifty - 2009-09-27, 11:18
[No subject] - by panzaeron - 2009-10-03, 19:46
[No subject] - by ukasz - 2009-10-03, 22:38
[No subject] - by FreddyAV - 2009-10-08, 22:27
[No subject] - by panzaeron - 2009-10-09, 01:21
[No subject] - by FreddyAV - 2009-10-11, 23:30
libcmyth or alternative? - by blowfly - 2009-10-14, 23:00
[No subject] - by alcoheca - 2009-10-14, 23:08
[No subject] - by blowfly - 2009-10-14, 23:36
[No subject] - by alcoheca - 2009-10-14, 23:43
[No subject] - by blowfly - 2009-10-15, 00:02
[No subject] - by alcoheca - 2009-10-15, 01:17
[No subject] - by blowfly - 2009-10-15, 20:47
[No subject] - by panzaeron - 2009-10-17, 17:36
[No subject] - by panzaeron - 2009-11-07, 15:10
[No subject] - by moontan77 - 2009-11-10, 02:00
[No subject] - by karatekickz - 2009-11-29, 21:49
[No subject] - by robweber - 2009-11-29, 22:06
[No subject] - by da-anda - 2009-11-30, 10:07
[No subject] - by panzaeron - 2009-12-16, 22:13
[No subject] - by CrashX - 2009-12-16, 22:55
[No subject] - by panzaeron - 2009-12-19, 02:42
[No subject] - by Rakeesh - 2009-12-21, 06:31
[No subject] - by moontan77 - 2009-12-24, 14:01
[No subject] - by panzaeron - 2009-12-30, 18:35
[No subject] - by Gujs - 2009-12-30, 19:00
TvHeadend pvr-client patch - by pucko - 2010-01-07, 13:52
[No subject] - by jeepcook - 2010-01-09, 14:13
[No subject] - by pucko - 2010-01-10, 21:24
[No subject] - by jeepcook - 2010-01-10, 21:38
[No subject] - by pete-woods - 2010-01-21, 20:41
[No subject] - by ukasz - 2010-01-24, 15:38
[No subject] - by Jezz_X - 2010-01-24, 20:13
[No subject] - by ukasz - 2010-01-24, 23:22
[No subject] - by da-anda - 2010-01-25, 12:17
[No subject] - by nunu - 2010-01-31, 18:17
[No subject] - by Nick8888 - 2010-02-01, 01:39
[No subject] - by nunu - 2010-02-01, 09:25
[No subject] - by nunu - 2010-02-01, 20:46
[No subject] - by robert-wm - 2010-02-01, 20:46
[No subject] - by JanneT - 2010-02-03, 08:08
[No subject] - by dubstar_04 - 2010-02-04, 22:34
[No subject] - by walinsky - 2010-02-07, 14:52
[No subject] - by dubstar_04 - 2010-02-07, 18:08
[No subject] - by walinsky - 2010-02-07, 20:13
[No subject] - by Jaken - 2010-02-07, 20:31
[No subject] - by robert-wm - 2010-02-08, 14:13
[No subject] - by walinsky - 2010-02-09, 00:32
[No subject] - by robert-wm - 2010-02-09, 08:30
PVR chashed anywhere - by mitsus - 2010-02-09, 11:13
[No subject] - by Nick8888 - 2010-02-09, 11:55
[No subject] - by dteirney - 2010-02-09, 12:18
[No subject] - by walinsky - 2010-02-10, 00:50
[No subject] - by nicx76 - 2010-04-04, 20:14
[No subject] - by Jönke - 2010-04-04, 23:03
+2 - by BBkeeeef - 2010-04-05, 23:11
[No subject] - by linuxluemmel - 2010-04-08, 11:21
[No subject] - by spiff - 2010-04-08, 11:22
[No subject] - by TugboatBill - 2010-04-08, 17:09
[No subject] - by peely - 2010-04-22, 14:06
[No subject] - by hotlobster - 2010-04-26, 11:18
[No subject] - by peely - 2010-04-30, 15:04
[No subject] - by da-anda - 2010-05-31, 18:48
[No subject] - by ridler - 2010-08-23, 11:27
[No subject] - by DisTreSs - 2010-08-25, 15:46
[No subject] - by peely - 2010-09-06, 19:58
[No subject] - by tafypz - 2010-09-20, 20:09
Dreambox and new PVR thing - by Vultures - 2010-09-27, 16:22
[No subject] - by h.udo - 2010-09-27, 17:16
[No subject] - by Vultures - 2010-09-27, 17:47
[No subject] - by Vultures - 2010-09-27, 17:54
[No subject] - by h.udo - 2010-09-27, 18:20
[No subject] - by Vultures - 2010-09-27, 18:40
[No subject] - by h.udo - 2010-09-27, 19:02
[No subject] - by Vultures - 2010-09-27, 19:15
[No subject] - by h.udo - 2010-09-27, 23:15
[No subject] - by LehighBri - 2010-09-28, 15:55
[No subject] - by matejdro - 2010-09-28, 17:54
[No subject] - by h.udo - 2010-09-28, 20:29
[No subject] - by aaronb - 2010-09-28, 21:12
[No subject] - by lloydsmart - 2010-10-04, 23:54
[No subject] - by Harry Muscle - 2010-10-05, 02:02
[No subject] - by h.udo - 2010-12-30, 23:17
[No subject] - by margro - 2010-12-31, 14:30
[No subject] - by dteirney - 2011-01-01, 22:54
[No subject] - by haifischjunge - 2011-01-12, 10:14
[No subject] - by linuxmad - 2011-01-26, 22:02
[No subject] - by opdenkamp - 2011-01-27, 01:03
[No subject] - by niemand0815 - 2011-03-02, 17:02
[No subject] - by opdenkamp - 2011-03-02, 17:24
[No subject] - by GoooF - 2011-03-10, 12:29
[No subject] - by opdenkamp - 2011-03-10, 12:39
[No subject] - by retro11 - 2011-03-10, 18:48
[No subject] - by opdenkamp - 2011-03-10, 19:02
NPVR Backend Question - by DLJones - 2011-03-20, 17:21
[No subject] - by opdenkamp - 2011-03-20, 18:31
[No subject] - by DLJones - 2011-03-21, 18:46
[No subject] - by opdenkamp - 2011-03-21, 20:26
[No subject] - by Raptylos - 2011-06-04, 15:25
RE: - by numa001 - 2012-05-21, 18:54
[No subject] - by alexb38 - 2011-06-06, 12:04
[No subject] - by MrRimmer - 2011-06-21, 13:36
[No subject] - by TheCableGuy_69 - 2011-07-17, 16:03
[No subject] - by TheCableGuy_69 - 2011-08-01, 16:38
[No subject] - by mad1993max - 2012-01-12, 21:27
[No subject] - by fiveisalive - 2012-01-12, 21:38
Logout Mark Read Team Forum Stats Members Help
Unified PVR frontend (DVR/HTPC client GUI with EPG) and Addons API for PVR backends?5