Digital Media guide
Updated September 2026. The original 2016 article was written in the iTunes/PS3/Synology era. The core idea has aged well; most of the commands had not. Everything below is verified against current macOS, Homebrew and ffmpeg. Genuinely obsolete material is preserved at the bottom under Legacy notes.
This is advanced material on how to manage your own collection of media, whether it is photos and movies, or anything else. Have all of your media properly tagged and stored in Apple friendly formats. The main purpose of the article is to give you a way to TAG all of your media and supply it with useful information, because you should be able to search for things easily, and tagging is essential to select desired media from a collection.
Why tagging is still important
The 2016 premise holds in 2026: metadata should live inside your files, not in some proprietary library. Libraries come and go (iTunes itself is gone), but an M4A with embedded title, artist and artwork, or an MP4 with a proper creation date and GPS tag, carries its meaning anywhere: Finder, Spotlight, the TV app, VLC, Plex, Linux, Windows.
Benefits:
- Convert voice recordings made by 3rd-party apps and hardware into a taggable, searchable format (WAV/OGG/MP3 to M4A)
- Browse media by tag: genre, release year, type: home video, movie, etc.
- Portable: data is stored within files, not in a database that only one app can read
Principles for 2026
A few rules that were implicit in 2016 and deserve to be explicit now:
- Originals are sacred. Never transcode an original just to normalize a container. Remux (copy streams into a new container) whenever possible; re-encode only when a target device truly cannot play the codec. Keep the original until the converted copy is verified.
- Prefer lossless metadata edits.
exiftooland AtomicParsley rewrite tags without touching the audio/video streams. That is always the first choice. - Photos and iPhone video belong to Photos/iCloud, files belong to folders. Don’t fight the system library for camera media (see below); do maintain a plain folder tree for movies, recordings and everything else.
- Back up before bulk operations, and verify with checksums.
shasum -a 256before and after a migration is cheap insurance.
Selected formats
- Video: MP4 (H.264 or HEVC) for downloaded movies and digitized old home movies. Keep iPhone footage exactly as shot — HEVC in MOV with its GPS and Live Photo metadata intact.
- Audio: M4A (AAC) for ripped CDs, for converting lossless to lossy, and for converting voice recordings. Keep existing MP3s as they are — re-encoding lossy to lossy only loses quality.
- Photos: HEIC is the iPhone default since 2017 and is fine to keep. Convert to JPEG only at the point of sharing with something that cannot read HEIC, never in the archive.
The old M4V-vs-MP4 distinction is dead: use plain .mp4. One modern gotcha replaces it: HEVC video inside MP4 must carry the hvc1 sample-type tag or Apple players refuse it (ffmpeg defaults to hev1). The commands below handle it.
Required software
- Command Line Tools for Xcode
- Homebrew
- exiftool — the metadata Swiss army knife
- AtomicParsley — still alive (the SourceForge project moved to GitHub) and still the easiest way to set iTunes-style atoms without re-encoding
brew install ffmpeg atomicparsley exiftool
Note: brew install ffmpeg --with-fdk-aac from the original article no longer exists — Homebrew removed per-formula options back in 2018. You don’t need fdk-aac anymore either: on macOS, ffmpeg includes the aac_at encoder, which uses Apple’s own AudioToolbox AAC encoder — the same one iTunes used, and at least as good as fdk ever was. The built-in aac encoder is also respectable now at 192 kbps and up.
Videos
Inspect before converting
Before converting video files, check what streams they actually contain:
ffprobe -show_streams -print_format json -v quiet some.mkv
Remux MKV to MP4
If the MKV already holds H.264/HEVC video and AAC/AC-3 audio (most do), you only need to change the container. No quality loss, and it is fast:
ffmpeg -i "file.mkv" \
-map 0:v -map 0:a -map 0:s? \
-c:v copy -c:a copy -c:s mov_text \
-tag:v hvc1 \
-metadata title="The Godfather Part II" \
"The Godfather Part II.mp4"
Notes:
-map 0:v -map 0:a -map 0:s?selects video, audio, and subtitles if present. The 2016 article’s-map 0.0dot syntax has been removed from ffmpeg entirely.-c:s mov_textconverts SRT-style subtitles into the MP4-native form, so external.srtfiles can ride along inside the file.-tag:v hvc1is required for HEVC to play in QuickTime/TV app; it is harmless for H.264.- If one audio track is in an MP4-incompatible codec (DTS, Vorbis), re-encode just that track:
-c:a:1 aac_at -b:a:1 192kwhile copying the rest.
Whether you still want to remux everything is now a choice, not a necessity: Infuse, VLC and Plex play MKV natively on every Apple device. Remux if you rely on the TV app, Finder previews, and embedded MP4 tagging (the point of this guide); leave MKV alone if a media server is your only consumer.
Re-encode legacy AVI/DV home movies
Old AVI containers hold codecs MP4 cannot, so this is the one case where re-encoding is justified. Use HEVC with the hardware encoder (fast, small files) and keep the original until verified:
ffmpeg -i MVI_1539.AVI \
-c:v hevc_videotoolbox -q:v 55 -tag:v hvc1 \
-c:a aac_at -b:a 192k \
-metadata title="Dancing Bear" \
MVI_1539.mp4
For maximum archival quality on precious footage, software x265 (-c:v libx265 -crf 20) beats the hardware encoder at the cost of time.
Media kind: Movies, Home Videos, TV Shows
iTunes is gone, but its metadata atoms live on in the TV app, and AtomicParsley still sets them:
AtomicParsley file.mp4 --stik value=9 --overWrite # Movie
AtomicParsley file.mp4 --stik value=0 --overWrite # Home Video
AtomicParsley file.mp4 --stik value=10 --overWrite # TV Show
Audio
Voice call recordings
Recorders and telephony apps still ship WAV, OGG and MP3. Convert them to tagged M4A so they are small, searchable and Apple-native:
ffmpeg -i call-2013-0524-1103-42.wav \
-c:a aac_at -b:a 96k \
-metadata artist="Danila Vershinin" \
-metadata title="Conversation with +7927..." \
-metadata genre="Voice Memo" \
output.m4a
96 kbps AAC is transparent for speech. Batch the whole directory with a shell loop, and set the file dates from the filename with exiftool (below) so the recordings sort correctly everywhere.
Perfect artwork
Embed artwork into MP4 and M4A files — unchanged since 2016, still the best one-liner for it:
AtomicParsley S01E03.Guilty.720p.mp4 --artwork cover.jpg --overWrite
Set dates of videos
The 2016 command mostly still works, with two corrections: QuickTime dates are stored in UTC (tell exiftool your intent with the QuickTimeUTC API option, or you get shifted timestamps), and FileCreateDate is Windows-only — on macOS the writable one is FileModifyDate:
exiftool -P -overwrite_original -api QuickTimeUTC=1 \
"-CreateDate=2016:12:01 10:00:00" \
"-TrackCreateDate=2016:12:01 10:00:00" \
"-MediaCreateDate=2016:12:01 10:00:00" \
"-FileModifyDate=2016:12:01 10:00:00" \
Test.mp4
Spotlight, Photos on import, and every player read these embedded dates — this is exactly the kind of portable metadata this guide is about.
Photos, iPhone video and iCloud
This section did not exist in 2016 and is now the most important one. For anything shot on an iPhone, the system of record should be iCloud Photos, not a hand-tagged folder tree:
- Keep Download Originals to this Mac enabled on at least one Mac with room to spare. “Optimize Storage” on every device means no device holds your originals — that Mac plus its backup is what makes iCloud a sync service into an actual backup.
- Live Photos are a pair (HEIC + MOV). Moving files out by hand splits the pair. Export with File > Export > Export Unmodified Originals, or better, osxphotos, which exports originals together with albums, keywords, faces and edit history as portable XMP sidecars — the escape hatch that keeps a system library from becoming a proprietary trap.
- Leave HEIC/HEVC as shot. Every current OS reads them; converting to JPEG/H.264 loses quality and metadata for no benefit.
Checksums and backups
Tagging is worthless if the files rot. Minimum standard, the classic 3-2-1: three copies, two different media, one off-site.
- Time Machine (or any versioned backup) for the whole Mac, including the Photos library.
- iCloud Photos counts as the off-site copy for camera media only if a full-original copy also exists locally (previous section).
- For the folder-tree archive, record checksums once and verify after every migration or disk move:
find . -type f -exec shasum -a 256 {} + > ~/media.sha256thenshasum -c media.sha256.
Legacy notes (2016), kept for history
- PlayStation 3 compatibility drove the original M4V advice and the note that PS3 could not display embedded MP4 subtitles. No longer a consideration.
- Synology: the original advised prefixing ffmpeg with
LD_LIBRARY_PATH=/opt/libon a Synology box, and re-tagging podcasts its Download Station fetched. Run real ffmpeg in Docker on the NAS instead — or just do this work on the Mac. - flexget + transmission pipelines that auto-converted MKV on download-complete with TVDB metadata: clever then, unnecessary now that remuxing is optional and media servers read MKV.
- Windows Media Player as an MP4 tag editor — superseded by everything above.
- mkvpropedit for titling MKVs you decide to keep still works fine:
mkvpropedit file.mkv --edit info --set "title=The movie"(brew install mkvtoolnix). - The recommended podcast feeds (Feedburner, Revision3) are long dead.
Recent Comments