Ext4 is a filesystem. That is the part of the kernel that actually stores and retrieves the files on disk. What program are you using to browse files? It’s a bit hard to tell from this screenshot what program it’s a screenshot of, but it looks like Nautilus (the default file browser in GNOME). Is that it?
You have openh264 installed already which should cover your bases. Since it quite clearly isn’t I’m not sure what to suggest. What file manager is this that’s having issues?
And here are instructions from a third party explaining how to tell apt how to install them so they can be kept up to date (be sure you read the warning on the debian.org page about why they don’t tell you to do that before you do it):
Depending on how exactly your file manager works, installing the codec may or may not be sufficient to display thumbnails. If not, there are probably instructions specific to your file manager for installing the appropriate plugin.
ffprobe is included in the ffmpeg package. For future reference you can find what package contains a file by doing dpkg-query -S /bin/ffprobe (note that the path you give it is relative to /usr)
…systemd very much does use the init system to launch userland and GUI processes. That’s how GNOME works.
Dbus is for interprocess communication. The fact that its primary use case is communication between desktop applications is hardly relevant to its design. I don’t see how GUI frameworks are at all relevant, or how it would be possible to create an interprocess communication mechanism that only worked with one GUI framework without some heroic levels of abstraction violation (which I would not put past Qt, but that’s another story).
I don’t see why having an entire dbus daemon running in the background is better than having a cluttered /tmp or /run directory.
They’re Unix sockets, dude, they’re file paths in /run
Data marshalling
Still have to do that with dbus, also that’s the same thing as message formatting
Pubsub
Again, sockets. One application binds and many can connect (how often do you really need more than one application to respond to a method call? That’s a valid reason to use dbus in lieu of sockets, but how often do you need it?)
Method calling, marshalling of arguments and responses
They’re called “unix doors”, and that’s the third time you’ve said marshalling. As for that, language agnostic data marshalling is kind of a solved problem. I’m personally a fan of msgpack but JSON works too if you want to maximize compatibility. Or XML if you really want to piss off the people who interact with your API.
Broadcast and 1:1 messaging
Sockets and doors can only do 1:1, and that’s true enough, but it occurs to me that 99% of use cases don’t need that and thus don’t need dbus. dbus can still be used for those cases, but less load on dbus daemon = less load on system. Also you said that already with pubsub.
As for that blob at the bottom, again, who said anything about there not being a language agnostic library? It’d be a lot of work to make one, sure, but that doesn’t mean it’s impossible. Besides, most of the work has been done for you in the form of language agnostic marshalling libraries which as you said are like 50% of the problem. The rest is just syscalls and minor protocol standardization (how to reference FDs passed through the door in the msgpack data etc.)
And what I’ve just described isn’t a reimplementation of dbus without any of the good parts, it’s a reimplementation of dbus on top of the kernel instead of on top of a daemon that doesn’t need to be there.
It occurs to me that sendmsg() is already kind of a standard, and the problem of drop in replacements could be solved by just making the replacement bind to the same file path and emulate the same protocol, and the problem of automatically starting the daemon could be handled by a systemd socket (or even inetd if you wanna go old school). The only advantage that I can see dbus really having over Unix sockets is allowing multiple programs to respond to the same message, which is a definite advantage but AFAIK not many things take advantage of that.