Stremio shell using WebView2/mpv, written in Rust
Find a file
2022-09-29 14:37:58 +03:00
images Use image instead of icon for the splash screen 2021-07-21 21:02:12 +03:00
src Allow CORS 2022-07-11 11:01:04 +03:00
.gitignore initial commit 2021-07-05 19:33:54 +03:00
build.rs minor refactor + cargo fmt --all 2022-04-01 22:47:02 +02:00
Cargo.lock Update some packages 2022-09-29 14:37:58 +03:00
Cargo.toml Single instance 2022-05-23 13:39:14 +03:00
mpv.dll Update MPV to v0.34 2021-11-18 17:28:39 +02:00
mpv.lib initial commit 2021-07-05 19:33:54 +03:00
README.md README added 2021-07-05 19:38:08 +03:00
resources.rc Use image instead of icon for the splash screen 2021-07-21 21:02:12 +03:00
rust-toolchain.toml Specify rust toolchain 2022-07-11 11:00:10 +03:00
server.js File restructure. Working server 2021-07-13 17:34:59 +03: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 simper and more native overall architecture.