python+webrtc实现网页端远程控制对方电脑远程协助桌面共享代码
代码语言:python
所属分类:其他
代码描述:python+webrtc实现网页端远程控制对方电脑远程协助桌面共享代码,只要在被控端运行下面的python代码,在局域网中其他机器打开浏览器就能远程操控被控电脑桌面协助。
代码标签: python webrtc 网页端 远程 控制 对方 电脑 远程 协助 桌面 共享 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
import asyncio
import json
import logging
import os
import socket
import platform
import time
from aiohttp import web
from aiortc import RTCPeerConnection, RTCSessionDescription
from aiortc.contrib.media import MediaStreamTrack
from av import VideoFrame
import pyautogui
import mss
import numpy as np
# --- 配置 ---
HOST = "0.0.0.0" # 监听所有网络接口
PORT = 8080 # 服务器运行的端口
FPS = 20 # 屏幕共享的帧率
# --- 全局变量 ---
ROOT = os.path.dirname(__file__)
pcs = set()
SCREEN_WIDTH, SCREEN_HEIGHT = pyautogui.size()
# --- HTML 和 JavaScript 客户端代码 (无需改动) ---
HTML_CONTENT = """
<!DOCTYPE html>
<html>
<head>
<title>局域网远程控制器</title>
<style>
body { font-family: sans-serif; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; height: 100vh; margin: 0; background-color: #282c34; color: white; overflow: hidden; }
h1 { margin: 15px 0; }
#container { position: relative; width: 95%; max-width: 1400px; background-color: #000; border: 2px solid #61dafb; box-shadow: 0 0 20px rgba(97, 218, 251, 0.5); }
#remote-video { width: 100%; height: auto; display: block; }
#control-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: crosshair; }
#status { margin-top: 10px; font-size: 1.1em; color: #61dafb; }
.key-info { font-size: 0.9em; color: #aaa; }
</style>
</head>
<body>
<h1>局域网远程控制器</h1>
<div id="container">
<video id="remote-video" autoplay playsinline></video>
<div id="control-overlay"></div>
</div>
<p id="status">正在连接...</p>
<p class="key-info">提示: 点击屏幕区域可捕获键盘。按 Esc 键释放键盘焦点。</p>
<script>
const statusEl = document.getElementById('status');
const videoEl = document.getElementById('remote-video');
const overlay = document.getElementById('control-overlay');
let pc = null;
let dc = null;
let keyboardFocus = false;
async function start() {
pc = new RTCPeerConnection({ iceServers: [].........完整代码请登录后点击上方下载按钮下载查看















网友评论0