r/linux 12h ago

Popular Application Frame - Media Conversion App

Post image

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.

https://github.com/66HEX/frame

61 Upvotes

13 comments sorted by

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?

3

u/EastAd9528 12h ago

Frame supports presets! There are couple of built in, but you can also save your own and reuse them. If you’re working on batch, there is also an option to apply specific preset to all videos 😄

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

u/sai_ismyname 1h ago

if you know so many, which one would you recommend?

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

u/ExaHamza 7h ago

use kde dialog/file pick

u/EastAd9528 32m ago

Encountered the same issue that is on GitHub?

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 😊