mofeng-git
|
ad401cdf1c
|
refactor(web): 前端代码规范化重构
- 集中化 HID 类型定义到 types/hid.ts,消除重复代码
- 统一 WebSocket 连接管理,提取共享工具到 types/websocket.ts
- 拆分 ConsoleView.vue 关注点,创建 useVideoStream、useHidInput、useConsoleEvents composables
- 添加 useConfigPopover 抽象配置弹窗公共逻辑
- 优化视频容器布局,支持动态比例自适应
|
2026-01-02 21:24:47 +08:00 |
|
mofeng-git
|
427751da24
|
perf(rustdesk): 优化视频流性能和修复管道重启问题
- 使用 bounded channel(4) 替代 unbounded channel 提供背压控制
- 配置 protobuf 使用 bytes::Bytes 类型实现零拷贝
- 添加 encode_frame_bytes_zero_copy 方法避免帧数据拷贝
- 预分配 128KB 发送缓冲区减少内存分配
- 添加 write_frame_buffered 函数复用缓冲区
- 修复视频管道重启后 RustDesk 连接不恢复的问题
- 实现双层循环自动重新订阅新管道
- 修复 WebRTC set_bitrate_preset 中 video_frame_tx 被清除的问题
- 删除冗余的 RegisterPeer 日志
|
2026-01-02 18:53:05 +08:00 |
|
mofeng-git
|
28ecf951df
|
feat(rustdesk): 优化视频编码协商和添加公共服务器支持
- 调整视频编码优先级为 H264 > H265 > VP8 > VP9,优先使用硬件编码
- 对接 RustDesk 客户端质量预设 (Low/Balanced/Best) 到 BitratePreset
- 添加 secrets.toml 编译时读取机制,支持配置公共服务器
- 默认公共服务器: rustdesk.mofeng.run:21116
- 前端 ID 服务器输入框添加问号提示,显示公共服务器信息
- 用户留空时自动使用公共服务器
|
2026-01-02 17:22:34 +08:00 |
|
mofeng-git
|
04e62d1e3f
|
perf(video): 改善视频卡顿问题并优化编码性能
改善内容:
1. NAL单元duration累积bug修复
- 修改video_track.rs和unified_video_track.rs
- 只有帧内最后一个NAL获得frame_duration,其他为ZERO
- 确保同一帧的所有NAL共享相同的RTP时间戳
2. 修复VP8/VP9固定1秒duration错误
- 将Duration::from_secs(1)改为正确的frame_duration计算
3. PTS计算优化(shared_video_pipeline.rs)
- 将pipeline_start_time从Mutex<Option<Instant>>改为AtomicI64
- 消除每帧一次的async mutex lock
- 使用compare_exchange实现无锁的首帧时间设置
4. 避免重复读取config
- 在encode_frame中缓存fps,避免末尾再次获取config锁
5. 编码器零拷贝优化
- H264/H265/VP8/VP9编码器使用drain()替代clone()
- 减少内存分配和拷贝开销
6. MJPEG处理器优化
- 无客户端时跳过JPEG编码(WebRTC-only模式优化)
7. RKMPP YUYV直接输入支持
- hwcodec C++层添加YUYV422格式支持
- H264编码器添加Yuyv422输入格式选项
|
2026-01-02 11:58:55 +08:00 |
|
mofeng-git
|
0fc5be21c6
|
refactor: 清理死代码和优化日志级别
- 删除未使用的函数和常量
- create_public_key_message (rustdesk/connection)
- decode_audio_packet, AudioPacketHeader (web/audio_ws)
- io_error_to_hid_error, close_device, close_all_devices (hid)
- shutdown_rx (rustdesk/mod)
- CONNECT_TIMEOUT_MS, RESP_ERR_SEND_FAILED
- 调整日志级别
- Session lagged: warn -> debug
- 移除 H264 NAL trace 日志
- 移除 Frame distribution lagged trace 日志
- 移除 absolute mouse report trace 日志
- 优化 broadcast channel 缓冲区大小 8 -> 16
- 修复条件编译
- static_files.rs: 添加 debug_assertions 条件
|
2026-01-02 01:48:44 +08:00 |
|
mofeng-git
|
13516d5cbd
|
perf(video): 优化视频管道性能降低延迟
- 减少 broadcast channel 缓冲区大小以降低延迟
- 将 Mutex 字段改为原子类型减少锁竞争
- 使用本地计数器批量更新统计信息
- 修复 WebRTC 帧持续时间计算基于实际 FPS
- 不再自动缩放码率,保留用户配置值
|
2026-01-01 13:31:51 +08:00 |
|
mofeng-git
|
6740c41188
|
feat(video): 添加视频管道无订阅者自动停止功能
- SharedVideoPipeline: 添加 3 秒宽限期,无订阅者后自动停止
- Streamer: 添加 5 秒空闲检测,无 MJPEG/其他消费者后停止分发
- WebRtcStreamer: 添加管道监控任务,自动清理已停止的管道资源
- 修改方法签名使用 Arc<Self> 以支持弱引用回调
|
2026-01-01 10:36:30 +08:00 |
|
mofeng-git
|
bc85810849
|
fix(video): 修正默认码率配置并优化软件编码器
- 将默认码率从 8 Mbps 降至 1 Mbps,更适合嵌入式设备
- 修复 WebRtcConfig 中 max_bitrate < target_bitrate 的逻辑错误
- 优化 libx264/libx265 软件编码器的低延迟配置
- 优化 libvpx (VP8/VP9) 的实时编码参数
|
2025-12-31 22:04:58 +08:00 |
|
mofeng-git
|
a8a3b6c66b
|
feat: 添加 RustDesk 协议支持和项目文档
- 新增 RustDesk 模块,支持与 RustDesk 客户端连接
- 实现会合服务器协议和 P2P 连接
- 支持 NaCl 加密和密钥交换
- 添加视频帧和 HID 事件适配器
- 添加 Protobuf 协议定义 (message.proto, rendezvous.proto)
- 新增完整项目文档
- 各功能模块文档 (video, hid, msd, otg, webrtc 等)
- hwcodec 和 RustDesk 协议技术报告
- 系统架构和技术栈文档
- 更新 Web 前端 RustDesk 配置界面和 API
|
2025-12-31 18:59:52 +08:00 |
|
mofeng-git
|
d143d158e4
|
init
|
2025-12-28 18:19:16 +08:00 |
|