25ef2adf7182a00c6b67bdb453e1012d546b28ef
Emby Live TV Channel Logo Updater
Automatically copy or clear Live TV channel logos in Emby Server.
What It Does
- Copy Mode (default): Copies the Primary logo (Logo Dark Version) to LogoLight (Logo Light Version) and LogoLightColor (Logo Light with Colour) for all TV channels
- Clear Mode (
--clear): Removes all logos (Primary, LogoLight, LogoLightColor) from channels
Requirements
- Python 3.6+
- Emby Server with API access
- API key from Emby Server
Getting Your API Key
- Log into Emby Server as an administrator
- Go to Settings → Advanced → API Keys
- Create a new API key or use an existing one
Usage
Copy Logos (Default Mode)
Dry run (see what would happen without making changes):
python update_channel_logos.py \
--server https://your-emby-server.com \
--api-key YOUR_API_KEY
Execute (actually make changes):
python update_channel_logos.py \
--server https://your-emby-server.com \
--api-key YOUR_API_KEY \
--execute
Test on first channel only:
python update_channel_logos.py \
--server https://your-emby-server.com \
--api-key YOUR_API_KEY \
--first-only \
--execute
Clear All Logos
Dry run:
python update_channel_logos.py \
--server https://your-emby-server.com \
--api-key YOUR_API_KEY \
--clear
Execute:
python update_channel_logos.py \
--server https://your-emby-server.com \
--api-key YOUR_API_KEY \
--clear \
--execute
Command-Line Options
| Option | Description |
|---|---|
--server |
Required. Emby server URL (e.g., https://emby.example.com) |
--api-key |
Required. Your Emby API key |
--execute |
Actually perform the changes (without this, runs in dry-run mode) |
--first-only |
Only process the first channel (useful for testing) |
--clear |
Clear all logos instead of copying them |
--force |
Overwrite existing LogoLight/LogoLightColor (copy mode only) |
Examples
Recommended workflow:
-
Test on first channel with dry run:
python update_channel_logos.py --server URL --api-key KEY --first-only -
Execute on first channel:
python update_channel_logos.py --server URL --api-key KEY --first-only --execute -
If successful, run on all channels:
python update_channel_logos.py --server URL --api-key KEY --execute
How It Works
- Connects to your Emby server
- Fetches all Live TV channels
- For each channel:
- Copy mode: Downloads the Primary logo and uploads it as LogoLight and LogoLightColor
- Clear mode: Deletes Primary, LogoLight, and LogoLightColor
- Skips channels that already have the logos (copy mode, unless
--forceis used) or have no logos (clear mode) - Shows a summary of results
Safety Features
- Dry run by default: Always runs in simulation mode unless
--executeis specified - Confirmation prompt: Asks for confirmation before executing changes
- First-only testing: Test on a single channel before processing all channels
- Skip existing: In copy mode, skips channels that already have both light logos (unless
--forceis used) - Force mode: Use
--forceto overwrite existing LogoLight/LogoLightColor images with the current Primary logo
Notes
- The script only affects Live TV channels, not other media
- Changes may take a few moments to appear in the Emby interface
- You may need to refresh your browser/app to see changes
- Use
--clearwith caution - it deletes logos from all channels
Description
Languages
Python
83.2%
Shell
14.4%
Dockerfile
2.4%