From ab08d823c4feeb58e37591adf1ac40a07362733b Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Wed, 25 Dec 2024 09:16:59 +0200 Subject: [PATCH] pikvm/pikvm#1440: Websocket-based transport and decoding for H.264 --- extras/media/nginx.ctx-server.conf | 6 +- kvmd.install | 6 + web/kvm/index.html | 20 ++- web/kvm/navbar-system.pug | 11 +- web/kvm/window-stream.pug | 1 + web/share/css/kvm/stream.css | 3 +- web/share/js/kvm/stream.js | 45 ++++-- web/share/js/kvm/stream_janus.js | 16 +- web/share/js/kvm/stream_media.js | 240 +++++++++++++++++++++++++++++ web/share/js/kvm/stream_mjpeg.js | 2 +- 10 files changed, 314 insertions(+), 36 deletions(-) create mode 100644 web/share/js/kvm/stream_media.js diff --git a/extras/media/nginx.ctx-server.conf b/extras/media/nginx.ctx-server.conf index 67f877fc..cf1d157c 100644 --- a/extras/media/nginx.ctx-server.conf +++ b/extras/media/nginx.ctx-server.conf @@ -1,6 +1,6 @@ -location /media/ws { - rewrite ^/media/ws$ /ws break; - rewrite ^/media/ws\?(.*)$ /ws?$1 break; +location /api/media/ws { + rewrite ^/api/media/ws$ /ws break; + rewrite ^/api/media/ws\?(.*)$ /ws?$1 break; proxy_pass http://media; include /etc/kvmd/nginx/loc-proxy.conf; include /etc/kvmd/nginx/loc-websocket.conf; diff --git a/kvmd.install b/kvmd.install index 469fba8c..9f7c5f95 100644 --- a/kvmd.install +++ b/kvmd.install @@ -102,6 +102,12 @@ EOF touch -t 200701011000 /etc/fstab fi + if [[ "$(vercmp "$2" 4.29)" -lt 0 ]]; then + if [ "$(systemctl is-enabled kvmd-janus || true)" = enabled ]; then + systemctl enable kvmd-media || true + fi + fi + # Some update deletes /etc/motd, WTF # shellcheck disable=SC2015,SC2166 [ ! -f /etc/motd -a -f /etc/motd.pacsave ] && mv /etc/motd.pacsave /etc/motd || true diff --git a/web/kvm/index.html b/web/kvm/index.html index fbf9c5df..1db915ee 100644 --- a/web/kvm/index.html +++ b/web/kvm/index.html @@ -170,6 +170,17 @@
+