Show HN: CompressX, my FFmpeg wrapper for macOS (compressx.app)

170 points by hieu_dinh ↗ HN
Hey HN, just wanted to share my success story with CompressX, my FFmpeg wrapper for macOS.

For those who may not be familiar, FFmpeg is a powerful tool for converting, streaming, and recording audio and video content.

I started CompressX as a weekend project to serve my 9-5 jobs, primarily to compress demo videos for uploading to GitLab and sharing with my colleagues. It took me 2 weeks to make the first working version. I shared the demo on Twitter and the reaction was extraordinary. People loved it, they said that I was bringing the Pied Piper to life.

Four months later, I hit the $9,000 mark in revenue. I never expected to make a dime from this project, let alone eight thousand dollars. It's been a surreal experience, but it's also been incredibly rewarding.

I put a lot of time and effort into developing this tool, and it's amazing to see it paying off. It's been a great journey so far and I'm excited to see where it takes me next.

172 comments

[ 2.8 ms ] story [ 210 ms ] thread
I liked your privacy policy and terms of service. Simple and straightforward.
Congrats. But what's your Weissman score?
Doesn't that only apply to lossless compression? I haven't seen the show in quite awhile.
One of my good software purchases this year. Good work, Hieu.
Thanks! Feel free to let me know if you have any feedback
I like the automation features! Good job; it is well-polished Hieu!
Thanks! Feel free to let me know if you need anything
Just interested, how do you manage licensing tarpits around certain video codecs supported by ffmpeg?
"licensing tarpits" patent trolls?
Various codecs ffmpeg supports have legitimate patent licenses. I can't think of any of the patent pools with NPEs, actual patent trolls.
Looks like a good tool for dealing with ffmpeg's infamous variety of command line options. Just curious, how much are you contributing upstream?
> Just curious, how much are you contributing upstream?

Additionally, in terms of code and financial support?

10% of last month revenue was donated to FFmpeg
Now that's responsible Open Source behaviour :) Glad to see people being decent
(comment deleted)
Why would you expect a GUI frontend to contribute upstream?
Can you describe what you did on your twitter and marketing efforts?
I share my journey, the development progress, the SEO learnings, the lessons in public
can you explain why would i pay and use this over Handbrake on a Mac?
You wouldn't, as you know about handbrake. Not trying to be a jerk- but serious.

I saw this go viral on Twitter and commenters had no clue ffmpeg was a thing and thought he built this from scratch.

<whoops, meant to write to OP but messed it up and wrote it here>
the person you're responding to is not the OP
Handbrakes UI is a mess.
how so? you literally select a file, and choose a preset and export. Not happy with one of the presets? Cool, adjust some quality sliders and hit export.
Handbrake settings can be overwhelming for beginners once they escape the playpen of presets, while CompressX provides just a handful of controls, with no bitrates or codec names in sight.
If you're a Handbrake user, you most likely won't need this app. The main feature that I think Handbrake users want to have is the automatic compress new files in a folder, and maybe integration with Raycast extension.
(comment deleted)
While it's true that ffmpeg's license doesn't require you to release the source code of your application, ffmpeg is GPL, and so it's in good form to also make your application open source.

You can still charge for it just as you do now, but it will also give your users the essential freedoms they deserve.

You wouldn't be able to build this tool so easily without the commons of the open source projects you're building upon, and so it seems fair for you to also contribute back to the same commons.

(comment deleted)
FFmpeg is not bundled with the app. User will have to install it separately and link it with CompressX. Hope this explains
He's commenting on the spirit of software released under permissive licenses like GPL.

By selling software built on the backs of free developers, you're effectively profiting off of a significant amount of their work.

I hope you donate a nice chunk of money to ffmpeg. https://ffmpeg.org/donations.html

10% of last month revenue was donated to FFmpeg. Thanks for clarifying
I swear the best looking software like this is all built for MacOS. Maybe there's a lot of it on Windows as well, but I don't see a ton of it on HN (maybe just the demo?).

Is the ecosystem part of this? Is it that the application demographic leans towards MacOS? Is the dev and monetization experience better? I'm really curious if anyone know why I see so much good native indie software for MacOS specifically.

My gut here is folks who buy apple products are far more likely to be willing to spend money on an app, and tend to care about design / polish.
I have spent a lot more money on shitty ugly software on Windows than I have on macOS.

In fact as an almost 100% full time Mac user the only things I've actually bought that run on the Mac are PixelMator and Goodnotes and I paid virtually nothing for either of those.

What did you buy for windows? If you’re using the Mac full time, sounds like you don’t need this software on it?
Minitab was the worst. I learned R because I hated paying for it, using it and using Windows.

$1600 a year for dialog boxes where edit keys don't work in the text boxes properly.

A long time ago, CAD software fit the same hole of dire eye poking life sucking hell machine.

It's because the user interface is actually consistent and normalised across the whole platform and the paradigms are well documented and understood by the developers producing software.

On Windows and Linux one minute you're constantly poked in the eye by fucked up scaling issues, different toolkit weirdness and quirks, various layers of abandoned shit going back 25 years and people with the design ability of a three legged goat with cataracts. It is fatiguing.

but anyone can create an electron app these days with total control over the UI polish with way less effort.

in fact electron seems like the perfect use case here for a ffmpeg UI wrapper. surprised no one has done it.

Electron serves the developer not the user.

It also looks shit on every platform then.

And eats all your RAM

The complaint that Chrome eats all your RAM is because it starts a new process for each tab, with all the overhead that entails. You’re not using multiple tabs in an Electron app.
No instead I run 50 standalone browsers with one tab each on my machine ...
The overheard prevents any one tab from taking out the entire browser though.
Chrome has good reason to use multiple processes, but criticism of Chrome doesn’t necessarily apply to Electron apps.
Not that it really matters I guess, but electron apps are chunky. Huge bin size and large memory usage.
were talking about a tiny desktop app that wraps ffmpeg CLI. this is the perfect use case for it, over, say, VISUAL STUDIO CODE.
I actually think VSCode is one of the best use cases for Electron. It enables a robust and well-documented set of APIs for extension and theme developers, which IMO is why it has one of the most thriving extension ecosystems out there.

Disclaimer: I work at Microsoft, but not in Developer Division.

> It enables a robust and well-documented set of APIs for extension and theme developers

Didn't VIM and Emacs have that for ages? Look at https://vimawesome.com/. I think the remote development extension is nice, but most people would just SSH and run their editor on the server or sync their project's files.

The Emacs APIs aren't exactly robust in the modern sense. They don't have the security and privilege isolation that VS Code's TypeScript APIs have.
The perfect use case for a massive incredibly complex browser runtime is...a tiny desktop app? What?
Do you as a user seriously want a 400MB binary that takes up 1 GB of memory at least just to have a sluggish interface to run a command line program for you when it could be an instant GUI that takes up 1 MB of memory ?

Why would anyone want something taking up literally 1000x the resources it needs to?

People rage about Electron being insecure and bloated, but by Jove it’s a godsend for consistency and portability.
Electron and consistency?? I get Electron being easier to develop for, but it achieves portability by ignoring platform native UI guidelines. There is no consistency at all between electron apps.
Hey, maybe I want to learn two dozen different slightly incompatible UI paradigms! If I don't have constant impedance mismatches I might get lazy and be able to operate my computer with continuous partial attention and actually focus on the task at hand! Shit, just imagine the horror if two different applications could grab keyboard focus correctly without clicking some input field. My fingers might never leave the keyboard!
> There is no consistency at all between electron apps.

No, there is not but there is consistency between platforms of the same electron app. Something that's much harder to do if you write a native app.

The reality is that for most people, they use an app on a sibgle platform (typical end users don’t constantly switch between Windows, Linux, and macOS) so that consistency does not primarily benefit the end-user.
Exactly. The consistency being extolled here is not from the perspective of the users but of the marketing department that wants to warp basic UI conventions in service of making their branding a more pervasive part of the user experience. Users basically never want you to give them an app where even the buttons and scroll bars are changed to comply with your corporate style guide.
On the other hand, if Google Docs had system-native controls for every useragent that could connect to it, nobody would have any clue how to do anything and search for a new online document editor. It's not the overwhelming love for Material design that makes Google Docs look non-native, it's the experiential consistency for enterprise customers and less computer-obsessed end-users. If that amounts to sacrificing usability for branding, then Apple is just as guilty. Design is just part of building a product, and prioritizing your specific OS is not a realistic expectation from cross-platform products.

And for professionals, I don't even wager this consideration takes place at all. I don't see anyone protesting Ableton Live or Pro Tools because their developers didn't use the native MacOS button widget.

People are more than happy to use Microsoft Office…?
I couldn't think of a more branding-heavy native app. It's got the ribbon interface of Windows ported to MacOS, the rowed toolbox with different button sizes, the status-bar on the bottom, it's still basically a Windows app with MacOS widgets.

And generally speaking, yeah, people are happy to use Microsoft Office. The Mac version is nearly identical to the other versions. The "branding" is ignored or even applauded, because it enhances the overall consistency of the app. You might even be able to argue that Office on Mac only feels native because it goes out of it's way to not look Mac-native.

Regardless though, for non-Microsoft-sized companies it's not really realistic to ship, test and maintain multiple versions of the same app. It's much easier to pick one cross-platform framework and commit to it whole-heartedly, which is why we really only see native apps for single-platform or Microsoft-scale apps.

What is Google if not a Microsoft-scale company
What is Google Docs if not a perfectly acceptable Microsoft Word replacement?
The acceptable replacements would be Libre/Open Office, then Pages. The latter has more feature than Google Docs. Where Google Docs shines is when you need collaboration and basic Word processing features.
I remember raging with our designers over this, when building a mobile app. They were insisting on controls that look and feel exactly the same on iOS and Android because of some vague need to have consistent marketing/branding. Which ultimately meant custom controls (sometimes 10x development effort) that were not familiar to users on either platform. No user wants this. It's desired entirely by companies whose design department is too focused on their own designs.

The same is true for desktop applications. No macOS user wants their application to look like a Windows application and no Windows user wants Mac controls.

I grew up with this mindset on macOS/iOS, and went with it for many years.

Apple itself isn't consistent enough anymore for it to matter / there to be one true way. Pick a design system and roll with it, definitely - but slavishly trying to figure out the One True Way on a particular platform A) isn't likely to work out, even just focusing on design B) is a long-term handicap. Most people have a mix of devices in their life.

A soothing thought if that's hard to process: Jony Ive always had something to say about how the hardware becomes the app, especially post-iPhone. People expect the app to be familiar across platforms. (of course, there's all sorts of nerd-sniping caveats from there. Of _course_ you should use the platform's print dialog, etc. But don't get hung up on ex. what the Apple Reminders app looks like this year on iOS and OS X)

Consistency >for portability
I see people say this sometimes but I never see anyone who has used a regular GUI library like FLTK or Qt say this.

Most of the time it's people who only know javascript and have never even heard of GUI libraries that say this.

In my experience, producing a polished Electron/web app takes substantially more effort than it does to produce an AppKit/UIKit equivalent. Those don’t get you multiplatform, but that’s why a lot of devs who care about these things only publish for macOS and iOS.
> UI polish with way less effort.

Clearly not. The least effort is to use the platform’s native widgets, or at least a decent toolkit. Those shiny web-based interfaces suck because the developer never put the effort to make the widgets behave as they should, and that’s because it’s actually very hard and expensive to build a UI framework from the ground up. Have a look at UITextField or NSTextField and what they do out of the box for free, for every single application. Nobody is going to implement half of that in their fancy text boxes. The only reason it takes less effort is that everybody half-arses it.

The consequence is that most Electron apps are a dog’s breakfast and the polar opposite of consistent and well made.

The least effort would be to use Qt. It's way easier to use than the native toolkit(s), and already looks native on every platform.
Going the Electron route is the first and strongest signal that the developer doesn't care about the tid bits that makes a great app. Have never saw a good designed Electron app.
This is a brilliant summary. I mean… less of the goat bashing… but otherwise you summed it up pretty nicely.
I would guess that most people who care about aesthetics don't use Windows. So the only alternative is Mac, and it's the people that care about aesthetics who are the ones that are going to create & buy good looking software.
In terms of UI/UX, I believe Apple provides the best development toolkit and guidelines for developers. I'm not using any custom UI component for CompressX, it's just a few buttons, toggles and a video player, but the overall UI looks good enough and consistent with other applications in the macOS
A lot of it is the frameworks available in Apple platforms. AppKit and UIKit are both wide and deep, providing just about everything needed to build polished apps while also providing well-supported “happy paths” for most tasks.

I can whip up a decent looking AppKit UI for a moderately complex desktop app that can handle the rigors of accessibility settings and internationalization in an afternoon without importing a single third party dependency. That’s hard to beat for indie dev projects.

Also, a beautiful, polished UI is "table stakes" for Apple users. They'll walk away if the application does not look and feel polished. Windows, Linux, Android, and so on users aren't as picky and tolerate less finished/consistent designs.
The two kind of feed into each other. The UI framework is conducive to polished UI, which results in more polished apps, which raises the bar of expectations for users. This then pressures developers to deliver more polished apps.

This is why I think that anybody looking to create a new platform with a similar culture of quality indie apps should put building an capable, pleasant native UI toolkit at the top of their list of priorities. UI toolkits are the lifeblood of platforms.

Apple users are probably the only crowd that would pay money for a simplistic ffmpeg frontend.
Yeah. From the first glance I see a lot of missing details being glossed over. Like what encoder is being used? Output format "mp4" is a container format, so is webm. Knowing the codec is important to decide whether the file is appropriate for where I want to play it. What if my TV doesn't have HEVC support and you are using it inadvertently? Also, what does each quality setting mean? Or the tradeoff between CPU usage and efficiency? Asking ChatGPT to come up with an ffmpeg command has none of these problems as all the details are exposed to you.
These questions make sense to someone technically inclined, but something like the linked app which makes reasonable assumptions (e.g. assuming the user wants the format that is most widely hardware accelerated) is probably a better fit for your average user.
Maybe? But I'll pick paid with a nice UI over ugly/cli-only almost every time if it's something I'll use regularly. I'm not the target market for this specific tool but I pay for a number of tools that I can technically do on my own because I like looking at nice things. Sue me. I get joy from well designed and clean UIs. I can always use more joy in my life.

Polish and ease of use are important to me when using software. Don't get me wrong, I spent a ton of time in the terminal and using less than pretty tools but when possible I like nice tools that do a task well.

Then again if all you see is a "simplistic ffmpeg frontend" then I don't know if I can make you understand the value in accepting less overall functionality in favor of a tool optimized for your specific workflow. And some people, not saying you, take a pride in using the lowest-level, most featureful, more obscure tool. They wear it as a badge of pride and chide anything else as a "toy" or "simplistic". I find this mindset absurd. I all for going to the lower level when needed but people that have this attitude best be writing assembly by hand or they are just cosplaying being "smarter". There is always a lower level, just because someone goes to an arbitrarily lower level doesn't make them "better" but that's the feeling I often get from people like this. Reminds of the "Four Yorkshiremen" sketch: https://www.youtube.com/watch?v=ue7wM0QC5LE

What does it matter? He made $9,000 off of free labor and you didn't.
Another notion among developers as well is macOS users more likely to pay for software.

I myself have this conflict to built something cross platform but then you don’t get well polished out of the box.

What do you folks think about this?

Any success with non macOS non tech savvy users buying your software as much as macOS users?

It is a single screen with about 5 input boxes and a drag and drop interface.

Probably a bit of hyperbole to put this into a category of "best looking software"

Yeah but if you look at a lot of single-screen apps with about 5 input boxes developed for Windows/Linux, they've got a face only a FOSS fanatic could love.
I think it’s partly down to the Mac’s long history of being favoured by creative types… especially designers.

And some developers are either pretty good UI designers too (it happens) or at the very least they have good taste for design. If you’re one of those people, it’s hard not to gravitate towards the Mac.

That and Apple care a lot about design too so as others have said, the platform is kind of setup for guiding you (mostly) towards making good decisions in that area.

Linux apps following Gnome HIG look awesome as well.
This is very, very cool. FFmpeg is an amazing tool but you can't leverage it as a casual user. This makes a lot of sense.

Great looking app too.

Can you share how you did the marketing? Was it just twitter? I'm getting ready to launch an app right now and have no idea where to start with marketing.
I have an audience on Twitter, so when I launch my app on Product Hunt, my audience helped to spread awareness of the launch. If you don't have an audience, I recommend building one. I also launch my app on other SaaS directories to get some traffic from them.
Amazing! Congratulations and so happy for you.

Could you please share the marketing side? I'd love to start a side project as well but I have exactly zero ideas on how to get initial traction.

You can start with getting your idea validated first by making a small demo or MVP and share it somewhere. For me, I use Twitter as the main channel to build an audience and share everything I do publicly there
How large you think should the twitter audience be to get initial traction for an MVP?
You're being modest in describing it as an FFmpeg "wrapper". Although technically true, I can see a lot of thought and effort went into the UX, and I think that's where the value lies. Good job!
Thanks, I just want to make it clear upfront to avoid any confusion
Yes that's exactly right, the extremely complex and clever code in ffmpeg that's understood by about 12 people in the world and is the basis for the entire media consumption in the world isn't where the value is, some gui frontend is.

Do you work for microsoft?

Right, the value add should obviously remain locked in the hands of a few elite professionals and the rest of the world should have to beg and grovel at their feet to get anything done. Any attempts to simplify workflows should be looked at with scorn and an aura of arrogance.

Do you work at Oracle?

You can craft script for ffmpeg using any of the AI chat providers, even a badger can do it. UI is nice, but we have handbrake already.

Do you work for local government?

There are things that are simple to use and user-friendly, but Handbrake is not one of those. Personally I use the command line, but different people have different needs, and it looks like there is a market for some video conversion software that does not scare a normal person.
I agree with the GP here. Yes, you can do all this with just FFMPEG, but now you have to wade through all the docs, flags, values to craft your CLI args with a bit of trial and error. The value add here is a coherent front-end that abstracts away all the complexity and lets you cut right to what you want. Further, if it's something you do infrequently, or your workflow changes, you have to rerun the gaunlet of figuring out what flags/values you need. FFMPEG can do a ton, but most people just need to crunch the file size, transcode, and occasionally convert a snippet into a gif
I had to transcode some files recently. I’m extremely proficient with the ClI, but I would have loved to have a GUI version.
> …you can do all this with just FFMPEG, but now you have to wade through all the docs, flags, values to craft your CLI args with a bit of trial and error. The value add here is a coherent front-end that abstracts away all the complexity and lets you cut right to what you want.

Very true, but just want to note that ChatGPT is also great at creating CLI input for ffmpeg, yt-dlp, etc. And of course, Handbrake remains the O.G. for open source, cross-platform video encoding.

> that's where the value lies

If you're not trying to pick a fight, the more sensical reading of this is "where the value [of this tool] lies".

I don't think ffmpeg is actually _extremely_ complex. A lot of the complexity (all the flags) you feel belonging to ffmpeg actually belongs to encoders (libx264, libx265, aomenc, libvpx, all the hardware encoders from each vendor). They each have various options meaning different things. ffmpeg is just an interface for them.
And it's a genuinely complex problem space. ffmpeg supports some pretty wild audio/video transformations, especially once you start getting into filter graphs (e.g. combining multiple audio/video streams into a single output); its command-line interface reflects that complexity.
That's fair, although the stuff I can do with ffmpeg filters amazes me, and I barely scratch the surface

I tend to include the codec developers in the "ffmpeg developers" for simplicity as there are many that work in both areas.

The complexity in using those codecs isn't the ffmpeg command line, it's knowing which options to use.

Nice work! Out of curiosity, is it calling the FFmpeg CLI or linking directly against FFmpeg libav?
This is actually neat. I know my way around the command line FFmpeg, but this is something I could pretty easily get my dad to use. He does a lot with video but he isn't great with the command line.
I sort of hit a wall with ffmpeg where no matter what settings I used, I'd get slightly better output with Handbrake so now I just handbrake everything.
What’s the command line?
I'm going to miss adapter by macroplant the day it stops working
Looks cool but raises a bunch of questions :-). Maybe you could add these to your FAQ, I imagine picky users like me may want the answers to at least some of these:

"up to 90% file size reduction"

What's an example of an input video or image that would see its size reduced by 90% without loosing quality? Also, how do you come up with this percentage? I imagine median/average size reduction must be way lower than 90% in real life. What if anything happens if size reduction fails?

The app doesn't seem to allow selection of codec (from the video I imagine "format" refers to the container, like say, mp4). Do you always encode using the same codec? Which one? Which ffmpeg settings do you use to ensure good compression? Does the app generate a log of the ffmpeg command used?

Can you trim videos without re-encoding them? ("lossless cut")

The macOS integration on this app is impressive, but the technical compression bits are a combination of ffmpeg and off-the-shelf image compression libraries. The 90% number is a pretty typical (with lossy) image savings when taking a totally unoptimized jpeg out of a program like Photoshop. There's just a bunch of extra data that can be stripped out (EXIF for one), that doesn't affect how the image looks. For video, I have no idea. Handbrake can usually get me around 50% savings with the same resolution and frame rate.

ImageOptim is a good example of a nice UI on top of image compression libraries. Sadly, it hasn't been kept up to date. It's slower and compresses worse than what's possible now. It also doesn't support webp. For my own work, I made an open source clone[0] with the newest stuff in it. I use libcaesium, which is a Rust wrapper around all the compression libraries. Check out the source to see how easy it is.

[0]: https://github.com/blopker/alic

EXIF metadata accounts for so little of the overall file size it isn't even worth mentioning...
This depends on the size of your file. If you have dozens or hundreds of small sprite/UI images for an app or game, image metadata can add up quite a bit overall.
Maybe, maybe not, but there are additional reasons to strip EXIF data. For example, many phones add location data to the images they produce. Posting those images unoptimized online can be a major privacy issue.
Dude this is perfect. I’ve been looking for a modern image optim on and off for years. Thank you for putting in this effort, this will be a huge timesaver for me.
I usually share example of compression result on my Twitter (as the main marketing channel for now), some of the videos was compressed more than 90% of the size, by re-encoding with h264 codec. Thanks for the feedback, I will update the website to add some example videos and images. For trimming without re-encoding, it's not possible in the current version
I’ve seen many videos produced by phones that are at least 10x larger than they need to be. I think they’re trying for some kind of cinematic quality, or maybe expect people to recompress them after the event (or in the worst case are conveniently choosing settings that use up more local and cloud storage so people need to pay to upgrade).

Other low cost video devices (like dashcams) can use higher bitrates and lower compression modes simply because they don’t have the CPU power to use the most optimal settings while also being able to record real-time streams.

You can save a lot of space by re-encoding these types of files on a real computer.

How does your site know that “22 files compressed in the past hour”? Does the app collect this type of metrics from Desktop users, or is there some web-based function that’s being observed?
Thought of this too, how do they know how many GB are being reduced? Hope the analytics can be opted out.
I will implement the option to opt-out anonymous telemetry this week. Thanks for the feedback
I wouldn't even bother. The vocal minority in here complaining about it aren't the people who would even use the software in the first place.
The app connects to telemetrydeck.com. Sadly, couldn't find any opt-out setting.
I'd really urge the author to rethink doing something like this at all. The app looks great but those stats on the front page were an immediate turn-off for me (not to mention how it pops up in what looks like an annoying cookie banner). You can talk about user activity on a web service where it makes sense to be hitting a server, but for a local app that should really just be a nice GUI for ffmpeg, I don't want my computer updating you whenever I use it with data about how I used it.

And the types of users who are going to be using something like an ffmpeg wrapper are the types who are gonna care about something like that.

It's not SaaS anyway, so why would I care about your current to-the-hour success metrics? Might as well just slap your amount of sales up there, it's less intrusive at least. Put some user testimonials, anything other than telemetry data.

Below changes will be implemented this week:

The website: Remove the pop-up & Update privacy & ToS to mention exact what data is tracked and how to opt-in/out from anonymous telemetry

The app: Add the option to opt-in/out anonymous telemetry

Thanks for the feedback

I highly disagree. I think the majority of people who would pay money for a barebones ffmpeg wrapper don't care about telemetry.
Privacy should be the default, not something that is done only when users care enough to fight back.
I agree with you to a point. The problem is that if most people turn it off, then developing the telemetry system was a huge waste of time and resources for not much gain. Valuable data that could have been used to improve the program without any extra work from others may be lost.

Similar to Windows forcing users to update because most of them keep putting it off forever, hurting their own security.

Which users asked for devs to focus on developing a telemetry system (vs developing the app they bought)?
Block this domain with a firewall or DNS filter like NextDNS?
That’s at best a weak band-aid. Who knows if blocking that one domain stops everything? We shouldn’t have to resort to firewalls or DNS filters to stop local apps from collecting our information.
I wouldn't worry about it if I was the developer. Many people on HN might care but most people on average (even semi-technical folks using a tool like this) probably don't care. Most products have some sort of telemetry capabilities built-in (and any smart developer should try and understand their audience and app usage) and the people who care probably tend to on average be more wary about downloading closed-source non-App Store apps anyway etc.
It's not mentioned in the terms of service either.

I would recommend removing this because it's against the GDPR... and even foreign companies have to comply (for the protection of European citizens, wherever they are) if they offer goods and/ or services to citizens in the EU in some way (European region of an app store, ad campaigns in Europe, etc.) I also think that the GDPR is pretty correct in requiring opt-in consent before tracking, so it's "the decent thing".

Thanks for the feedback. I will update it this week.
I wonder how much money you donate to ffmpeg itself. also people are paying for this just for Ui/Ux?