Qt Multimedia on WebAssembly

This page covers the availability of Qt Multimedia features on WebAssembly.


Due to the asynchronous nature of javascript, some features such as getting the list of QMediaDevices, will not be readily available and may take some time to request permissions and gather the list of devices. The audioInputsChanged, audioOutputsChanged and videoInputChanged signals from QMediaDevices class will be emitted when they are available.

Playing video currently works by using a html 2d context, so all operations are on the CPU.

Performance is acceptable, although there is a copy on every frame, so it may be less performant than desktop platforms when playing hi-def video.

Using and selecting different Codecs/video formats have not yet been tested, but whatever video formats the browser supports will most likely work.

Playing data from a stream (using setSourceDevice(QIODevice*)), instead of fetching a URL, isn't supported.

Some advanced features may or may not work at this time.

Files can be served from the/any web server, respective of CORS. Because of the limited size of local file storage, playing local files is discouraged.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.