You need `-pix_fmt yuv420p` for an iPhone to recognize a ffmpeg-encoded video file.
In practice that means that most hardware decoders (not just iPhones, also other phones, TVs, older PC GPUs) won't be able to decode YUV 4:2:2 or YUV 4:4:4 videos.
It's kinda annoying, since YUV420 really messes up red text in screen captures for example.
You need this parameter to force ffmpeg to convert the color space if your input isn't YUV420P (it defaults to keeping the input pixel format to avoid quality loss).
Is there an detailed explanation why red is especially bad after chroma subsampling? Have been wondering about this for awhile.
I assume it's because red has low brightness/luminance (no idea if correct or not)?
-tag:v hvc1
for iphone/quicktime to recognize it.