I just captured a video of my new app running on an iPhone 6 using QuickTime Player and a Lightning cable. Afterwards I created an App Preview project in iMovie, exported it and could successfully upload it to iTunes Connect.
Apple requires developers to upload App Previews in different resolutions dependent on screen size, namely:
- iPhone 5(S): 1080 x 1920 or 640 x 1136
- iPhone 6: 750 x 1334 (what I have)
- iPhone 6+: 1080 x 1920
Obviously, 1080 x 1920 is killing two birds with one stone. I know that upscaling isn't the perfect solution, but it's meeting my needs. Since I don't own a 6+, another recording session won't do the trick.
Unfortunately, iTunes Connect is extremely picky about what to accept. Here's what I tried, to no avail:
- Handbrake, iMovie, QuickTime do not support upscaling
- MPEG Streamclip
ffmpeg -i input.mp4 -acodec copy -vf scale=1080:1920 output.mp4
Strangely enough, iTunes Connect keeps complaining about the wrong resolution when I try to upload the output.mp4 of ffmpeg.
I used Video resize https://itunes.apple.com/us/app/video-resize/id1073693347?mt=12 from the Mac App Store to resize the video. Quickly did the work but the resolution was off. Started a new App Preview in iMovie, Imported the newly resized video, trimmed it down to about 1 second, added the original video I had resized, trimmed clip video to 30secs, Share -> App Preview -> video size now at 1080x1920. Crossing fingers it will be accepted
Finally,
ffmpeg -i input.mp4 -acodec copy -crf 12 -vf scale=1080:1920,setsar=1:1 output.mp4
did the trick!Turns out that ffmpeg tries to be smart about aspect ratio, so that the actual size is 1079x1920 with an aspect ratio of 2000:2001.
setsar=1:1
forces an aspect ratio of 1:1 and hence, the right resolution-crf 12
as desired quality roughly results in the same file size as the original file created by iMovie, so it should be a safe bet bit rate-wiseI already answered to the same question here (solution using iMovie 10): https://stackoverflow.com/a/51118682/521316
For some reason, one of the videos I recorded from my iPhone 6 using Quicktime, forces iMovie to export in 1080x1920. I've no idea why this one video causes the project to export at this resolution. It's 750x1334 just like all my other videos. Adding it to the start of the project, will let me export at this max res, which I can then downscale to the other sizes.