Stremio shell using WebView2/mpv, written in Rust
Find a file
Tim 7ca2e78dac
Some checks failed
Continuous integration / test (push) Has been cancelled
Merge branch 'main' of https://github.com/Stremio/stremio-shell-ng into refactor/preload-ipc-init
2025-06-25 13:05:10 +02:00
.github/workflows Remove old certificate and replace the automatic build script with manual scripts 2024-11-19 17:10:42 +02:00
bin Include vcruntime in the setup file 2025-03-24 15:40:19 +02:00
images Installer fixes 2024-04-17 11:28:23 +03:00
setup Include vcruntime in the setup file 2025-03-24 15:40:19 +02:00
src Merge branch 'main' of https://github.com/Stremio/stremio-shell-ng into refactor/preload-ipc-init 2025-06-25 13:05:10 +02:00
.gitignore Add stremio-runtime.exe 2024-03-08 10:18:30 +02:00
build.ps1 Remove old certificate and replace the automatic build script with manual scripts 2024-11-19 17:10:42 +02:00
build.rs Fix formatting 2024-03-07 17:47:32 +02:00
Cargo.lock refactor: use OnWindowFocus derive instead of raw event handler 2025-04-02 18:58:23 +02:00
Cargo.toml refactor: use OnWindowFocus derive instead of raw event handler 2025-04-02 18:58:23 +02:00
generate_descriptor.js fix logging 2024-12-23 16:10:39 +02:00
libmpv-2.dll Signed binaries 2024-11-15 11:03:19 +02:00
mpv.def Update MPV and server.js 32 bit app 2024-10-16 12:00:17 +03:00
mpv.lib Update MPV and server.js 32 bit app 2024-10-16 12:00:17 +03:00
README.md fix typo 2025-02-05 09:14:50 +02:00
rust-toolchain.toml chore: fix rust-toolchain.toml 2024-11-13 12:41:24 +01:00
server.js Update server and ffmpeg 2024-12-23 10:30:54 +02:00
upload.ps1 Remove old certificate and replace the automatic build script with manual scripts 2024-11-19 17:10:42 +02:00

Stremio shell: new gen

A Windows-only shell using WebView2 and MPV

Goals:

  • Performance
  • Reliability
  • Easy to ship

In all three, this architecture excels the Qt-based shell: it is about 2-5x more efficient depending on the use case, as it allows MPV to render directly in the window through it's optimal video output rather than using libmpv to integrate with Qt.

This is due to Qt having a complex rendering pipeline involving ANGLE and multiple levels of composing and drawing to textures, which inhibits full HW acceleration.

Meanwhile in this setup MPV uses whichever pipeline it considers to be optimal (like the mpv desktop app), which is normally d3d11, allowing full HW acceleration.

For web rendering, we use the native WebView2, which is Chromium based but shipped as a part of Windows 10: therefore we do not need to ship our own "distribution" of Chromium.

Finally, this should be a lot more reliable as it uses a much simpler and more native overall architecture.