Unfortunately it is difficult to ditch h264 completely, they are not 100% replaceable:
openh264 is used by browsers, video conferencing, webrtc/streaming/online video, is specially optimized for streams because of low latency. ffmpeg is not optimized for it and can result in 1-2 seconds delay, for ex in youtube streams, and video calls may lag.
so this script only removes the dependencies, it masks it, says “i don’t need openh264 for basic operations, use ffmpeg as a fallback”
also research shows that when decoding streaming video:
OpenH264: 15% CPU
ffmpeg: 25-30% CPU
This matters for weak devices and mobile browsers.
so ideal solution (in the modern world) would be disabling it in in repos, but installing the binary manually and having it in the system with manual updates when needed… In situations like this one, I feel like the world is slowly but surely going back to the stone age (((
I must say I’m not an expert on this; it’s my personal understanding after being forced to study the subject after facing this cisco geoblock myself.
Guys… No offense, but have you actually been following this topic? It’s been explained time and again (on GitHub as well) why OpenH264 is a thing: it’s the only legal “libre” way in The Land of the Free* (and a couple other countries) to decode H.264 video; Cisco took it upon themselves to pay all the required royalties to the patent trolls holders, while providing OpenH264 binaries for free – on the condition that the said binaries be hosted on their servers.
* Exceptions may apply.
I’ve never heard of the latency/optimization issues, so can’t comment on that. As for WebRTC, all the major browsers should support royalty-free free alternatives nowadays.
This sounds great, as no one wants lags or delays, especially during calls/streams.
I can’t thoroughly test if there’s any difference myself as i’m mostly working with non audio-video information at the moment and using fairly recent hardware, fortunately did not notice any changes after the block removal.
There is no F43 release yet, so the easiest thing to do would be to wait.
Strange that it is is rawhide though (F44).
You will probably have to reach out to the maintainer to get any more info.
i’ve studied the hardware acceleration page mentioned in some other comments: Hardware Video Acceleration - Fedora Project Wiki (didn’t know about it until now), and discovered that there’s one more driver that my script does not install yet:
Vulkan Video.
If i get it right, it is still experimental but beneficial for 4K+ resolutions and newer laptops (mine included), better than the current standard (VA-API).
Should i include it to the script and set ANV_DEBUG=video-decode,video-encode environment variable so it can be used? does anybody use it?
i have created this script from a common user perspective:
as a user, i want all videos playable and possibly w/ hardware acceleration.
i have installed fedora some 10 times throughout my linux journey and video codecs has always been the issue.
so i thought if we disable the cisco repo and codec, i’d rather make sure all alternatives are available so video playback functions and we can forget about the codecs.
perhaps should divide the codec installation into a separate part.
I started this topic that Fedora is not 100% free. Because of this Cisco thing it is at most 99% free. So it should not pretend, but nobody is taking it seriously. I am devastated.
Although useful, the cisco binary is not required for everyone. Fedora does not install that software by default and it is up to the user if they choose to do so. Fedora does not even enable that repo by default, and instead leaves it up to the user to select that.
The discussion above shows several alternatives without needing the cisco repo.
Thus your premise that that fedora is not 100% free is false.
Not correct, I’m afraid. /etc/yum.repos.d/fcisco-openh264.repo is provided by the package fedora-repos and the file comes with the repository enabled. So the user needs to actively disable fedora-cisco-openh264 if the repository is not wanted.
But as to be free: Everything Fedora distributes are free, but Fedora doesn’t distribute the open264 packages, and also don’t distribute anything you get from rpmfusion.
Fedora says “you get your operating system updated if you go fetch candy from the daddy”. And apparently the candy is not free. Do you feel comfortable saying that Fedora does not play any role here? Saying that Fedora is free for users? Even when it explicitly forces the condition..