Handbrake Preview Missing GStreamer plugin H.264 (Main Profile) decoder

I have the openSUSE Tumbleweed Packman Essentials installed. I also have Handbrake v.1.3.3 installed from dl.flathub.org. When I open Handbrake and open a source file and select Preview and click the Play button it give the following error:

Missing GStreamer plugin
Audio or Video may not play as expected
H.264 (Main Profile) decoder

What other codec(s) do I need to install to get Preview to work as expected?

Thanks in advance,

Pete

I know nothing about Handbrake, but I can say something in general about the packman repo.

One does not “install” the Packman repo (or any other repo), but adds it to one’s repo list. From that moment in time, you can install packages from that repo. But to have any effect, you should of course do that.

Normally this is done by “Vendor switching to Packman”, that means to replace all the package you have installed from the OSS repo and that are also available on the Packman repo, by those Packman versions.

You can do so using YaST, or zypper. For zypper, you need to know how to identify the Packman repo as it is in the list on that system.

zypper dup --from <number, alias or name of the Packman repo>

I think that is in the package “libx264-160” which comes from the packman repo.

Maybe what I should have said was, “I have the multimedia codecs from the Packman Essentials repository installed and have done the Vendor switching to Packman.”
I also checked and I already have libx264-160 installed.

So, I’m not sure why it isn’t working.

Install all gstreamer packages.

Okay. How do you recommend that I do that?

zypper se -s --provides h264 | grep -i gstreamer

Install them or do it not, my handbreak is working.
I install all gstreamer packages after installation and have no problems.

So it’s on you.

I didn’t install from dl.flathub.org. Why should I?

I ran ‘zypper install handbrake-gtk’. That’s all. And that works.

Let me be clear, handbrake works. It’s the preview in handbrake that is throwing the error that I have in the subject. Is preview working in your handbrake?

Have you installed the gstreamer packages?

You can use my command above to search for all packages, if a package is not installed install it and see, if not working you can delete.

I would begin with gstreamer-plugins-libav

I did. This is what I have installed:

sudo zypper se -s --provides h264 | grep -i gstreamer
i  | gstreamer-plugins-bad                   | package | 1.18.2-4.1              | x86_64 | packman
v  | gstreamer-plugins-bad                   | package | 1.18.2-4.1              | i586   | packman
v  | gstreamer-plugins-bad                   | package | 1.18.2-1.1              | x86_64 | Main Repository (OSS)
v  | gstreamer-plugins-bad                   | package | 1.18.1-1.1              | x86_64 | openSUSE-20201207-0
v  | gstreamer-plugins-bad                   | package | 1.18.2-1.1              | i586   | Main Repository (OSS)
i+ | gstreamer-plugins-bad-32bit             | package | 1.18.2-4.1              | x86_64 | packman
v  | gstreamer-plugins-bad-32bit             | package | 1.18.2-1.1              | x86_64 | Main Repository (OSS)
v  | gstreamer-plugins-bad-orig-addon        | package | 1.18.2-4.1              | x86_64 | packman
i+ | gstreamer-plugins-bad-orig-addon        | package | 1.18.2-4.1              | i586   | packman
i+ | gstreamer-plugins-bad-orig-addon-32bit  | package | 1.18.2-4.1              | x86_64 | packman
i  | gstreamer-plugins-good                  | package | 1.18.2-1.1              | x86_64 | Main Repository (OSS)
v  | gstreamer-plugins-good                  | package | 1.18.1-2.1              | x86_64 | openSUSE-20201207-0
v  | gstreamer-plugins-good                  | package | 1.18.2-1.1              | i586   | Main Repository (OSS)
i+ | gstreamer-plugins-good-32bit            | package | 1.18.2-1.1              | x86_64 | Main Repository (OSS)
i  | gstreamer-plugins-libav                 | package | 1.18.2-54.1             | x86_64 | packman
v  | gstreamer-plugins-libav                 | package | 1.18.2-54.1             | i586   | packman
i+ | gstreamer-plugins-libav-32bit           | package | 1.18.2-54.1             | x86_64 | packman
i+ | gstreamer-plugins-ugly-orig-addon       | package | 1.18.2-4.1              | x86_64 | packman
v  | gstreamer-plugins-ugly-orig-addon       | package | 1.18.2-4.1              | i586   | packman
i+ | gstreamer-plugins-ugly-orig-addon-32bit | package | 1.18.2-4.1              | x86_64 | packman

Based on the command that you provided to list those packages. Preview in handbrake still exhibits the error message I have in the subject.

If I am doing something wrong, please let me know. Sorry, I am very new to OpenSUSE.

First:
Please use Code-Tags for the output from an terminal/ konsole:
https://forums.opensuse.org/showthread.php/536143-Using-Code-Tags-Around-Your-Paste

Its better for reading, I will change your post.

Second:
Maybe this is your problem:

I also have Handbrake v.1.3.3 installed from dl.flathub.org.

Maybe its a problem with the flathub package, I do not install such things.
I prefer the rpms shipped for openSUSE in the Repos:

LANG=C zypper se -s handbrake
Loading repository data...
Reading installed packages...

S  | Name                    | Type       | Version         | Arch   | Repository
---+-------------------------+------------+-----------------+--------+-----------
   | handbrake               | srcpackage | 1.3.3-pm152.3.4 | noarch | packman
   | handbrake               | srcpackage | 1.3.3-pm152.3.2 | noarch | packman
   | handbrake-cli           | package    | 1.3.3-pm152.3.4 | x86_64 | packman
   | handbrake-cli-debuginfo | package    | 1.3.3-pm152.3.4 | x86_64 | packman
   | handbrake-debuginfo     | package    | 1.3.3-pm152.3.4 | x86_64 | packman
   | handbrake-debugsource   | package    | 1.3.3-pm152.3.4 | x86_64 | packman
i+ | handbrake-gtk           | package    | 1.3.3-pm152.3.4 | x86_64 | packman
   | handbrake-gtk-debuginfo | package    | 1.3.3-pm152.3.4 | x86_64 | packman
i+ | handbrake-gtk-lang      | package    | 1.3.3-pm152.3.4 | noarch | packman
v  | handbrake-gtk-lang      | package    | 1.3.3-pm152.3.2 | noarch | packman

Packages with an “i” in the first column are installed.
And I get automatically updates from Packman if a newer package is build for openSUSE.

Thank you for correcting my posting with the CODE Tags. I’ll remember to do that in the future.

You’re probably correct in that the issue is most likely with handbrake installed from flathub.

I take it you’re running LEAP and not Tumbleweed, correct?

Could that be an issue also?

Yes. The preview works. Handbrake transcodes videos. And I can view the result! Note: I never installed fancy packages, see https://forums.opensuse.org/showthread.php/540572-Installing-Packman-Codecs

Somehow, I have it working on this machine that I am posting this on. However, I have not been able to reproduce it on two other machines.

I add the repo and do the dist-upgrade (cut and pasted)

zypper addrepo --refresh --priority 90 http://ftp.fau.de/packman/suse/openSUSE_Tumbleweed/ packmanzypper dist-upgrade --allow-vendor-change --allow-downgrade --from packman

I’m assuming that there are no differences between mirrors? You happened to choose ftp.fau.de versus ftp.gwdg.de, correct?

I then went to your other posting and did this:

sudo zypper refreshsudo zypper dist-upgrade --from packman --allow-vendor-change
sudo zypper install --from packman ffmpeg gstreamer-plugins-bad gstreamer-plugins-libav gstreamer-plugins-ugly libavcodec58 libavdevice58 libavfilter7 libavformat58 libavresample4 libavutil56 vlc-codecs

The problem is,

libavcodec58 libavdevice58 libavfilter7 libavformat58 libavresample4 libavutil56

Are not in the packman repo and don’t get installed as well as the vlc-codecs.

I think if I could get them installed, it would work. Or, if there is some way to decipher what I did to get this machine working, that would be great. The problem is, I did so much trying to get it to work, I am unsure what I did.

Ugh.

I don’t know either what you are doing. The only thing I know for sure is that it doesn’t work. Thus I suggest a procedure that always worked with all installations on all machines listed in the signature of my post.

Get a minimal list of repos. Names and aliases don’t matter. What really matters is the URI. Note priority of repo packman :

**3400G:~ #** zypper lr -uEP 
#  | Alias                            | Name                                           | Enabled | GPG Check | Refresh | Priority | URI 
---+----------------------------------+------------------------------------------------+---------+-----------+---------+----------+-------------------------------------------------------------------------------- 
17 | packman                          | packman                                        | Yes     | (r ) Yes  | Yes     |   90     | http://ftp.fau.de/packman/suse/openSUSE_Tumbleweed/ 
 7 | download.opensuse.org-non-oss    | Haupt-Repository (NON-OSS)                     | Yes     | (r ) Yes  | Yes     |   99     | http://download.opensuse.org/tumbleweed/repo/non-oss/ 
 8 | download.opensuse.org-oss        | Haupt-Repository (OSS)                         | Yes     | (r ) Yes  | Yes     |   99     | http://download.opensuse.org/tumbleweed/repo/oss/ 
 9 | download.opensuse.org-tumbleweed | Hauptaktualisierungs-Repository                | Yes     | (r ) Yes  | Yes     |   99     | http://download.opensuse.org/update/tumbleweed/ 
**3400G:~ #**

Run zypper dist-upgrade. Run again until is says ‘Nothing to do’. Run zypper verify:

**3400G:~ #** zypper dist-upgrade  
Loading repository data... 
Reading installed packages... 
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command. 
Computing distribution upgrade... 

Nothing to do. 
**3400G:~ #** zypper verify 
Loading repository data... 
Reading installed packages... 

Dependencies of all installed packages are satisfied. 
**3400G:~ #**

Now run the following command:

**3400G:~ #** zypper install handbrake-gtk 
Loading repository data... 
Reading installed packages... 
'handbrake-gtk' is already installed. 
No update candidate for 'handbrake-gtk-1.3.3-3.12.x86_64'. The highest available version is already installed. 
Resolving package dependencies... 

Nothing to do. 
**3400G:~ #**

Perform all of the above steps exactly as listed and report success as well as failure.