pipelka / xbmc-addon-xvdr

DISCONTINUED - Standalone XVDR addon for XBMC
GNU General Public License v2.0
43 stars 16 forks source link

thumbnail and timeshift support #70

Closed ghost closed 11 years ago

ghost commented 12 years ago

Will you be adding thumbnail and timeshift support to the addon, wich was made possible by the following?

https://github.com/xbmc/xbmc/pull/1455 https://github.com/xbmc/xbmc/pull/1504 if I understand correctly...

Thanks keep up the good work

pipelka commented 12 years ago

Is on my todo. ;-) But currently, there are a lot of things on my todo, ...

pipelka commented 12 years ago

@ocram A bit off-topic but maybe interesting for you: https://github.com/pipelka/vdr-plugin-xvdr/commit/f7399436f93f6072c0aba8227ad6755592dbc06d

Now we need picons in higher resolution, ...

ghost commented 12 years ago

If I read/understand this correctly, you've added logo support exactly like on Enigma2?

If I'm correct that would be awesome, because logo's linking to a channel based on the name is a "pain in the ..."

I've already started to create higher resolution images for xbmc, so that when the time is right to switch full time to XBMC PVR, I would have all logo's, but the linking based on the name was putting me of...

pipelka commented 12 years ago

Yes. It took me some time to figure out and mimic the Enigma service reference string, ...

I just wanted channel logos that work out of the box, without any configuration.

It works like this: You put a base URL of the picons into xvdr.conf:

# URL to picons
# default: empty
PiconsURL = http://192.168.34.217/picons/picons-hd-reflection

XBMC receives the location of the logo via the IconPath property of the channel:

http://192.168.34.217/picons/picons-hd-reflection/1_0_1_2392_44A_1_C00000_0_0_0.png

Enigma picon size (100x60) is ok for the channel list but way to small for the fullscreen info bar.

All of this is under development in the "msgpacket" branch (addon & server plugin). This branch also contains time-shift, timer conflict reporting and support for play count and last played position.

ghost commented 12 years ago

I'll try to put online some high res picons this evening

ghost commented 12 years ago

OK, I've put online some high resolution 256x256px logos, a lot of them can appear still small, because they are 200x120px centered on a 256x256px canvas, only 36 logos are true 256x256px, every new logo is created in 256x256px for xbmc use, and 200x120px for enigma use. So eventually, they will all look good.

The backgrounds perhaps need some tweaking, because I haven't tested them in XBMC yet.

The packs are named:

logos.xvdr.black..... logos.xvdr.grey...... logos.xvdr.transparent....

pipelka commented 12 years ago

I did some tests with the standard (100x60) and the new icons.

Here 2 shots with the 100x60 version: http://dl.dropbox.com/u/240579/icons/Bildschirmfoto%20vom%202012-10-24%2017%3A57%3A37.png http://dl.dropbox.com/u/240579/icons/Bildschirmfoto%20vom%202012-10-24%2017%3A57%3A52.png

Here 2 shots with the new transparent icon set: http://dl.dropbox.com/u/240579/icons/Bildschirmfoto%20vom%202012-10-24%2017%3A54%3A26.png http://dl.dropbox.com/u/240579/icons/Bildschirmfoto%20vom%202012-10-24%2017%3A54%3A37.png

Here 2 shots with the new grey icon set: http://dl.dropbox.com/u/240579/icons/Bildschirmfoto%20vom%202012-10-24%2017%3A49%3A50.png http://dl.dropbox.com/u/240579/icons/Bildschirmfoto%20vom%202012-10-24%2017%3A49%3A07.png

ghost commented 12 years ago

I see that XBMC does not require the height to be the same as the width, don't know how I thought it would.

I released a new version, only this time in the resolution 256x154, if this looks decent, it would require a lot less work, because I don't have to create different images in a 256x256 res for xbmc and we've got an almost complete set right away...

Quality loss from upsizing is minimal.

Could you take a look at the new version? I would love to see a scrrenshot of how the homescreen looks with an upcoming recording.

Thanks

pipelka commented 12 years ago

Here we go again: http://dl.dropbox.com/u/240579/icons/Bildschirmfoto%20vom%202012-10-24%2021%3A45%3A36.png http://dl.dropbox.com/u/240579/icons/Bildschirmfoto%20vom%202012-10-24%2021%3A46%3A13.png http://dl.dropbox.com/u/240579/icons/Bildschirmfoto%20vom%202012-10-24%2021%3A46%3A39.png

ghost commented 12 years ago

looks good to me, thanks for testing and showing the screenshots

pipelka commented 12 years ago

Yes. Now, these icons really look great. Will you open a git repository for these icons ? I already have some changes for missing channels.

ghost commented 12 years ago

I removed the git, because nobody used it and it was extra work for me, so I won't create one again.

But you can put the missing channels on the blog or email them, I'll add them ASAP

pipelka commented 12 years ago

Well, your decision, ... But maybe now there will be some more interest in channel logos and contributing would be easier for me. It doesn't matter for me. I'll put it on your blog.

ghost commented 12 years ago

I'm gonna think about it, I'll try to figure out how I can automate it, and then perhaps... but can take a while...

ghost commented 12 years ago

git repository online at:

https://github.com/ocram/picons/commits/master

ghost commented 12 years ago

I just got the million dollar question...

"Is there an easy way to get (have a look at) the serviceref for when a logo is missing"?

Would it require a lot of work to perhaps print the serviceref along with the channel name to the log when zapping?

pipelka commented 12 years ago

Good question ;-) I'll add a commandline tool to retrieve the channel-list (+service description).

BTW, I already forked the repo and playing around. Great stuff. Thanks.

ghost commented 12 years ago

Ah that would be an even better solution

pipelka commented 12 years ago

@tkurbad @ocram I just pushed the "tool" branch to the vdr plugin: https://github.com/pipelka/vdr-plugin-xvdr/tree/tool

cd vdr-plugin-xvdr
cd tools
make
./serviceref

You can also give a channels.conf file as parameter to serviceref.

I'm not 100% sure if the namespace for DVB-C / DVB-T is correct.

tkurbad commented 12 years ago

Hmm, sorry to tell you that, but it just doesn't work. I tried links for several HD and SD channels, but none showed an icon. :-( In the process, I restarted vdr and XBMC multiple times, and switched the skin back from Aeon MQ4 to Confluence - still nothing.

On a side note: Do file:// links work for the PiconsURL config param? Just to be on the safe side with my above assumption, I tried both that and an http:// URL with the picons deposited on my local webserver.

If I can be of any more help in debugging this, just let me know. Though I don't know, if this helps in any way: My provider is the German "Kabel BW".

pipelka commented 12 years ago

I don't think that the picons are ready for DVB-C. I think there are only links for DVB-S

tkurbad commented 12 years ago

That's too bad. Would it be possible to add a fallback option to use the channel name from channels.conf instead? For any given DVB-C-Provider, those should be relatively stable...

pipelka commented 12 years ago

You just need to create a "mapping" for your cable provider (that's the reason why i added the "serviceref" tool). I'm sure ocram can give you more detailed information about creating a mapping.

tkurbad commented 12 years ago

Yes, I know. For my test (see above) I created a mapping for several channels, using your tool. But as it seems, the mappings are still incorrect.

Perhaps @ocram can give a hint, if I provide some channel.conf-entries vs. their serviceref-mappings.

Two examples (both FTA channels, for that matter):

Das Erste HD;ARD:362000:C0M256:C:6900:6010=27:6020=deu@3,6021=mis@3;6022=deu@106:6030;6031=deu:0:11100:41985:1051:0   -   1_0_19_2B5C_41B_A401_FFFF0000_0_0_0
SWR Fernsehen BW;ARD:346000:C0M256:C:6900:801=2:802=deu@3,803=mis@3;806=deu@106:804:0:28113:41985:1101:0   -   1_0_1_6DD1_44D_A401_FFFF0000_0_0_0
pipelka commented 12 years ago

Did you install the VDR plugin of the "tool" branch ? The "master" version only supports DVB-S.

tkurbad commented 12 years ago

Yes, I installed the "tool" branch as a whole so to speak. :-)

pipelka commented 12 years ago

I'm just debugging it. I think it's my fault. Will fix it for DVB-C. Sorry.

pipelka commented 12 years ago

pipelka/vdr-plugin-xvdr@ec964e91a427d9665fc09b722f8b1f8b2a8160bb ;-)

tkurbad commented 12 years ago

Works perfectly, thanks for the quick fix! :-)

Now, I've got some heavy symlinking to do - but that'll have to wait till tomorrow. Are there any plans to establish a central picons webservice? I'd contribute the whole Kabel BW set of symlinks as soon as it's done.

ghost commented 12 years ago

Take a look at https://github.com/ocram/picons

Fork it, modify picons.sh, at the bottom the DVB-C servicerefs are located, add Kabel BW, then make a pull request, if all is correct I'll merge it.

If you've got no clue what the above means.... Just create an issue at https://github.com/ocram/picons/issues?sort=created&state=open with you're work attached.

ghost commented 12 years ago

Finally had some time to have a look myself at the picons within XBMC, all is working on the first try. The serviceref tool also works like expected.

@tkurbad Kabel BW is indeed not included as you already figured out, the project started out with at first creating a complete set for 13-19-23.5-28.2E, although not complete by a long shot, but for sat it's pretty "complete" for CanalDigitaal, TVV, Freesat, SkyUK, Germany, and a few others not so much, the channels I watch the most are all OK, for others I used user input, that's why there's also Ziggo, Glashart for DVB-C and KPN Digitenne for DVB-T.

At the moment the idea of "only 13-19-23.5-28.2E" is gone, anything goes, so if anybody want's to contribute all channels from 9E they can do so, by just forking and when they're done, making a pull request.

Creating an issue with "Please add symlinks for sat 9E", that ofcourse goes straight to the trashbin.


Linking based on channel name, is already included directly from within XBMC, but it's a very bad way of doing things, just try to give the channel "Sky Atlantic" a logo, there are 2, one from Sky UK and one from Sky DE, both have a different logo. Then you've got channels with a "/" in their name, and so on. Channels that change their name just so slightly....

Enigma based STB's have a dated UI, but what they do and how they do it, it's top notch. I even wished VDR would rewrite, just to use Enigma2 channel lists, that would be awesome, at the moment it's a close second at the way channels are handled. TVheadend on the other hand has the worst handling of channels.

For a few channels, linking based on name, and using tvheadend to manage it all, it's doable, but not when you need to handle 5000 channels.

So I'm pretty glad that Pipelka added linking based on serviceref, it took him a few days, but it works and a massive amount of picons/logos are available, if I would have created additional symlinks based on their name (wich I already started to do) it would have taken a looooooooooong time.

But now a good foundation is already in place and anybody can contribute.

pipelka commented 12 years ago

@tkurbad Great. I'll cleanup the code and merge it into "master". Thanks for testing.

@ocram Also thanks to you for creating these really great icon set ;-)

Btw, one question arose: Is it correct that the channel links are in upper-case (the hex numbers).

ghost commented 12 years ago

For Enigma they have to be all upper case, otherwise they don't show up in the UI.

In picons.sh it doesn't matter if they are upper or lower case, because I convert them to all upper case when building the picon packs.

A few months back they had to be upper case in picons.sh, but when I switched full time to Ubuntu, I had to search another app for checking missing picons in the Enigma2 channel lists, the app I use now has a simple "Copy serviceref" to clipboard, but in lower case, that's why I modified my script so it no longer matters.

People using Windows can use different tools and these copy to clipboard in upper case, so these people give me the upper case servicerefs.

The channel names have to be all lower case, aswell the extension.

If it matters in XVDR that's up to you, but the packs that I supply, will always contain upper case servicerefs and lower case channel names.

tkurbad commented 12 years ago

@pipelka Thanks. So, will you merge your "serviceref" tool, too? Since I'm using Gentoo, I always install your plugin via an ebuild, which I am constantly changing and expanding. Since yesterday, it has a "tools" use-flag which, if set, installs the "serviceref" binary as "/usr/bin/xvdr-serviceref". Sooner or later I'd like to commit this to a github repo, so chances are that others can benefit.

@ocram Thank you for the deep insights and explanations. I'll of course fork your repository and send a pull request, as soon as I expanded your script with all the necessary additions for Kabel BW.

However, I'll also try to write some piece of Python code that tries to match at least the most obvious channel-name -> icon-name combinations, thus taking care of much of the tedious work. The idea is to do at least a simple matching by:

This tool should be generic, thus perhaps enhancing the link coverage for other providers, too - at least if one can obtain a valid channels.conf.

What do you two think, where would be the right place for such a script? Rather in the picons repo or alongside pipelka's serviceref tool?

ghost commented 12 years ago

I think the best place would be in your own repo. I could then put a link to your repo in the README for people who are interested.

It's a great idea for a script and a good starting point for people starting from scratch, but success rate will be low, example: History HD DUT, Eurosport ESP,ESP HD, ARD, Das Erste - ARD, History channel, Sky Thriller & Horror, .... and so on will all be missed, but a good starting point none the less.

ghost commented 12 years ago

In a couple of minutes I'm gonna push an update to github, in wich all the logo images are no longer in the resolution 200x120, but 256x154, this is the new resolution for future use, the existing ones still look the same in the final result, but future new logo's will look "better" inside xbmc.

Just something to keep in mind when submitting new logo's for everyone that's been following this thread and has plans to contribute.

pipelka commented 12 years ago

@ocram Concerning the upper/lower case case, ... I got confused because in the script it's lower-case (at least most of the entries). Do you mind if I convert them all to upper-case (and send a PR) ? I would like to remove this confusion (and be consistent).

ghost commented 12 years ago

The confusion will keep coming back, because when I go adding symlinks with the app I use, I'll be adding lower case again. So no point in doing this. People can clearly see what to do when reading the README.

ghost commented 12 years ago

If you can give me a piece of linux shell script code to only transform the serviceref to uppercase, I'm willing to execute it before I upload to repo and make it mandatory to be upper case.

But I'm to lazy at the moment to figure it out.

notz commented 12 years ago

@ocram you could use this dummy script to convert: https://gist.github.com/3965283 . it will be very helpful if the picons.sh script works for everyone

tkurbad commented 12 years ago

@ocram Just to be sure: You only provide TV station icons yet, no Radio, right?

My script is almost ready and takes off about half the workload for manually linking the channels in my case. In addition it provides a neat template for all unmatched channels. See piconlinks.py in my repo.

I implemented a commandline option to only process TV channels, that's the reason for the introductory question. So, if only TV icons would be available, I'd process only those to extend your picons.sh.

pipelka commented 12 years ago

@notz @tkurbad I don't want to scare you off, but ocram now has his own repository. ;-) Please continue all that stuff concerning picons there.

Ahh, ... and thanks again to all helping to make this rock ;-)

ghost commented 12 years ago

Was thinking that myself for a while already.

@all I am going too look into the all upper case for servicerefs issue, but give me some time

ghost commented 12 years ago

@notz

Just to let you know, your solution didn't work out, but the following did.

sed 's/(1_.*_0)/\U\1/' picons.sh > UPPER.txt

herrnst commented 12 years ago

Congrats & thank you all for this feature, especially the serviceref thingy, working great so far!

@ocram Interested in getting symlink creation for "UnityMedia NRW" (german DVB-C provider) into picons.sh?

ghost commented 12 years ago

If you like to contribute, feel free to do so. That's the goal in the end, getting as many channels as possible provided with a correct logo.

jobe39 commented 12 years ago

Ok, got it working after I did understand how this works. Because I have a client-server solution with nfs mounts on the clients. So I had to put the client dir into the xvdr.conf on the serfer (file://......). Now it is working.

Now I do have icons with transparent background. I can see that there is a background folder in the picons repo, but what do I need to configure for xvdr to use these backgrounds?

ghost commented 12 years ago

You need to go to http://ocram.github.com/picons/downloads.html and download the correct pack at the bottom called XVDR

herrnst commented 12 years ago

Sorry for hijacking this PR, but... :)

@pipelka Maybe you can shed some light on forcing a reload/refetch of the logo, without deleting Textures18.db?

pipelka commented 12 years ago

The only work-around I know is to change the server path.