We’ve already implemented a
video recording feature via MediaRecorder API in a
Chrome extension. After recording, the video is
uploaded to Cloud and then played back via a
URL in the browser.
The Issue
-
✅ Recording in Chrome works perfectly.
-
✅ Playback in Chrome (local and via Cloud-hosted file) is fine.
-
❌ Playback in Safari (macOS/iOS) fails or only plays audio depending on the codec/container.
What We’ve Tested

Our Goals1. Keep using MediaRecorder in a Chrome extension
2. Upload to AWS without needing post-processing
3. Play videos in Safari reliably after upload
4. Improve video quality beyond VP8, if possible
Questions
1. Is there any encoding setup (codec/container or flags) that gives better quality than VP8 and still plays back in Safari after being uploaded?
2. Are there ways to improve VP8 quality (bitrate, resolution tweaks) via MediaRecorder settings?
3. Is server-side transcoding to MP4 (H.264 + AAC) the only real solution for Safari compatibility?
4. Has anyone gotten MediaRecorder to output Safari-compatible MP4s (possibly with experimental flags or workarounds)?
Any insights from those who’ve tackled this in production setups (Chrome extensions, video uploads, cross-browser playback) would be incredibly helpful.
Thanks!