Tvheadend Picons?

Anybody managed to get this working, is everything ok in the latest version.

I have copied all the icons to

Tvheadend points to
file:///storage/picons/tvh/%C.png in settings < not sure if this is correct?

But still getting no icons pics or anything?, could they be in the wrong size?

All icons have the same default name?

I got them working on my N2 - but I followed this guide on a different Linux box (a spare Raspberry Pi running a clean version of Raspbian Lite) to create the picons from scratch rather than using a pre-rendered download.

Which uses the code here :

And note these dependencies :

# Ubuntu, Bash on Ubuntu on Windows
sudo apt-get install git binutils pngquant imagemagick librsvg2-bin jq 

I built Service Reference Picons and only built the ones that TV Headend had found channels for by following the instructions that require a script to access my N2’s TV Headend server to get a service list.

I then copied them across and pointed TV Headend to the folder they were in (I put them in a subfolder in the picons/TVH/ folder)

Meh way to complicated, not getting involved in all that crap.

Stuff it.

Picons are flaky on TVH and always have been.


OK - sorry I can’t help further. That route worked fine for me - and ensured I got a nice clean match with only the picons I needed for the services I receive - rather than hundreds more for channels I don’t receive. Took me less than 30 minutes from flashing Rasbian to a spare uSD card to having them working - would have been quicker if I’d checked the build dependencies first. (Doing stuff like this is a great way of learning more about Linux, letting you solve problems again in the future)

As I’ve had success with Service Reference Picons rather than Service Name Picons, I’d probably try and find a Service Reference Picon pack for the country you are in, and also ensure you decompress it if it comes as a tar-red file.

1 Like

So far - following the guide I linked to above I’ve only got one that’s wrong (because the channel recently rebranded) for a London Freeview HD set.

Maybe building from scratch from a service list exported from TV Headend means it works better?

I would say its the only way - but the process looks daunting even for a 10year Linux user who used to have to setup drivers for obscure hardware. I have generally gone down the route of manually setting up my picons from within Kodi - far from ideal but it works.


The guide I posted above was very straight forward to follow and ‘just worked’

The two scripts worked nicely (once I’d ensured I had all the dependencies I needed - I should have read the build requirements on GitHub first…) and using the service list from TV Headend (which you configure in the tvheadend.serverconf file where you put the ipaddress and account login/password) means you just get the picons you need.

1 Like

This is what my Picons file looks like (I have both Freeview HD and Freesat HD services in my TV Headend - hence the duplicate picons I think)

Here’s my TV Headend Picons config.

And here’s what my TV Headend Channels tab looks like :

NB file names may not match as I’ve had a number of different BBC One HD and BBC Two HD sources in my TV Headend setup (Freeview HD, Freesat HD, self-build IP Multicast of Freeview HD etc.)

I have edited the Picon path, not the Channel Picon path, to include a sub-folder as my picons are in a subdirectory of storage/picons/tvh based on the file name of the compressed file I copied over and de-tarred into it’s own folder. I think this is a neat way of working as you can have different colours, sizes, types of picons when you are experimenting with which ones you like most, without having to worry about having them all in a single folder.

Well strangely i must have done well, as its listing them as found, just not appearing on screen for some reason.

Unless they have an exact code name or title match they will not be linked to your channels. Since TVH will often find multiple instances of the same channel and then merge them down to one “virtual” channel you will see that there are many chances for name/code mismatches.
Slight differences in naming will completely throw TVH.

Other commercial media player are much more homogeneous so these issues don’t arise.


Ah - I never enable ‘merge channels’ and have gone for Service Reference Picons based on the actual services I receive (rather than selecting Picon just by chancel name) in TVH - that may be why mine all match (bar one because the channel has renamed but still has the same service ref, and the Picon source hasn’t updated presumably)

This is why doing it the way you did is the only way that you can get exact match ups, every picon list has its own unique picon codes designed for a particular media player. Name matching will get you more hits but is still less than 30% successful.


1 Like

You dont have filled picon path at all… For the channel icons path, try file:////storage/picons/tvh/%C.png … it should work just fine for channel images, if you have correct .png presented on the path (case sensitive, with correct file rights).

Btw, its not N2 specific… And you can check TVH log during user-tests for possible troubles with rights, fileformat, or caching issues.

Should that not be:
For the channel icons path, try file:///storage/picons/tvh/%C.png

Mine is file:///storage/picons/tvh/%C.png

Uncheck prefer picons over icons

And I put together a selection of Icons for UK TV (2.2 MB)

I only Lower Cased the ones I used but its a good start.

How I solved the task of activating the picons for tvheadend in CoreELEC:

1.- My picons are in /storage/.config/picons to be included in CoreELEC backups.

2.- I have downloaded the picons collections for several satellites in /storage/.config/picons/vdr (Astra 19.2E, Hotbird 13.0E and Hellas 39.0E) from /,, ,and other sites. You can also download the collection of icons for Enigma2 in ipk format and open it with 7zip, but it has the problem that there are too many picons (more than 14,000), considering that I only use 387 TV services that finally become 250 channels of TV with different contents, that is, I only need 250 picons.

3.- I have set tvheadend to look for the icons in /storage/.config/picons/vdr.

4.- I have deleted all the picons that are not interesting for me, I have added the missing picons, and I have renamed the picons (with the name that asks tvheadend) that were with another name.

Everything works very well and TVH clients receive the picons from the tvheadhend server at full speed.

Ok i have discovered something odd.
It appears my icons are in the correct place, here is what is happening.

I messed up my system and did a restore, upon restarting i get the message pvr is starting, searching for channels, searching for icons…

Some of the icons then appear.

On another reboot, i just get pvr is starting, now no scanning and no icons?

What the hell?

I set up my icons manually as I too have found the regular methods to be flaky.

Here is something that you could try based upon my UK Freeview setup.

Download the following vdr icons and meta files and extract them.

SSH into your box, moving existing picons and meta files from the following locations to your PC for restoration if this process doesn’t work.



Then copy the extracted picons and meta files to these 2 locations respectively.

Reboot and test.

You may find one or two channels require manual alterations but in the main it should work.

The meta files contain the details of the location of each picon file.

There is nothing to lose as you can simply restore your backed up files.

1 Like

Nope, nothing?