Difference between revisions of "Channel icons"

From MythTV Official Wiki
Jump to: navigation, search
m (chown user:group)
m (minor changes to 0.27+ icon locations,.. with some sql debugging stuff to help)
(26 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
=Channel Icon Download System=
 
=Channel Icon Download System=
As of 0.21, MythTV includes a channel icon download system in ''mythtv-setup'' which will attempt to automatically download icons for channels in your database from services.mythtv.org. If it cannot find an icon it will present you with a list of options, an the ability to define your own search parameters.
+
As of 0.21, MythTV includes a channel icon download system in ''mythtv-setup'' which will attempt to automatically download icons for channels in your database from services.mythtv.org. If it cannot find an icon it will present you with a list of options, and the ability to define your own search parameters.
  
 
To configure icon downloading in mythtv-setup:
 
To configure icon downloading in mythtv-setup:
Line 6: Line 6:
 
* select "Channel Editor"
 
* select "Channel Editor"
 
* click on "Icon Download"
 
* click on "Icon Download"
* select either "Download all icons.." or "Rescan for missing icons.."
+
* select either "Download all icons.." or "Rescan for missing icons.." or "Download icon for <selected channel>"
 +
 
  
 
==Universal Location==
 
==Universal Location==
By default the icon will be downloaded to the '/home/<user>/.mythtv/channels' directory. This is not very friendly when you have multiple frontends and wish them all to share the icons. One method to get around this is to use a symlink for this directory that directs to a network located directory that all your frontends have access to, say '/var/mythtv/channels' for example.
+
Starting with version 0.27, a single location for channel icons is used.
 +
It's usually in the ''.mythtv/channels'' directory of the user
 +
that runs ''mythbackend''. Typically, ''mythtv''. The location is defined
 +
in the built-in ChannelIcons Storage Group (it's not necessary to create
 +
a ChannelIcons Storage Group. ( Note this is not normally visible in the Storage group Setup menu of mythtv-setup, it is a system storage group and hence remains hidden).
 +
 
 +
Note that users that set MYTHCONFDIR before starting MythTV programs
 +
override the HOME directory of the user running the backend.
 +
 
 +
Run ''mythtv-setup'' as the same user that runs ''mythbackend'' and
 +
get a new set of channel icons. They'll be stored
 +
in the directory above.
 +
 
 +
A [[Services API]] endpoint (''<backend>:6544/Guide/GetChannelIcon?ChanId=<chanid>'') works with this
 +
feature. In fact, mythfrontend, mythweb and WebFrontend all use this to retrieve icons making this
 +
the prefect troubleshooting tool. If it doesn't work, no icons will display. [it is possible that some stale
 +
cached icons exist, but the endpoint must work for new icons.]
 +
 
 +
If icons are not displayed when using the above API it is possible to verify if an icon file exists by integrating the Database directly using the following command. Note this shows all visible channel entries within the Database.
 +
 
 +
<code><pre>
 +
mysql -u mythtv -p mythconverg -e "SELECT channum,chanid,icon FROM channel where visible order by channum+0;"
 +
 
 +
(chanid is a generated ID number for the channel that happens when it is scanned into the database)
 +
</pre></code>
 +
 
 +
Symlinks added for prior MythTV versions, duplicate ''channels'' directories and
 +
any ''ChannelIcons'' [[Storage Groups]] and their contents can be removed. If linking is
 +
used be sure that both user ''mythtv'' and the frontend user
 +
have write permission on the directory! Some programs/apps create additional versions of the
 +
icons with different sizes , e.g. for ''cbs.jpg'', ''cbs.jpg.0x57.png'' may be created.
 +
 
 +
A Note of Caution: Some Myth distributions run ''mythtv-setup'' as the frontend user created on installation, where as the backend is frequently run as ''mythtv'', even if the frontend and backend are on same machine. This requires a symlink (ln -s /home/myuser/.mythtv/channels /home/mythtv/.mythtv/channels) or copy files. Once fixed the icons will automatically appear on mythweb and other frontends as describe above.
 +
 
 +
== Pre 0.27 Instructions==
 +
By default the icon will be downloaded to the ''/home/<user>/.mythtv/channels'' directory. This is not very friendly when you have multiple frontends and wish them all to share the icons. One method to get around this is to use a symlink for this directory that directs to a network located directory that all your frontends have access to, say ''/var/mythtv/channels'' for example.
  
 
Before downloading the icons, do the following, or similar as per your distribution:
 
Before downloading the icons, do the following, or similar as per your distribution:
Line 27: Line 63:
 
for all the users that can run MythTV as well.
 
for all the users that can run MythTV as well.
  
Then download the icons using the steps above. Finally you will need to modify the icon location in the database,
+
=Channel Icon Sources=
<code><pre>
+
One of the best sources of channel icons is http://www.lyngsat-logo.com/ . There, you can browse the available icons and choose those appropriate for your system.  However, doing so can be a lot of work (requiring many page hits and a lot of time).  Once downloaded you should put the resulting JPEG files into ''.mythtv/channels/'' for the user running the front-end.  To add them to a channel you will need to run ''mythtv-setup'' and go to the channel editor and specify the icon file name for each channel.
$ mysql -u username -p mythconverg -e "UPDATE channel SET icon = replace(icon, '/home/<user>/.mythtv/channels/', '/var/mythtv/channels/');"
 
</pre></code>
 
 
 
Anytime you download new icons or update the icons you will need to update the location in the database.
 
  
==Storage Group==
+
Another source of channel icons is http://www.iconharmony.com/ which is targeted for icons for the harmony remoteSome of the available icons are more stylized than the official icon (the person running the site is a graphic artist)As with the previous source, finding an appropriate icon can be a lot of work.
One not fully implemented Storage Group feature is the ChannelIcons storage group. Using mythtv-setup, create this new group and point it to the location on your master backend where you wish to keep your channel icons.
 
 
 
mythtv-setup's channel editor does not support this yet though, so you will need to link ~/.mythtv/channels to this location for the user you use to run mythtv-setup on your backend (see above) so that when you download the icons it places them in your storage group location.
 
<code><pre>
 
cd ~/.mythtv
 
ln -s 'storage group locations' channels
 
</pre></code>
 
 
 
You will now also need to remove the directory portion of the icon location in your channel table in the mythconverg database.
 
 
 
<code><pre>
 
$ mysql -u username -p mythconverg -e "UPDATE channel SET icon = replace(icon, '/home/<user>/.mythtv/channels/', '');"
 
</pre></code>
 
 
 
this will let MythTV find the file in the ChannelIcons storagegroup.
 
 
 
=Channel Icon Sources=
 
One of the best sources of channel icons is http://www.lyngsat-logo.com/ .  There, you can browse the available icons and choose those appropriate for your systemHowever, doing so can be a lot of work (requiring many page hits and a lot of time).  Once downloaded you should put the resulting JPEG files into .mythtv/channels/ for the user running the front-end.  To add them to a channel you will need to run mythtv-setup and go to the channel editor and specify the icon file name for each channel.
 
  
 
==International Channel Logos==
 
==International Channel Logos==
 
* [https://ash.ms/projects/channels Australia]
 
* [https://ash.ms/projects/channels Australia]
 
* [http://www.documentjes.nl/linux/mythtv/icons/ Netherlands]
 
* [http://www.documentjes.nl/linux/mythtv/icons/ Netherlands]
 +
 +
[[Category:HOWTO]]

Revision as of 08:50, 4 April 2017

Channel Icon Download System

As of 0.21, MythTV includes a channel icon download system in mythtv-setup which will attempt to automatically download icons for channels in your database from services.mythtv.org. If it cannot find an icon it will present you with a list of options, and the ability to define your own search parameters.

To configure icon downloading in mythtv-setup:

  • run "mythtv-setup"
  • select "Channel Editor"
  • click on "Icon Download"
  • select either "Download all icons.." or "Rescan for missing icons.." or "Download icon for <selected channel>"


Universal Location

Starting with version 0.27, a single location for channel icons is used. It's usually in the .mythtv/channels directory of the user that runs mythbackend. Typically, mythtv. The location is defined in the built-in ChannelIcons Storage Group (it's not necessary to create a ChannelIcons Storage Group. ( Note this is not normally visible in the Storage group Setup menu of mythtv-setup, it is a system storage group and hence remains hidden).

Note that users that set MYTHCONFDIR before starting MythTV programs override the HOME directory of the user running the backend.

Run mythtv-setup as the same user that runs mythbackend and get a new set of channel icons. They'll be stored in the directory above.

A Services API endpoint (<backend>:6544/Guide/GetChannelIcon?ChanId=<chanid>) works with this feature. In fact, mythfrontend, mythweb and WebFrontend all use this to retrieve icons making this the prefect troubleshooting tool. If it doesn't work, no icons will display. [it is possible that some stale cached icons exist, but the endpoint must work for new icons.]

If icons are not displayed when using the above API it is possible to verify if an icon file exists by integrating the Database directly using the following command. Note this shows all visible channel entries within the Database.

mysql -u mythtv -p mythconverg -e "SELECT channum,chanid,icon FROM channel where visible order by channum+0;"

(chanid is a generated ID number for the channel that happens when it is scanned into the database)

Symlinks added for prior MythTV versions, duplicate channels directories and any ChannelIcons Storage Groups and their contents can be removed. If linking is used be sure that both user mythtv and the frontend user have write permission on the directory! Some programs/apps create additional versions of the icons with different sizes , e.g. for cbs.jpg, cbs.jpg.0x57.png may be created.

A Note of Caution: Some Myth distributions run mythtv-setup as the frontend user created on installation, where as the backend is frequently run as mythtv, even if the frontend and backend are on same machine. This requires a symlink (ln -s /home/myuser/.mythtv/channels /home/mythtv/.mythtv/channels) or copy files. Once fixed the icons will automatically appear on mythweb and other frontends as describe above.

Pre 0.27 Instructions

By default the icon will be downloaded to the /home/<user>/.mythtv/channels directory. This is not very friendly when you have multiple frontends and wish them all to share the icons. One method to get around this is to use a symlink for this directory that directs to a network located directory that all your frontends have access to, say /var/mythtv/channels for example.

Before downloading the icons, do the following, or similar as per your distribution:

rm ~/.mythtv/channels -rf
sudo mkdir /var/mythtv/channels
sudo chown <user>:<group> /var/mythtv/channels
ln -s /var/mythtv/channels ~/.mythtv/channels

You will want to run

rm ~/.mythtv/channels -rf
ln -s /var/mythtv/channels ~/.mythtv/channels

for all the users that can run MythTV as well.

Channel Icon Sources

One of the best sources of channel icons is http://www.lyngsat-logo.com/ . There, you can browse the available icons and choose those appropriate for your system. However, doing so can be a lot of work (requiring many page hits and a lot of time). Once downloaded you should put the resulting JPEG files into .mythtv/channels/ for the user running the front-end. To add them to a channel you will need to run mythtv-setup and go to the channel editor and specify the icon file name for each channel.

Another source of channel icons is http://www.iconharmony.com/ which is targeted for icons for the harmony remote. Some of the available icons are more stylized than the official icon (the person running the site is a graphic artist). As with the previous source, finding an appropriate icon can be a lot of work.

International Channel Logos