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
|
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
|
d0e2e13b35
|
refactor(hwcodec): 简化 hwcodec 库以适配 IP-KVM 场景
移除 IP-KVM 场景不需要的功能模块:
- 移除 VRAM 模块 (GPU 显存直接编解码)
- 移除 Mux 模块 (视频混流)
- 移除 macOS/Android 平台支持
- 移除外部 SDK 依赖 (~9MB)
- 移除开发工具和示例程序
简化解码器为仅支持 MJPEG (采集卡输出格式)
简化 NVIDIA 检测代码 (使用 dlopen 替代 SDK)
更新版本号至 0.8.0
更新相关技术文档
|
2025-12-31 19:47:08 +08:00 |
|
mofeng-git
|
d143d158e4
|
init
|
2025-12-28 18:19:16 +08:00 |
|