Skip to content

What to do if WebRTC on iOS shows a black box

I was doing a project using WebRTC and in particular with the PeerJS library.

It worked fine on desktop but on iOS Safari, all I was seeing for the video streams was a black box.

Even for the local stream.

What I had to do was to add the playsinline attribute to the video tags for both the local and remote streams:

<video id="local" autoplay playsinline muted></video>
<video id="remote" autoplay playsinline></video>

(note: it’s playsInline in JSX)

I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list