I have a video file captured using the standard Camera app copied off my Iphone5 using btsync:
orig.mov: ISO Media, Apple QuickTime movie
That plays upside down in mplayer or vlc.
When I transcode it using AWS's elastictranscoder using a standard preset:
elastictranscoder.mpg: ISO Media, MPEG v4 system, version 1
That transcoded video file plays back the right way up.
When transcoding myself, using ffmpeg I need to explicitly rotate the video otherwise the resulting {mp4,webm} files are upside down.
So I am guessing AWS's elastictranscoder auto rotates the video somehow. However why is the video upside down to begin with?
This is an Apple thing and I agree it is very confusing to most users. The Apple has allowed the volme up/down buttons on the device(iPhone/ iPad) to record start/stop and shutter functions. So, most users wants these buttons to be present at the top and hence rotate the device.
This makes the device starts recording the video upside down but Apple motion sensors rotate the video as well and hence the user does not suspect that the video is recording upside down.
As a rule, hold the device with Home button on the right side if you want to avoid the phenomenon.
PS: In case you are wondering how Apple apps always position the video correctly even if it is recorded upside-down, the answer lies in the rotate tag which is embedded in the video and apps read it and correct the position.
It looks like this will be fixed in VLC version 2.2.0 (to be released shortly)
https://trac.videolan.org/vlc/ticket/2882