When macOS Safari 15 (thru at least 15.2) requests and receives permission to access only the
camera (no audio/microphone; { audio: false, video: true } as media constraints), and
when a poster attribute is used on the <video> element for
displaying the resulting video stream, the video typically does not display at all. And if it does
display, it remains frozen on the first frame, despite the inclusion of both the
muted and autoplay attributes on the <video> element.
By navigating away from the browser window (e.g., by switching to another virtual desktop screen) and returning, the video does appear and will be playing as expected.
However, by either:
poster attribute from the <video> element, or
{ audio: true, video: true }
as media constraints),
the resulting video stream displays and autoplays in Safari 15 as expected. Links to examples and source code below.
audio: false in media constraints and the poster attribute:
live example, source code.
Result: frozen video or no video at all in macOS Safari 15.
audio: false in media constraints but without the
poster attribute:
live example, source code.
Result: autoplaying video in macOS Safari 15.
audio: true in media constraints and the poster
attribute:
live example, source code.
Result: autoplaying video in macOS Safari 15.