Our app is recording video from an iPhone and using ffmpeg to create a HLS stream. We then playback the stream using AVPlayer on iOS. When we record "vertical" (portrait) video, we notice that the stream plays back incorrectly. However, if we point AVPlayer directly at the fMP4, it plays back correctly.
We can see the rotation metadata in the fMP4 itself, so it makes sense that direct playback works as-expected. It seems that using the HLS playback path ignores this same metadata. Is that correct? In the meantime, we're programmatically rotating the player to accommodate.
Here's a screen recording of the simulator playing back both versions. It's easy to see the issue: https://drive.google.com/file/d/1szeIcGFM7qL4IlB3vpKLbLTR9GRkq_4o/view?usp=sharing
Here's a link to the extremely basic Xcode project in that example: https://drive.google.com/open?id=1zuZ0IzxjFw606fBNpsNW3hWIe2GTTGmy
And here are the URLs to the media:
- https://alfredo-soba.s3.us-west-2.amazonaws.com/assets/0bcb458e-8627-48d5-9886-7c1785ed28ee/video.mp4
- https://alfredo-soba.s3-us-west-2.amazonaws.com/assets/0bcb458e-8627-48d5-9886-7c1785ed28ee/playlist.m3u8
The playlist.m3u8 points to the same video.mp4 that is played directly.
Does anyone know if this is expected? Or is there another option/setting that we're missing?
Thanks.