Step 1. Find TV Icons
I googled: abc tv icon using the image setting, and was able to find icons for each of the networks.
I selected both png and jpg files and didn't worry about the size of the file
The filenames should follow some naming convention. For example, Fox is over-the-air channel 7.1 in Austin. So, the image name should be 7.1.png or fox.png.
I saved the images to my MacBook
Step 2. Create directory and move icons
On a laptop, open a terminal window and login
$ ssh ♣username♣@tvheadend
Create some directories (hts is the default TVheadend user)
$ sudo mkdir /home/♣username♣/xmltv
$ sudo mkdir /home/♣username♣/xmltv/icons
On a laptop, open another terminal window. cd to the directory containing the TV icons and copy them to the TVheadend server
$ scp *.png ♣username♣@♣tvheadend-server-name♣:/home/♣username♣/xmltv/icons/.
Make a symbolic link from hts
$ sudo su - hts
hts$ ln -s /home/♣username♣/xmltv .xmltv
hts$ logout
The above may be a little bit confusing because you login as hts, and your home directory is /home/hts. To see this, enter $ ls ~/.
When you enter $ logout, you log out of user hts user. The symbolic link won't be visible to your ♣username♣, but it is to the hts user and ~xmltv link is required for proper operation of tvheadend, which uses hts and doesn't know about your ♣username♣.
Step 3. Enable icons in tvheadend
In browser, go to tvheadend:9981 and then Configuration : Channel / EPG : Channels.
Note: view level must be expert otherwise the User Icon doesn't appear
Select a line for one of your channels
Click Edit
In the User Icon field, enter the path, something like (Fox is channel 7.1, and the icon is fox.png)
file:///home/hts/.xmltv/xmltv/icons/fox.png
Note: the value in User Icon, in the image above is wrong
In the Tags field, click all the boxes
In the pop up, click Apply and then Save
At the bottom of the TVheadend page, click the Refresh icon