Still happening on iOS 26.6, and Android Chrome does the same: the track reports 1920x1080, the drawn frame is portrait, and the file has no displaymatrix. Two things worked for me. Request the camera in landscape numbers (width 1920, height 1080), which makes Safari rotate the picture itself. Then probe the drawn frame by drawing one frame of the video element onto a small canvas and checking which way it extends, and if the track and the picture disagree, record a canvas stream of the picture rather than the raw track. Working code, MIT: https://github.com/lagudafuadtosin/web-teleprompter (src/lib/camera.ts).
Topic:
Safari & Web
SubTopic:
General
Tags: