What happens to a video, step by step

For the curious and the careful: what VidFeather does with each clip, what it checks, and why some details that sound small decide whether Photos shows your video on the right day.

The path of one clip

  1. Export. VidFeather asks Photos for the original file. If the clip is stored only in iCloud, Photos downloads it first. This is usually the slowest step.
  2. Read. The file is examined again from scratch: size, rotation, frame rate, color, HDR, Dolby Vision and every track inside. Decisions are made from this reading, not from the earlier scan.
  3. Encode. The video is compressed to HEVC with the open-source x265 encoder, or with Apple’s hardware encoder if you prefer speed. Sound is copied as is unless you choose AAC.
  4. Restore details. Date, location, camera and lens are written into the copy in the exact form Photos reads. For iPhone Dolby Vision, the Dolby Vision layer is assembled and declared in the file.
  5. Check. The copy goes through the checks listed below. If any fails, it is saved next to the others as .FAILED.mov for you to inspect, and the process stops for that clip.
  6. Import. The copy is added to Photos in one step together with its albums, so it either appears in the right albums or not at all. Date, location, Favorite and Hidden come from the original as Photos knows it, including any corrections you made there.
  7. Compare again. VidFeather reads the copy back from Photos and compares length, date, location, Favorite, albums, HDR and Dolby Vision with the original. Then it copies the title, caption and keywords and reads them back too.
  8. Mark. The original is added to the “To be deleted” album and saved to the Originals folder. It stays in Photos until you decide otherwise.

Every check, in full

Each copy has to pass all of these before it is imported.

  • The video is HEVC.
  • It fits the size you chose, on both the long and the short side.
  • It has exactly the dimensions VidFeather calculated, with the original’s proportions.
  • Its length is within 0.25 seconds of the original.
  • It is smaller than the original. If a 1080p clip would not get smaller, there is no copy.
  • It has a date if the original had one, and that date is the one Photos will show for the original.
  • It has location, camera make and model if the original had them.
  • HDR clips keep their transfer characteristic (HLG or PQ). Losing 10-bit color is reported as a warning.

For iPhone Dolby Vision, also:

  • The Dolby Vision profile, compatibility and layer flags are correct in the file.
  • The Dolby Vision metadata of every frame matches the original. Both files are decoded and compared frame by frame; a flag in the file alone is not enough.
  • Frame count and timing match, including the variable frame rate iPhones record.
  • Sound has the right length and lines up with the picture.
  • Lens model and focal length survived. Missing lens data is an error here, not a warning.
  • macOS itself can play the copy: sound decodes in full, and the video seeks to 10, 50 and 90 percent.

Why the date takes so much care

Photos reads a video’s date from a particular block of metadata inside the file. Common tools add their own entries to that block while compressing, and when they do, Photos quietly stops reading it: the date jumps, and location and camera disappear even though they are still in the file.

VidFeather never lets the encoder write that block. It writes a clean one itself, and it never adds a date entry the original didn’t have, because that entry would outrank the one Photos used and shift the date. Videos from cameras such as Fujifilm record the end of the clip in one place and the start in another; mixing them up moves the date by the length of the clip. The time zone of the original is kept.

Vertical videos stay sharp

“1080p” in VidFeather means 1920 pixels on the long side and 1080 on the short side, whichever way the phone was held. A vertical 2160×3840 clip becomes 1080×1920. Squeezing it into a horizontal 1920×1080 frame would leave 608×1080 and throw away more than half the detail.

HDR and Dolby Vision

HDR copies stay 10-bit with the same transfer characteristic (HLG or PQ) and BT.2020 color. iPhone Dolby Vision is profile 8.4: an HDR picture plus a small piece of metadata for each frame that tells the screen how to show it. VidFeather carries that metadata to the copy frame by frame, declares the Dolby Vision layer in the file, and checks the result against the original.

iPhones also record how bright each scene was. Without that track, macOS shows the copy noticeably brighter than the original. VidFeather keeps it, and Compare uses it too, so the versions you compare differ only in compression.

Dolby Vision from other sources, such as profile 5 or 8.1, would lose its Dolby Vision layer. Those clips are skipped by default.

What Photos does not let any app do

  • Shared, smart, synced and imported albums cannot be added to by apps. Each one is named in the job notes.
  • People cannot be assigned by apps. Photos recognizes faces in the copy again by itself.
  • Edits cannot be transferred. VidFeather compresses the edited version, so edits are kept but can’t be undone in the copy.
  • Titles, captions and keywords are only reachable through Photos’ scripting support, which needs your permission once. Without it, everything else still works, and you can copy them later from the Completed screen.
  • Live Photos are not linked to their copies.

What is inside

VidFeather is a native Mac app. For the video work it includes well-known open-source tools: FFmpeg with the x265 encoder, MP4Box from GPAC for the Dolby Vision layer, and ExifTool for metadata. They ship inside the app; there is nothing else to install. Their licenses and sources are listed on the open-source licenses page.