Skip to content

[BUG] Muting the video (keepAudio=false) accidentally drops the uploaded background music track #1579

Description

@Abhishek2005-ard

Describe the Bug

In the Reframe video editor, the keepAudio property is meant to act as a toggle to either keep or mute the original video's audio track. However, the logic that checks for the presence of a background music track strictly requires keepAudio to be true.

Because of this, if a user uploads a custom background music track but decides to mute the noisy original audio of their video, the editor completely discards the background music they just uploaded. The resulting exported video is 100% silent.

Steps to Reproduce

  1. Upload any video file that has sound.
  2. Go to the Audio & Speed section and upload a custom background music file.
  3. Observe that the background music plays in the preview.
  4. Toggle the video player's mute button or set keepAudio to false (e.g., via the volume slider or mute toggle in the UI) to silence the original video noise.
  5. Click Export.
  6. Play the exported video—both the original audio and the uploaded background music are completely silent.

Expected Behavior

Muting the video player (keepAudio = false) should strictly apply to the original video's audio track. Any custom background music uploaded by the user should still be included in the final export, acting as the sole audio track for the video.

Proposed Fix

In src/lib/ffmpeg.ts (inside the exportVideo function), the hasMusicTrack variable is currently tied to recipe.keepAudio. It should be decoupled so that background music is independent of the video's mute state.

Current Code:

const hasMusicTrack = !!(musicOptions?.file && recipe.keepAudio);

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions