Skip to content

Conversation

@devinschumacher
Copy link
Member

No description provided.

- Install @ffmpeg/ffmpeg and @ffmpeg/util dependencies
- Create video.ts module for FFmpeg video/audio conversions
- Update convert.worker.ts to handle video operations
- Support MKV to MP4, WebM, AVI, MOV, GIF, MP3, WAV, OGG conversions
- MKV to MP4 converter
- MKV to WebM converter
- MKV to AVI converter
- MKV to MOV converter
- MKV to GIF converter
- MKV to MP3 audio extractor
- MKV to WAV audio extractor
- MKV to OGG audio extractor

All converters use FFmpeg.wasm for client-side processing
- Added 8 MKV converter tools to tools.json
- Added Video and Music icons for MKV converters
- Tools now appear as cards on homepage
- Use correct FFmpeg API for version 0.12
- Load from CDN with proper URLs
- Fix data buffer return type
- Add better error handling in worker
- Add VideoProgress component with real-time progress display
- Show FFmpeg loading and conversion progress
- Add file size warnings for large video files
- Optimize for speed: use remuxing (copy codec) for MKV→MP4/MOV
- Use faster encoding presets (ultrafast) when re-encoding needed
- Add Alert component for user warnings
- Explain remuxing vs converting to users

Performance improvements:
- MKV→MP4/MOV now uses -c copy (fast remux, no re-encoding)
- Reduced resolution to 720p max for faster processing
- Changed from VP9 to VP8 for WebM (faster)
- Use ultrafast x264 preset instead of medium
- Remove ArrayBuffer transfer that was causing empty blobs
- Add validation for blob data before saving
- Add logging to debug file sizes
- Ensure proper Uint8Array to ArrayBuffer conversion
- Add error handling for empty outputs
@devinschumacher devinschumacher merged commit 293fec2 into main Aug 14, 2025
@devinschumacher devinschumacher deleted the feat/mkv-video-converters branch August 14, 2025 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants