Jatin917/riverside-clone

### 📝 Feature: Generate Edited Video for Client Download

Open

#13 opened on Jul 17, 2025

 (0 comments) (0 reactions) (1 assignee)TypeScript (0 forks)auto 404
enhancementgood first issuehelp wantednextJSnodejstypescript

Repository metrics

Stars
 (4 stars)
PR merge metrics
 (PR metrics pending)

Description

🎯 Goal

Allow clients to download a fully edited video of their recorded session by merging all individual participant recordings, using backend session metadata (e.g. join/leave times).


📦 Context

Each participant's local video/audio is recorded in chunks and uploaded to cloud storage. The backend already tracks:

  • Session ID
  • Participant IDs
  • When each participant joined and left the session

All this info is stored in:

  • sessions table
  • participants table
  • participant_sessions table (contains joined_at and left_at)

✅ Acceptance Criteria

  • Create a backend job/process that:

    • Fetches all uploaded chunks for a session
    • Uses backend metadata to determine layout timeline (who was visible when)
    • Merges participant videos into one final .webm or .mp4
    • Stores the final video in cloud storage
    • Generates a public or signed URL for the user to download
  • Expose an endpoint or UI link:
    GET /sessions/:id/download → triggers or fetches the final video.


💡 Notes

  • Backend should generate a layout manifest based on joined_at / left_at
  • Use ffmpeg (or similar) to merge and render the final output
  • Add retry/failure handling if any chunk is missing

🔗 Related

  • Chunk upload handling
  • Participant session tracking
  • Manifest generation logic

Contributor guide