Confused about picons

Hi all,

I have an Odroid N2 with the latest nightly with TvH Server and Client. The Tuner is an HDHR Duo setup as an IPTV Network, and that is working. My problem has to do with the picons not being shown correctly in either the channel list or EPG. There are icons there but they are the incorrect ones.

General | Base is set as:

Image Cache is enabled:

Channel/EPG | Channels looks like this:

So let’s take SBS ONE, Channel 3, as an example. shows

The contents of /storage/.kodi/userdata/addon_data/service.tvheadend42/imagecache/meta/4 is:

“url”: “file:///storage/.kodi/userdata/picons/1_0_1_301_300_3202_EEEE0000_0_0_0.png”,
“updated”: 1560723452

but in kodi I see this:

the wrong icon.

All the channels are displaying picons, but the wrong ones.

Any ideas?



Picons need to be renamed one by one.
It must have the frequency name.
For example 1_0_1_301_300_3202_EEEE0000_0_0_0
Here is your photo renamed correctly.1_0_1_301_300_3202_EEEE0000_0_0_0
This occurs when there is a change of frequency in the very common Tvheadend.

I’m sorry for being a noob, but I do not know what you are trying to tell me.

What do I have to do to correct the situation?

Name the Picons
Use tvheadend frequencies.
download the picon that I sent the same one is renamed.
will understand.

Tvheadend will only recognize picons with PNG formats.
Your picon is in JPG format this is also an error.

All my picons are in PNG format eg: picon://1_0_1_621_602_1014_EEEE0000_0_0_0.png

The SBS icon in the thread is just a screen shot from the browser so I could put it in the thread.

Use only: 1_0_1_621_602_1014_EEEE0000_0_0_0
Do not use: picon: //1_0_1_621_602_1014_EEEE0000_0_0_0.png

Uh, I what world does any of what you said actually apply?

  1. Picons can be manually set (they don’t need to be named after the channel or frequency). I could name one whoopdidoo.png and connect it to BBC 4 and it would work just fine.

  2. TVH handles jpgs just fine.

@gregeeh, it sounds like it’s a caching issue, and nothing wrong with the naming or format of the images.

Some things to try:

Go into the TVH UI, Configuration->General->Image Cache and click “clean image (icon) cache” and then “Re-fetch images”. Then give Kodi a reboot or disable/reenable the TVH client add-on to force a reconnection to the TVH server.

In Kodi go into Settings->Live TV->General->Clear Data. Unless you’ve been changing channel order and groups in Kodi (as opposed to TVH), there shouldn’t be anything lost but the recently watched channels list. Reboot Kodi.

@zang74 - Yep, did all that and no difference.

Like you thought it was cache but does return the correct image, as does all the other[some number].

Picons has always been a real pain with Tvheadend.
I have used this method for many years always worked well.

Did you try completely disabling tvh’s image caching? There’s not much point of using that cache if the picons are on the same machine as Kodi. It just saves you from repeating a bunch of requests for images outside of your network.

It sounds like it’s a caching issue on kodi’s side. Deleting the thumbnails database might be worth a try. From the Userdata SMB share, delete any texturesXX.db you find there. Reboot Kodi. All media posters/logos/etc. Will have to repopulate, so it’ll appear like Kodi is running slow until they’re finished.

Can I ask what’s with the numerical naming scheme for your picons?

Looks like this has done the trick. Many thanks.

As for the naming scheme for the picons. I just copied the picons from my old PVR and that was how they were named. I think it follows this naming protocol:

Picon 1_0_19_ 379C _14B4_FBFF_820000_0_0_0

Service reference 1:0:19: 379C :14B4:FBFF:820000:0:0:0 —> A:B:C:D:E:F:G:H:I:L

A : is a default value and it is always equal to 1
B : this is also a default value, and it is always equal to 0
C : service type: TV = 1, Radio = 2, TV HD = 19
D : service Id
E: Transponder Id
F : NId, Network Id
G : Namespace
H : default value, always = 0
I : default value, always = 0
L : default value, always = 0

I have battled with picons for years and always ended up simply manually adding the picons in Kodi which involved days of effort each time I applied a major upgrade to my Kodi system or TVHeadend server.

Found a universal solution to this Picons problem. Could not get my TVHeadend server to serve picons to the clients whatever I did, didn’t even populate its own channel list of picons. Always returned a 404 error when clients asked for picons.

So I found a reasonably good picons.png list and added it to my TVH program folder.
I created a Samba share to this folder.
I then added the following line to my TVHeadend Configuration > base > picons path field:


This bypasses the TVHeadend server altogether and relies on the OS samba server to send the picons to the clients.

I reset and saved the picons field in the TVheadend web interface to force TVH to create the necessary samba links in the channel manifest.
I then went through my client list of channels and any picons which were missing or mis-attributed I created a .png file using the the code reference in the TVH web interface for that channel and added it to the picons samba share folder. I used a list of channel icons .png’s for the donor list of icons, which I also added to the picons folder so when they where renamed to the picon code they didn’t need moving .

The result is that all clients now get the same picons automatically and this list will remain in place whilst ever I run the same TVH server setup. I should never have to setup this list again.


1 Like

I cannot view picons, I did a fresh install of everyting, but it seems tvheadend help it’s a little bit confusing…
Here is a screenshot saying that the path must be (path://), but the default setting is (path:///) with 3 dashes…
Anyway, no picons to see, and the error line in tvh is (2021-01-10 13:43:12.909 http: HTTP/1.1

HEAD (2) /imagecache/67 – 404)

Anyone had this issue?

Try with two dashes, it has worked for me in the past.


Thank you for your quick answer, I finally managed to change picons name accordingly with tvheadend.
and I still use 3 dashes, someone explained me that linux is using 3 dashes or something…
Anyway, I think the source of picons is not so accurate, expecially at HD channels…
I have transparent picons for all services (srp-full.220x132-190x102.dark.on.transparent_2021-01-09–23-23-36)
inside this folder there are 17386 files, and I am using only 100-150…
I tried to find a picon with what tvheadend generated, but no succes with this one for example…
and I can find same channel but the name is 1_0_1_74_9_85_C00000_0_0_0.png (instead of 19 there is 1), so I changed manually and ot works…
So, in my opinion the source is not so accurate…

The problem with picons is that they are generated based upon the transponder frequencies - and channels move around thew transponders on a fairly regular basis. This means that picon lists need to be recent to be useful. icon name matching is even more unreliable and always requires significant manual configuration since naming conventions vary widely so auto-matching fails on most channels.

File pointers get even more complex if you choose to split your TVH server onto a separate machine, and then things like file permissions can become major problems.

In short picons are a pain and always will be.


As you can observe, date of picons downloaded is yesterday at 23:23 pm
Maybe the picons name are old… so the source is not reliable…
I took them from here (

Right now, all my picons are ok, but entered manually…

Did you try following my post above your first one, it is the only method which has worked reliably for me and allows all my clients to self populate from my TVH server picons. A small amount of tweaking of some of the names was all it took.

TVH handling of picons is just plain flakey and what works for one person doesn’t always work for everyone else. In my case TVH simply wasn’t allowing access to the picons files using its own image server software - so I bypassed it be using the SAMBA server of the base system of the CE OS. Take TVH out of the picture as much as possible. Others have found this a reliable way of getting picons to work.


Yes, your post above get me here… but no success.
And I want to avoid samba… I think SSH is enough.
Now, I am happy, thanks for all answers, maybe next time I will reinstall everything, I can get another source of picons and that will be all.

About | FAQ | Terms of Service | Privacy Policy | Legal Notice