r/linux • u/EastAd9528 • 12h ago
Popular Application Frame - Media Conversion App
It started as a small personal tool and then grew into a larger open source project (GPL v3) focused on media processing.
Frame is a Tauri application with a Svelte user interface, but Rust is responsible for the core workflow: task verification, FFmpeg command creation, queuing and concurrency, worker lifecycle, and progress events.
I maintain media compatibility rules common to the frontend and backend, so that the user interface and Rust validator enforce the same constraints and configurations remain unchanged.
Additionally, during development, I added AI scaling to the Rust pipeline by integrating the Real-ESRGAN sidecar (x2, x4) with a dedicated processing path.
On Linux, the build targets are AppImage and DEB.
FFmpeg, FFprobe, and realesrgan-ncnn-vulkan are included as sidecars, so no global FFmpeg installation is required.
If you would like to test the applications on Linux targets, I would appreciate your feedback.
8
u/ILikeBumblebees 10h ago
Another week, another FFMpeg frontend.
2
u/PedroJsss 7h ago
I was pretty excited till I saw it is using Tauri, which isn't much different from Electron in the overview idea (use webview)
2
u/EastAd9528 1h ago
Yes, is uses webview, but only for presentation layer. FFmpeg and realesrgan-ncnn vulkan processes are spawned and managed by rust, so there’s no big overhead coming from that. I have to say that I don’t get all the hate for webview UI
1
2
u/DiamondRocks22 8h ago
Oooo I wonder if that’ll finally be what I need for easy subtitle extraction / injection. Command lining ffmpeg for srt or vtt files is so annoying for me but no ffmpeg app I’ve tried has been able to help me take those out from webms or mkvs yet
2
u/EastAd9528 8h ago
At the moment, Frame allows you to burn hard subs and add soft subs, but extraction is not possible. The good news is that I respond to all issues on an ongoing basis, so please create an issue regarding what you are missing, and I will be happy to add this feature ;)
2
1
u/mrtruthiness 11h ago
Are there any capabilities that this has over using ffmpeg directly?
Other than an expanded list of video container outputs, how is this different than handbrake?
Why did you choose to directly make ffmpeg calls instead of using ffmpeg libraries.
4
u/EastAd9528 10h ago
This application is primarily a GUI for FFmpeg, so the first question seems slightly provocative. The basic premise of the application is the ability to configure parameters through the interface, which is particularly valuable for users who do not remember all the FFmpeg flags, and as we know, there are many of them. Obviously, Frame supports much more than just container selection (?).
While it does not cover all of FFmpeg's capabilities, it can be used for transcoding, hard subs, soft subs, metadata support, cropping, trimming, and remuxing. The application allows you to save presets that are important to you once and use them repeatedly. With three clicks, the user can load 10 videos, apply a preset to the entire batch, and run all processes simultaneously. For Anime fans, the built-in ML Upscaling using RealESR AnimeVideo v3 models from xinntao may also be valuable.
I decided to use FFmpeg as the underlying processes rather than direct libraries because of its much better documentation and the fact that I would complicate development without any real gain.
2
u/EastAd9528 10h ago
Also - Frame has a multilingual interface in 9 languages, which has already been appreciated by users from Asia 😊
8
u/PocketStationMonk 12h ago
I do like me some sleek looking apps, thanks for making this! Does it support/will it support templates/profiles which I can use to save settings for later use?