✨ Enhancement: Add batch export with progress tracking for multiple recordings
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 冷清
- 技术栈
- rust, typescript
调研方向
先阅读 apps/desktop 中现有的导出功能和 crates/recording 中的 Rust 编码器管线,然后跟踪当前的 TypeScript–Rust 视频导出入口点。将提议的队列、进度、重试、持久化和暂停/恢复行为与验收标准进行比较;完成意味着所有列出的批处理行为都能正常工作,同时 UI 保持响应。
由索引模型根据 Issue 内容生成。
描述
🎯 Overview
This enhancement introduces the ability to export multiple recordings in batch with real-time progress tracking, pause/resume capabilities, and smart queue management.
🤔 Problem
Currently, users can only export recordings one at a time. For content creators, teams, and power users working with multiple recordings, this becomes tedious and time-consuming, especially when dealing with large files or slow network conditions.
✅ Solution
Implement a batch export system with:
Core Features
- 📦 Bulk Selection: Select multiple recordings from library and queue them for export
- ⏳ Progress Tracking: Real-time progress bar showing:
- Current file being exported
- Overall progress across all queued items
- Estimated time remaining
- Upload/download speed indicator
- ⏸️ Queue Management:
- Pause/resume entire batch or individual items
- Reorder queue items
- Cancel specific exports without affecting others
- ⚙️ Export Presets: Save and apply custom export settings (format, quality, audio settings) to batch operations
- 🔔 Notifications: Completion alerts with summary (total files, duration, file sizes)
Technical Considerations
- Concurrency: Implement configurable concurrent export limit (prevent system overload)
- Resilience: Retry failed exports with exponential backoff
- Performance: Leverage existing Rust encoder pipelines from
crates/recording - State Persistence: Save batch queue to local storage for recovery if app crashes
📊 UI/UX
- New "Batch Export" tab in the main recording library
- Drag-and-drop support for adding recordings to queue
- Visual queue panel showing all pending exports
- Toast notifications for operation status updates
🔗 Related
- Builds on existing export functionality in
apps/desktop - Should integrate with the current video export pipeline (TypeScript + Rust interop)
📝 Acceptance Criteria
- Users can select and queue 2+ recordings for batch export
- Progress tracking displays per-item and overall metrics
- Pause/resume works reliably across all queued items
- Failed exports retry automatically (max 3 attempts)
- UI remains responsive during batch operations
- Queue persists across app sessions
This would significantly improve the workflow for content creators and teams using Cap for collaborative video recording and sharing! 🚀
- 主要语言
- Rust
- 星标
- 22.5k
- 派生
- 1.9k
- 平均合并
- 6 小时 33 分钟
- 30 天内合并 PR
- 77
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
CapSoftware/Cap 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 88/100
CapSoftware/Cap#2305 · 2 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
CapSoftware/Cap#1714 · 3 条评论 ·
-
难度 3/5 1-2 天 新手友好度 58/100
CapSoftware/Cap#2329 · 2 条评论 ·
-
难度 5/5 一周以上 新手友好度 35/100
CapSoftware/Cap#2328 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 67/100
CapSoftware/Cap#2324 · 1 条评论 ·
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
n0-computer/iroh#4550 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
paritytech/zombienet-sdk#591 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
farion1231/cc-switch#7638 · 1 条评论 ·
-
onnx-ir re-exports ModelProto and GraphProto but not NodeProto, AttributeProto and AttributeType 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 75/100