Skip to content

feat: add audio-only export option (MP3/AAC)#1066

Open
choudharyms wants to merge 1 commit into
magic-peach:mainfrom
choudharyms:feat/audio-export
Open

feat: add audio-only export option (MP3/AAC)#1066
choudharyms wants to merge 1 commit into
magic-peach:mainfrom
choudharyms:feat/audio-export

Conversation

@choudharyms
Copy link
Copy Markdown

Description

This PR adds functionality to extract the audio track directly from an uploaded video using the ffmpeg WASM engine.

  • Extended EditRecipe and ExportResult types to support mp3 and aac, adding them to the UI Format Selector.
  • Refactored VideoEditor to dynamically hide video-specific UI panels (Rotate, Adjustments, Framing, Output Size) when an audio format is chosen for a cleaner UX.
  • Configured the export engine to skip the video stream (-vn) and mapped appropriate audio codecs (libmp3lame and aac).
  • Patched a legacy CDN loading bug in ffmpeg.ts where the WebAssembly SIMD check attempted to fetch a deprecated @ffmpeg/core-simd binary instead of the standard core.

Related Issue

Closes #134

Type of Contribution

  • Bug fix
  • New feature
  • Documentation update
  • GSSoC contribution

Participant Info

  • GitHub username: @choudharyms
  • Contribution level (Beginner/Intermediate/Advanced): Intermediate

Checklist

  • I have read the contribution guidelines
  • My changes follow the project structure
  • I have tested my changes
  • This PR is related to a valid issue
Reframe.Resize.trim.and.export.videos.in.your.browser.-.Google.Chrome.2026-05-19.11-24-24.mp4
image image image

@vercel
Copy link
Copy Markdown

vercel Bot commented May 24, 2026

@choudharyms is attempting to deploy a commit to the magic-peach1's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @choudharyms!

Welcome to Reframe — a browser-based video editor built for everyone 🎬

🟠 GSSoC'26 PR detected — thanks for contributing under GirlScript Summer of Code 2026!

What happens next

  1. 🤖 Automated checks — build & TypeScript typecheck will run automatically
  2. Vercel preview — a preview deployment will be created (requires maintainer authorization for fork PRs)
  3. 👀 Code review — a maintainer will review your changes
  4. 🚀 Merge — once approved, your PR will be merged!

Quick checklist

  • PR title follows Conventional Commits (e.g. feat: add dark mode)
  • Linked the issue this PR closes (e.g. Closes #123)
  • Tested the changes locally (bun run dev)
  • Build passes (bun run build)

Useful links

Happy coding! 🎉

@github-actions
Copy link
Copy Markdown
Contributor

✅ PR Format Check Passed — @choudharyms

Basic format checks passed. A maintainer will review your code changes.

This does not mean the PR is approved — it just means the format is correct.

@github-actions github-actions Bot added gssoc'26 GirlScript Summer of Code 2026 level:advanced Advanced level - 55 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:feature New feature labels May 24, 2026
@choudharyms
Copy link
Copy Markdown
Author

Hi @magic-peach ,

Thank you for the feedback!

Feature Branch: I have closed the previous PR and created a new clean feature branch (feat/audio-export) as requested. I've re-opened the new PR from this branch.
Merge Conflicts: All conflicts have been resolved against the latest main branch.
FFmpeg CDN & SIMD Loading: I verified the loading logic. The implementation keeps the upstream loader (loadFFmpeg) completely untouched—meaning it uses the standard multi-threaded/single-threaded cores loaded via unpkg.com and remains 100% compatible with the project's current loader structure.
All local TypeScript checks (tsc --noEmit), lints, and the Vitest test suites are passing cleanly (77/77 tests passed).

Looking forward to your review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc'26 GirlScript Summer of Code 2026 level:advanced Advanced level - 55 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Enhancement] Add audio-only export option (MP3/AAC)

1 participant