mofeng-git
|
0db287bf55
|
refactor: 重构 ffmpeg 编码器探测模块
|
2026-03-22 20:19:30 +08:00 |
|
mofeng-git
|
934dc48208
|
feat: 支持在线升级功能
|
2026-02-11 19:41:19 +08:00 |
|
mofeng-git
|
394baca938
|
fix: 补齐 ATX 控制器缺失接口并完成全项目 clippy -D warnings 修复
|
2026-02-10 21:37:33 +08:00 |
|
mofeng-git
|
206594e292
|
feat(video): 事务化切换与前端统一编排,增强视频输入格式支持
- 后端:切换事务+transition_id,/stream/mode 返回 switching/transition_id 与实际 codec
- 事件:新增 mode_switching/mode_ready,config/webrtc_ready/mode_changed 关联事务
- 编码/格式:扩展 NV21/NV16/NV24/RGB/BGR 输入与转换链路,RKMPP direct input 优化
- 前端:useVideoSession 统一切换,失败回退真实切回 MJPEG,菜单格式同步修复
- 清理:useVideoStream 降级为 MJPEG-only
|
2026-01-11 10:41:57 +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
|
d143d158e4
|
init
|
2025-12-28 18:19:16 +08:00 |
|