H265 videos won't play in totem after installing all codecs

After going through all the multimedia codec install steps like in the link below, I continue to be unable to play H265 videos in Fedora Videos.

If I try to play the file, I’ll just see green vertical bars on the screen. The same video will play fine in VLC.

Any ideas? Trying to avoid distro-hopping this time, so I’d really like to figure out what I’m doing wrong.

Is it necessary to use totem instead of VLC.?
The app is enough different that it seems to not access the same codecs. After all VLC is provided by rpmfusion and totem is provided by fedora. As such totem seems restricted in the codecs it uses while VLC can use all codecs available.

MPV also uses more codecs than totem.
Have you installed ffmpeg and libavcodec-freeworld (both from rpmfusion)?

It is not necessary, I just want totem to work. There should be a way right?

I did have ffmpeg installed, but libavcodec-freeworld was not. After installing it, I continue to get the same error when trying to play h265 videos.

image

You may then need the libde265 and/or the x265-libs package from the rpmfusion-free repo.

Both are already installed.

Edit: I had this working with Arch. After distro-hopping back to Fedora, seems like there should be some way to make it work.

I had to install gstreamer1-libav
sudo dnf install gstreamer1-libav

Reference here:

gstreamer1-libav is already installed

The results of:
sudo dnf list installed gstreamer* ffmpeg* libav*

Installed Packages
ffmpeg.x86_64                               6.0-11.fc38                                @rpmfusion-free-updates        
ffmpeg-libs.x86_64                          6.0-11.fc38                                @rpmfusion-free-updates        
ffmpegthumbnailer.x86_64                    2.2.3-0.4.20210902gitd92e191.fc38          @rpmfusion-free                
gstreamer1.i686                             1.22.5-1.fc38                              @updates-testing               
gstreamer1.x86_64                           1.22.5-1.fc38                              @updates-testing               
gstreamer1-plugin-libav.x86_64              1.22.5-1.fc38                              @updates                       
gstreamer1-plugin-openh264.x86_64           1.22.1-1.fc38                              @fedora-cisco-openh264         
gstreamer1-plugins-bad-free.x86_64          1.22.5-1.fc38                              @updates-testing               
gstreamer1-plugins-base.x86_64              1.22.5-1.fc38                              @updates-testing               
gstreamer1-plugins-good.x86_64              1.22.5-1.fc38                              @updates-testing               
gstreamer1-plugins-good-gtk.x86_64          1.22.5-1.fc38                              @updates                       
gstreamer1-plugins-good-qt.x86_64           1.22.5-1.fc38                              @updates-testing               
gstreamer1-plugins-ugly.x86_64              1:1.22.3-1.fc38                            @rpmfusion-free-updates-testing
gstreamer1-plugins-ugly-free.x86_64         1.22.5-1.fc38                              @updates-testing               
libavdevice.x86_64                          6.0-11.fc38                                @rpmfusion-free-updates        
libavif.x86_64   

I also have mpv installed.

I’m playing a file from MP4 ( H.265 ) | Test Videos

Here are my results. Now wondering if I have conflicting gstreamer1 plugins.

Edit: I can play that sample video. Not sure what the deal is now.

Can you point us to one of the videos that does not play for you? I also can play that sample file with totem, mpv, and vlc, as well as in my chrome browser.

$ dnf list installed ffmpeg* gstreamer* libav* *265*
Installed Packages
ffmpeg.x86_64                                                      6.0-11.fc38                               @rpmfusion-free-updates
ffmpeg-devel.x86_64                                                6.0-11.fc38                               @rpmfusion-free-updates
ffmpeg-libs.x86_64                                                 6.0-11.fc38                               @rpmfusion-free-updates
gstreamer1.i686                                                    1.22.5-1.fc38                             @updates               
gstreamer1.x86_64                                                  1.22.5-1.fc38                             @updates               
gstreamer1-plugin-libav.x86_64                                     1.22.5-1.fc38                             @updates               
gstreamer1-plugin-openh264.x86_64                                  1.22.1-1.fc38                             @fedora-cisco-openh264 
gstreamer1-plugins-bad-free.x86_64                                 1.22.5-1.fc38                             @updates               
gstreamer1-plugins-bad-free-extras.x86_64                          1.22.5-1.fc38                             @updates               
gstreamer1-plugins-bad-freeworld.x86_64                            1:1.22.3-1.fc38                           @rpmfusion-free-updates
gstreamer1-plugins-base.x86_64                                     1.22.5-1.fc38                             @updates               
gstreamer1-plugins-good.x86_64                                     1.22.5-1.fc38                             @updates               
gstreamer1-plugins-good-extras.x86_64                              1.22.5-1.fc38                             @updates               
gstreamer1-plugins-good-gtk.x86_64                                 1.22.5-1.fc38                             @updates               
gstreamer1-plugins-good-qt.x86_64                                  1.22.5-1.fc38                             @updates               
gstreamer1-plugins-good-qt6.x86_64                                 1.22.5-1.fc38                             @updates               
gstreamer1-plugins-ugly.x86_64                                     1:1.22.3-1.fc38                           @rpmfusion-free-updates
gstreamer1-plugins-ugly-free.x86_64                                1.22.5-1.fc38                             @updates               
gstreamer1-svt-av1.x86_64                                          1.4.1-2.fc38                              @fedora                
gstreamer1-svt-vp9.x86_64                                          0.3.0-9.fc38                              @fedora                
gstreamer1-vaapi.x86_64                                            1.22.5-1.fc38                             @updates               
libavc1394.x86_64                                                  0.5.4-19.fc38                             @fedora                
libavcodec-freeworld.x86_64                                        6.0-11.fc38                               @rpmfusion-free-updates
libavdevice.x86_64                                                 6.0-11.fc38                               @rpmfusion-free-updates
libavif.x86_64                                                     0.11.1-7.fc38                             @anaconda              
libavif-tools.x86_64                                               0.11.1-7.fc38                             @fedora                
libde265.x86_64                                                    1.0.12-1.fc38                             @rpmfusion-free-updates
x265-libs.x86_64                                                   3.5-5.fc38                                @rpmfusion-free        

I just used handbrake to transcode (Matroska H.265 MKV 1080p30) the Big Buck Bunny 1080p video that I had downloaded. After doing this the result mkv file is not viewable with totem on my system. You just see green bars or other weird design on the screen and error message. Not sure if it is okay to reshare the Buck Bunny mkv file that I made. It should be just as easy for you to create one for yourself.

I was also able to play that.

Can you check:
lspci -k | grep -A3 -i 'vga'
glxinfo | grep 'direct rendering\|OpenGL renderer'
or if you have inxi installed just do:
inxi -Gz

When I tested it I just downloaded the original then played it. I even picked the 30MB file size so I was sure my test was on the max resolution they had available.
Downloaded it with

wget https://test-videos.co.uk/vids/bigbuckbunny/mp4/h265/1080/Big_Buck_Bunny_1080_10s_30MB.mp4

I’m using Ryzen 5600G graphics.

$ inxi -Gz
Graphics:
Device-1: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series]
driver: amdgpu v: kernel
Display: wayland server: X.Org v: 22.1.9 with: Xwayland v: 22.1.9
compositor: gnome-shell v: 44.3 driver: dri: radeonsi gpu: amdgpu
resolution: 2560x1440~60Hz
API: OpenGL v: 4.6 Mesa 23.1.5 renderer: AMD Radeon Graphics (renoir LLVM
16.0.6 DRM 3.52 6.4.9-200.fc38.x86_64)

Does mpv work or the flatpak version of totem?

Mpv does work. If I use the flatpak version of totem, the video doesn’t play or show the green bars/distortion on the screen. It shows this instead.

This is a bit late, but I ran into this exact issue. And since I have 2 F39 boxes, and it worked on one but not the other, it turned out to have nothing to do with installed packages.

I had to remove the gstreamer cache file for gstreamer to pick up I had libav installed:

rm ~/.cache/gstreamer-1.0/registry.x86_64.bin
rm ~/.cache/gstreamer-1.0/registry.i686.bin

Figured I’d put this here for future people stumbling on this!

4 Likes

This has finally solved this issue that has plagued me throughout EVERY Fedora installation!
Thank you so much!!
After removing the cache, totem is now able to properly play all H265 encoded videos.

1 Like

Glad to hear it!

1 Like

Thank you so much, I’ve spent the whole evening trying to find a solution for gstreamer pipeline not working (it was using avdec_h265), even though I had all the necessary plugins installed. Removing the cache was it… I wonder how to fix it on the package level, so that other people don’t have the same problem.