1
0

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

  1. Log into Emby Server as an administrator
  2. Go to Settings → Advanced → API Keys
  3. 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:

  1. Test on first channel with dry run:

    python update_channel_logos.py --server URL --api-key KEY --first-only
    
  2. Execute on first channel:

    python update_channel_logos.py --server URL --api-key KEY --first-only --execute
    
  3. If successful, run on all channels:

    python update_channel_logos.py --server URL --api-key KEY --execute
    

How It Works

  1. Connects to your Emby server
  2. Fetches all Live TV channels
  3. For each channel:
    • Copy mode: Downloads the Primary logo and uploads it as LogoLight and LogoLightColor
    • Clear mode: Deletes Primary, LogoLight, and LogoLightColor
  4. Skips channels that already have the logos (copy mode, unless --force is used) or have no logos (clear mode)
  5. Shows a summary of results

Safety Features

  • Dry run by default: Always runs in simulation mode unless --execute is 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 --force is used)
  • Force mode: Use --force to 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 --clear with caution - it deletes logos from all channels
Description
No description provided
Readme 66 KiB
Languages
Python 83.2%
Shell 14.4%
Dockerfile 2.4%