Skip to content

Video Transcoding

This guide covers video transcoding quality settings, device profiles, and output format. For an overview of how podkit decides what to transcode, see Transcoding Methodology. For supported formats, content types, and how to set up video syncing, see Video Syncing.

Quality Settings

Video quality can be set globally or per device. Use videoQuality for a video-specific override, or set quality to apply to both audio and video:

# Global video quality override
videoQuality = "high" # max | high | medium | low
# Or use unified quality (applies to both audio and video)
quality = "high"
# Per-device video quality
[devices.classic]
videoQuality = "high"
PresetDescriptionRecommended For
maxHighest quality, largest filesBest viewing experience, ample storage
highExcellent quality (default)General use
mediumGood quality, smaller filesLimited storage
lowSpace-efficientMaximum capacity

Output Format

All videos are transcoded to iPod-compatible format:

PropertyValue
ContainerM4V (MPEG-4 with Apple extensions)
Video CodecH.264 (AVC)
Audio CodecAAC-LC stereo

Device Profiles

iPod Classic (6th/7th Generation)

SettingValue
Max Resolution640x480
Video ProfileH.264 Main Profile
Max Video Bitrate~2.5 Mbps
AudioAAC-LC, up to 160 kbps

iPod Video / Nano (3rd-5th Gen)

SettingValue
Max Resolution320x240
Video ProfileH.264 Baseline Profile
Max Video Bitrate~768 kbps
AudioAAC-LC, up to 128 kbps

Quality and Resolution

Quality settings affect bitrate, not resolution. Resolution is always matched to device capabilities:

PresetiPod Classic (640x480)iPod Video (320x240)
max640x480 @ 2500 kbps320x240 @ 768 kbps
high640x480 @ 2000 kbps320x240 @ 600 kbps
medium640x480 @ 1500 kbps320x240 @ 400 kbps
low640x480 @ 1000 kbps320x240 @ 300 kbps

File Size Estimates

For a 2-hour movie on iPod Classic:

PresetApprox Size
max~2.2 GB
high~1.8 GB
medium~1.3 GB
low~900 MB

Hardware Acceleration

On macOS, podkit uses VideoToolbox for hardware-accelerated encoding when available. This significantly speeds up transcoding.

Terminal window
# Check for VideoToolbox
ffmpeg -encoders 2>/dev/null | grep videotoolbox

Troubleshooting

Common Issues

IssueCauseSolution
”Unsupported format”Rare container/codecCheck file with ffprobe
Slow transcodingSoftware encodingmacOS uses hardware acceleration
Poor quality outputLow quality sourceUse source-appropriate preset
Large file sizesHigh bitrate presetUse medium or low preset

Debugging

Terminal window
# Analyze a video file
ffprobe -v error -show_format -show_streams input.mkv
# Test transcode with verbose output
ffmpeg -v verbose -i input.mkv -t 60 -c:v libx264 test.m4v
# Run with debug logging
podkit sync video --dry-run -vvv

See Also