flathub / org.blender.Blender

https://flathub.org/apps/details/org.blender.Blender
18 stars 26 forks source link

Use the platform ffmpeg #43

Closed bochecha closed 4 years ago

bochecha commented 4 years ago

I've been bundling ffmpeg because of its reputation for API/ABI instability, and to make sure the needed codecs were available.

Upstream ffmpeg apparently improved dramatically on this over the past few years, to the point where we should look into using the platform version.

The Freedesktop platform now provides a limited ffmpeg which doesn't include all the codecs Blender can use, but it also provides an extension with a full ffmpeg.

This allows distributors to preinstall Blender and the platform without the nonfree/patented codecs, and users can choose to add the extension later on.

Fixes #39

flathubbot commented 4 years ago

Started test build 11909

flathubbot commented 4 years ago

Build 11909 successful To test this build, install it from the testing repository:

flatpak install --user https://dl.flathub.org/build-repo/11361/org.blender.Blender.flatpakref
bochecha commented 4 years ago

Alright, so I've tested that the changes here work as intended: if the ffmpeg-full and openh264 extensions are installed then Blender can encode videos with those formats which aren't in the base runtime, and it can't when they aren't.

The problem left is that Blender hardcodes the list of formats it supports in its UI, even if they are not present. Selecting them gets you a small, half-hidden and cryptic "Unable to create encoder" which is terrible UI.

Given that the extensions are normally automatically installed unless people actively choose to avoid them, this might be an ok compromise for now, if it allows Blender to reach more people by being preinstalled on Endless systems.

I tried, but I don't know how to fix that anyway, so someone will need to do that work.

Given all this, let's merge this now.

flathubbot commented 4 years ago

Started test build 11932

flathubbot commented 4 years ago

Build 11932 successful To test this build, install it from the testing repository:

flatpak install --user https://dl.flathub.org/build-repo/11386/org.blender.Blender.flatpakref