Maksim Totmin 489d99c068 Add cover art pipeline (extract/encode/cache) and iTunes-style player
- New src/artwork/ module with iPod Nano 7G cover art support
  - codecs: RGB565/RGB555/UYVY/JPEG encode/decode via numpy
  - presets: 50+ iPod artwork format definitions
  - chunks: ArtworkDB binary parser/writer (MHFD→MHSD→MHLI→MHII→MHNI)
  - writer: ithmb file generation + ArtworkDB assembly
  - extractor: cover extraction from audio files (APIC/covr/FLAC pictures)
  - cache: local JPEG cache for player UI
- iTunes-style playback bar with 60x60 cover art display
- Scan library now caches cover art by artist+album
- iPod Nano7 transfer writes artwork to ArtworkDB + ithmb
- FFmpeg conversion preserves embedded cover art (-map 0:t?)
- One-time reembed_covers.py script in /tmp
- MetadataHandler process_file() fallback to cover_path
- Bug fixes: missing read_existing_artwork import, signed PID in Q format
2026-05-31 17:45:01 +07:00
2025-03-12 01:01:43 +01:00
2025-03-12 01:18:07 +01:00
2025-03-12 01:01:43 +01:00
2025-03-12 01:01:43 +01:00
2025-03-12 01:01:43 +01:00

Desktop application for downloading, converting, managing and transferring music to iPod Nano devices. Combines YouTube audio extraction, format conversion, metadata management, local library with playback, and direct device transfer while adhering to iPod Nano's technical specifications.

Features

  • Download audio from YouTube videos/playlists
  • Convert to iPod-compatible formats (AAC/M4A)
  • Automatic metadata handling (title, artist, album art)
  • Direct transfer to iPod Nano
  • Cross-platform support (Windows, macOS, Linux)

Installation

  1. Clone this repository:
git clone https://github.com/yourusername/youtube-to-ipod-nano.git
cd youtube-to-ipod-nano
  1. Install dependencies:
pip install -r requirements.txt
  1. Install FFmpeg (required for audio conversion):
    • macOS: brew install ffmpeg
    • Linux: sudo apt-get install ffmpeg
    • Windows: Download from FFmpeg website

Usage

GUI Application

Run the application:

python src/main.py

Command Line Interface

python src/cli.py --url "https://www.youtube.com/watch?v=VIDEO_ID" --output-dir "/path/to/ipod"

Options:

  • --url: YouTube video or playlist URL
  • --output-dir: Output directory (iPod mount point)
  • --format: Audio format (default: m4a)
  • --quality: Audio quality in kbps (default: 256)
  • --video: Enable video download (for compatible iPod models)

This tool is intended for personal use only. Users are responsible for complying with YouTube's Terms of Service and copyright laws. Please only download content that you have the right to access and use.

License

MIT License

Description
Desktop manager for iPod Nano 7G — download, convert, transfer music with cover art.
Readme 1.9 MiB
Languages
Python 98.4%
Shell 1.4%
Batchfile 0.2%