If you’re going to use ffmpeg from rpmfusion:
Install/add rpmfusion repositories:
sudo rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Remove conflicting packages and install ffmpeg
rpm-ostree override remove conflicting packages --install ffmpeg
If you want to use ffmpeg-free from the regular repositories:
rpm-ostree install ffmpeg-free
If you want to supplement ffmpeg-free with non-free codecs from rpm-fusion:
install rpmfusion repositories and
rpm-ostree install libvacodecs-freeworld
Is this a default Silverblue installation?
Does installing ffmpeg-free and libavcodec-freeworld work?
What you get from: rpm-ostree install --dryrun libavcodec-freeworld
As far as flatpak vs layering packages, this is largely a user decision… there are a ton of opinions.
Choosing between Flatpak and RPM is one, if you search there are several.
I’m leaning towards using flathub because I’m going to have to do extra layering for mesa-va-freeworld (AMD) to get vaapi working.
You can try doing rpm-ostree install --apply-live
and see if that can be done in one shot.