Skip to content

✨ Enhancement: Add batch export with progress tracking for multiple recordings #1997

Description

@Swoozlehump

🎯 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! πŸš€

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions