java或python实现远程屏幕录制

java或python实现远程屏幕录制。是这样的,有个需求是做录屏审计功能,用户需要在用户端安装组件管理端控制开启用户端屏幕录制功能,录制的视频要实时传输到服务器上,并且管理端(即服务器端)也可以他同步查看视频。请问有没有这种解决方案。或者如果可以通过js、node、vue啥的实现那更牛了!
请给一下有用的答案,含糊其辞的请绕路谢谢!

qt开发的可以不,我最近开发了两款,需要看效果请联系我

你可以看下这个博文,或许对你有帮助:博文地址:https://blog.csdn.net/weixin_48923393/article/details/121448807

https://gitee.com/52jian/EasyMedia,你可以参考这个,或者直接把这个扔客户端,管理端用flv.js访问http://xxxx:8866/live?url=desktop

参考https://www.educative.io/answers/how-to-create-a-screen-recorder-in-javascript

1.浏览器录屏产生的数据,通过文件上传到后台
2.后台通过播放上传文件,就可以了


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <input type="text" />
    <button onclick="start()">start</button>
    <button onclick="stop()">stop</button>
    <button onclick="Player()">Player</button>
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/rrweb@latest/dist/rrweb.min.css"
    />
    <script src="https://cdn.jsdelivr.net/npm/rrweb@latest/dist/rrweb.min.js"></script>

    <script src="https://cdn.jsdelivr.net/npm/rrweb@latest/dist/record/rrweb-record.min.js"></script>

    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/rrweb-player@latest/dist/style.css"
    />
    <script src="https://cdn.jsdelivr.net/npm/rrweb-player@latest/dist/index.js"></script>

    <script>
      let events = [],
        operation;
      function start() {
        // rrweb行为录制
        operation = rrweb.record({
          emit(event) {
            // 用任意方式存储 event
            console.log(event);
            events.push(event);
          },
        });
      }

      function stop() {
        operation && operation();
      }

      function Player() {
        new rrwebPlayer({
          target: document.body, // 可以自定义 DOM 元素
          data: {
            events,
          },
        });
      }

      //通过 <script> 的方式,全量引入、npm 引入的
        function start() {
          let self = this;
          this.operation = rrweb.record({
            emit(event) {
              self.events.push(event);
            },
          });
        }
      通过 <script> 的方式,仅仅引入录制部分代码
        function start() {
          let self = this;
          this.operation = rrwebRecord({
            emit(event) {
                console.log(event,'========')
              self.events.push(event);
            },
            recordCanvas: true, //支持录制canvas
            //其他参数
          });
        }

        function stop() {
          this.operation && this.operation();
        }
    </script>
  </body>
</html>