Ffmpeg in silverblue

If i install ffpmeg from rom fussion in silverblue, will i able to get accelerated video decode as in silverblue all apps like video player and browser mainly firrfox and brave. Or i need to install apps as rpm to get the benifit

While ffmpeg provides software codecs, for hardware accelerated video decoding, you’ll need to install hardware codecs. You can find more details in rpm fusion guide.

Additionally, hardware acceleration might be disabled by default. For instance, in Firefox, you may enable hardware acceleration by navigating to about:config and setting media.ffmpeg.vaapi.enabled to true.

Directly installing ffmpeg can lead to package conflicts in Silverblue. As an alternative, I recommend installing libavcodec-freeworld and ffmpeg-free to avoid these issues.

And finally, yes. Only native rpm apps can get the benefit.

1 Like

On silverblue I prefer Firefox from flatpak with org.freedesktop.Platform.ffmpeg-full for accelerated video. With this I can avoid layered packages.

For video player I also use io.github.celluloid_player.Celluloid from flatpak. It comes with video accelerated support. But I think you need to do some adjustments. Preferences > Miscellaneous > Extra mpv options = --hwdec=auto-safe --gpu-context=wayland

And lastly for picture and video thumbnails on nautilus I am using layered ffmpegthumbnailer package from rpmfusion.

  • rpm-ostree override remove \
        libavcodec-free \
        libavfilter-free \
        libavformat-free \
        libavutil-free \
        libpostproc-free \
        libswresample-free \
        libswscale-free \
        --install \
            ffmpegthumbnailer `# this is for nautilus video thumbnails / need rpm-fusion repo`
    
1 Like

Any reason you have to remove those *-free packages? They don’t seem to conflict with ffmpegthumbnailer.

The major issue is that ffmpegthumbnailer needs ffmpeg not free to handle not free codecs, but ffmpeg not free is not compatible with ffmpeg-free and those related free packages (though you can get around with layering libavcodec-freeword).