Posts: 30
Joined: Jan 2014
Reputation:
0
It looks like all Live TV data is not cached on clients. If raspbmc starts up a useless progress bar is shown that downloads the channels, epg and recordings list.this can take a serious amount time. While the progress bar is shown the PVR plugin is not loaded. I cannot start live tv while this is running.
I think this should only happen once and than incremental.
- Channels are not changing in 99% of all cases.
- Downloading EPG data for 14 days with a lage number of channels can take extreme long.
- I have 600 recordings on my WMC. No idea why it takes a long time do make a dir listing of this.
Proposed changes:
1. Cache all this data locally and only sync differences in background only.
2. Start PVR with system boot, do not wait until EPG and Record list has been downloaded. To start PVR only the channel list is required. EPG can be a background task and recordings, too. Currently I cannot start LiveTV for about 5 minutes as it need to download all stuff. This suxx a lot.
3. Allow disabling the progress bar. I do not care if EPG is outdated or empty on startup. I may like starting a movie only - no live tv, too. Windows Media Center is also empty on first start up and fills up over time. All stuff is updated without telling the users. In most I suspect that today or next 4h are most important and the rest can be done in background.
4. If network connection to backend get's broken while downloading - xbmc gets stuck. You cannot reboot raspbmc in this case. As example I waited 30 minutes and then powercycled the raspi as it stopped somewhere in between channels or epg or recordings. I was made to do this this very very often as the nano wlan stick was not the best idea here (weak connection). This situation is not propperly handled by xbmc if it comes to live tv. If network get's broken while viewing a movie I get a timeout message box. I expect the same here.
Please install Windows Media Center and review how smooth it works and than you get an idea how a good media centers must work. Don't hurt me for this, please. XBMC Live TV is not ready for production my point of view. I tried to migrate to xbmc, but this looks like a very bad idea to me.
Posts: 30
Joined: Jan 2014
Reputation:
0
2014-01-17, 02:22
(This post was last modified: 2014-01-17, 02:22 by marc.bau.)
@opdenkamp: as a user of "tvheadend"... are you using Digital Devices Cine S2 SAT card or any other with multiple tuners? Can I view/record more than one channel at the same time that is located on the same transponder with one tuner? WMC cannot - it requires one tuner per channel, but I'm looking for a software that removes this limitation and I know that MediaPortal is capable of doing this. But moving to a Linux only solution has it's own charm on the backend server.
Posts: 6,252
Joined: Jun 2009
Reputation:
115
da-anda
Team-Kodi Member
Posts: 6,252
2014-01-17, 10:50
(This post was last modified: 2014-01-17, 10:51 by da-anda.)
marc.bau, I second what you wrote about hiding stuff like the EPG import and alike and handle more things invisible to the user in the background. Many of the team would like to have a "zero feature release" which means no new gimmicks added to XBMC but rather focus on internal cleanup, refactoring and UX improvements. Let's see if we can convince enough devs to do this.
A note to the EPG cache you where talking about. Please note that in case you cache the EPG you'll still see an EPG import progress bar, but this one is loading the EPG from the cached DB into memory (along with some required processing of the data) rather than from the backend into memory. Personally I disabled EPG cache because this means two import cycles (first load DB, then sync with backend and write to db) and IMO loading EPG only from backend is faster. Software like MediaPortal also does the syncing, but MediaPortal does this during startup screen and thus delaying the entire application startup. In contrary we try to bring the user as fast as possible to the home screen so that he can start using XBMC while "secondary" things are still being loaded (like LiveTV stuff). This has the benefit that in case you don't want to use LiveTV atm you have much faster access to the other sections of XBMC. Otoh if you like to instantly watch TV you first have to wait on the home screen until PVR is ready. So depending on your main usecase this can be a nice or ugly behavior.
Posts: 30
Joined: Jan 2014
Reputation:
0
2014-01-18, 20:03
(This post was last modified: 2014-01-18, 20:09 by marc.bau.)
This is not the reason for things stop responding that needs a powercycle just because there is no timeout. And it's also not the reason that pvr does not start. I only showed that weak network connections will cause issues that the coders have not expected yet. Ther are missing exception handling.
I removed wlan and use powerline now. 9mb/s is really enough network speed, but this does not solve the bugs. I know what bugs are. I deal every day with tons of them and in 9/10 cases I've found a bug that will be fixed. Here it may be difficult for me as xbmc newbie to say which xbmc component is the source, but it nevertheless exists!
Only the reason that you do not like to get told about issues does not fix them. Its also not important if this is open source or not and if someone works for free or not. I'm manage a lot of open source projects and waste my spare time with gpl coding (not xbmc). Complaining that this is all volunteer work does not make anything better either.
Posts: 1,378
Joined: Oct 2004
Reputation:
37
2014-01-19, 12:14
(This post was last modified: 2014-01-19, 12:19 by scarecrow420.)
just chiming in on the "PVR functions in XBMC isnt available until channel and EPG data has loaded" which is apparently said to be something we can "fix" in our pvr addon or ServerWMC backend.
As far as my understanding of the XBMC PVR framework goes, you cannot view LiveTV until the addon has been loaded. The addon is loaded by the XBMC PVRManager class and this makes calls to load the Channels, Timers and Recordings, before the Load() function completes. You cant use the PVR functions until Load() completes, therefore this isnt something we can change in the addon. If it takes your setup 5 minutes to load these data items, then that is how long you have to wait before being able to use the PVR interface. I tend to agree that you should be able to view LiveTV as soon as you have the channels but I dont believe this is anything we can change in our PVR addon which is why it was suggested for you to put this forward as an XBMC feature request (and not a bug, incidentally). I think you have misunderstood opdenkamp who did not say that it is a problem with our addon that you cant view liveTV until all the channel/recordings/timers have been loaded, he was saying it must be a problem with the addon/backend if it is taking 5 minutes to load the data. If XBMC people want to take an enhancement request to allow more data to load in background and allow PVR functions when only the channel list is loaded, that's all well and good, but unless someone can inform me how we can do it, it's outside the scope of the pvr addon framework we work in to alter this. All he is saying is it isnt good that your setup takes 5 minutes to perform these loads.
You have what I would consider to be an extreme edge case setup with 1000 channels and 100s of recordings, yet from other posts Ive seen it seems you are running this on one of the most lightweight setups we have encountered (an Intel Atom based PC for the server side, and a raspberry pi for the client side, with an apparently flaky wireless network connection to boot although I see you have now put in powerline adapters which should be better than wireless hopefully).
To enable us to help you, please follow our guidance of producing/uploading debug logs for XBMC and ServerWMC so we might see what/where the time is being taken, and also we suggested temporarily reducing your channels/recordings to more normal values to see what difference it may make. Also I would suggest adjusting your attitude from one of entitlement to one of collaboration, we are all doing this in our spare time and owe you nothing. We want things to work well for as many people as possible and are generally helpful and constructive when we receive the same in return, or when the initial approach is "hey im having this problem could you please help me figure out what it may be" rather than "you have these bugs, this is not acceptable, etc"
Posts: 664
Joined: Nov 2008
Reputation:
5
I run both of my XBMC installs on Raspberry Pi hardware (Openelec Gotham) and use PVR via Mediaportal backend, ~200 channels and a few recordings takes probably a minute or two to load at XBMC startup (wired network).
One thing I have wondered, which does probably lend itself to discussion in this thread is, can the PVR framework request EPG be loaded for a specific time period?
At the moment at startup the entire EPG seems to be loaded from cache (i'm assuming it's ALL available EPG since it takes a while).
Would a possible solution for lower power boxes that are now being used for XBMC (Pi, OUYA, Cubox etc) be to load EPG from cache for "Now > 4 Hours" (or some other small value) ?
I'm assuming this would greatly speed up the PVR startup time allowing you to go straight into a fully populated guide - then the additional guide data could be "background" loaded at a slower rate (or on demand if the timeline view is loaded and the user begins to reach the end of the loaded data range).
Its entirely possible that's what's happening right now, but it seems like a good idea in my head :p
Posts: 6,252
Joined: Jun 2009
Reputation:
115
da-anda
Team-Kodi Member
Posts: 6,252
Swifty, yes, there is room for improvement and your suggestion to only load like 3-6 h on startup and the rest in background seems like a good way to speed things up Also I see no need to block LiveTV because of not yet loaded timers or recordings - those could also be delayed. IIRC someone created a PR to give access to LiveTV functionality way earlier, but I think it had some issues in rare conditions.
Posts: 2,274
Joined: Feb 2009
Reputation:
30
opdenkamp
Retired Team-Kodi Member
Posts: 2,274
the add-on must be doing something bad. hundreds of channel, several days of epg and recordings are loaded within seconds when using tvheadend on a pi, so that's one thing that needs fixing.
someone did a PR to make the pvr windows available while things are loading, but never finished it. it's on github, and can go in when completed and fixed.
opdenkamp / dushmaniac
xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]
Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.
If you like my work, please consider donating to me and/or Team XBMC.
Posts: 1,378
Joined: Oct 2004
Reputation:
37
2014-01-20, 14:25
(This post was last modified: 2014-01-20, 14:27 by scarecrow420.)
would be good for marc.bau to run tvheadend setup on his Pi then, that would help to see whether it is related to any other network/hardware/tuner etc in his setup or it is our addon. Anyway until we have the requested logs we dont have any data or timings to go off. In the case of tvheadend client PVR addon, do you send every channel/EPG request to the server or do you cache stuff locally in the addon?
edit: it does seem that we have at least 2 addons mentioned above (pvr.wmc and mediaportal) which are taking considerable time to load all the EPG data on rpi's... Perhaps both addons could do something differently (that tvheadend is already doing?). Would be interesting for someone to try all 3 backends on the same hardware/network to compare and highlight any weaknesses in any, so they can be addressed