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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions