The Matrix Server Setup Addendum includes some information you should know about running a Matrix Server, including common issues.
Video Playback on Android: Long Wait Before Start — A Known Element Issue
My self-hosted Matrix server runs stably and reliably. While testing audio and video messages between iPhone and Android (directly over Matrix, no bridge involved), I noticed a striking quirk worth documenting — not as a bug in my own installation, but as a known, externally documented limitation in Element itself.
Video: Matrix Server Setup Addendum
Language: 🇩🇪|🇬🇧
☝️ Use YouTube subtitles for all languages.
The Test
Messages were exchanged directly between an iPhone and an Android device (Galaxy A30), in both directions:
- Voice messages (audio): work flawlessly in both directions and play instantly, regardless of which device sent or received them.
- Video messages: work in substance (the file arrives complete and undamaged), but show a clear pattern in playback.
The Pattern With Videos
- A video recorded and sent from the iPhone plays instantly on the receiving device.
- A video received on Android (or played in Element Web) only starts playback after the entire file has been downloaded — for a 30-second clip, that means roughly four minutes of waiting before anything even appears.
- In Element Web, the same videos initially show an “unsupported” icon, which disappears on its own after a while once enough of the file has loaded.
The Cause
Research in the community led to an open GitHub issue #6436 in the official Element X Android repository. Another self-hoster running a completely different server stack describes exactly the same behavior there: videos can only be viewed after a full download, and in the web version, the initial error message also disappears on its own only after a minute or two.
The core issue: Element currently does not implement true progressive streaming for video playback — the client loads the file internally in full before playback begins. This occurs regardless of the server behind it and cannot be fixed on the server side.
Conclusion
The setup itself is not the cause — this is a known, currently open limitation in the Element client itself. If you’re affected: subscribe to issue #6436 on GitHub, and you’ll automatically be notified once something changes there.
Element WEB in Safari and Chrome
Chrome and Safari’s built-in video players support very different sets of formats/codecs — this is purely a browser characteristic, not a Matrix or Element bug.
Chrome is built on its own, very broad media engine and plays back almost anything (H.264, VP8/VP9, WebM containers, many profiles/variants). Safari instead uses Apple’s own native video framework, which is considerably more selective — it flatly rejects certain container variants, extra metadata tracks (like the ones we saw in the iPhone videos), or specific codec profiles that Chrome plays without any issue on the exact same file.
This is also confirmed externally: Element itself already has this exact symptom (video plays in Chrome, not in Safari) filed as a GitHub issue — and deliberately closed it as “not planned,” because it sits at the browser level, not in their code.
In short: there’s no setting, on our end or Element’s, that fixes this — it’s a fundamental limitation of Safari itself with certain video formats.

Support / Donation Link for the Channel
If my posts have been helpful or supported you in any way, I’d truly appreciate your support 🙏
#MatrixProtocol #ElementX #ElementWEB #SelfHosted #Synapse #OpenSource