problem with playing video files

Hello.
I have a problem with SUSE-Linux-Enterprise-Desktop-11-SP4 11.4.4-1.44.
Video files (except .avi files) do not playing. Programms write:
“PackageKit-gstreamer-plugin require Decoder H.264. Find it now?”. Then I klick “Find” and programm write: “Can not find”. There’s no updates now for this version Linux.
Please, help to desolve the problem.
Best regards.
Yulia

Hi and welcome to the forum :slight_smile:
Yes, this is the case with both SUSE and openSUSE.

You can either purchase the fluendo codec pack or add the packman repository and via YaST software Managerment switch the system packages (eg gstreamer) to the tweaked packages;

Change to a mirror in your locale from the list here;

http://packman.links2linux.org/mirrors

Use zypper rather than YaST, eg;

zypper ar -f -g -n "Packman" http://packman.inode.at/suse/SLE_11/ repo-packman
zypper ref
zypper dup --from repo-packman

Pack an is a good idea. But SUSE has been clever.
SUSE 12.2 is e,g. Leap 42.2
SUSE 12.3 is Leap 42.3
so both systems are very alike.
You can use a installer from opensuse “media files” as well and install the missing condecs. Then install VLC player NOT from SUSE or Open Suse but directly or from packman. You cange the default application in YAST-Settings-Details to VLC.
For Firefox you need to install HTML5- Flash add and for Facebook Facebook flash codec.
Then it works.

You can play video files with hardware acceleration on SLED12 with Fluendo ONEPlay Codec Pack (20.- €):

https://fluendo.com/en/products/multimedia/oneplay-codec-pack/

https://en.wikipedia.org/wiki/GStreamer#Video_acceleration

You can’t play HTML5 videos with hardware acceleration on SLED12! See:

https://bugzilla.mozilla.org/show_bug.cgi?format=default&id=563206

https://bbs.archlinux.org/viewtopic.php?id=206265

General support for SLED 11 SP4 finished at the end of March 2016, so no more security updates…
https://www.suse.com/lifecycle/

SLES 11 SP4 ends in 2019 which still has security updates…

An update for SLED15 SP1:

To play local video files in Totem (GNOME Videos) on a machine with hardware video acceleration by Intel GPU (Intel Quick Sync Video => VA API) you have to install this rpm packages:

  • oneplay-gstreamer-codecs-pack (from FLUENDO)

# rpm -q oneplay-gstreamer-codecs-pack oneplay-gstreamer-codecs-pack-22-2.x86_64

  • intel-vaapi-driver (from repository SLE-Module-Desktop-Applications15-SP1-Pool)

# rpm -q intel-vaapi-driver intel-vaapi-driver-2.2.0-4.27.x86_64

# rpm -q gstreamer-plugins-vaapi gstreamer-plugins-vaapi-1.12.5-bp151.3.1.x86_64

Gstreamer-plugins-vaapi supports only intel-vaapi-driver (/usr/lib64/driv/i965_drv_video.so). Gstreamer-plugins-vaapi doesn’t yet support intel-media-driver (/usr/lib64/dri/iHD_drv_video.so).
https://wiki.archlinux.org/index.php/Hardware_video_acceleration

You must deinstall rpm package intel-media-driver.

Check the correct installation of VA-API:

[CODE]# rm -R ~/.cache/gstreamer-1.0/

gst-inspect-1.0 |grep -i vaapi:

vaapi: vaapijpegdec: VA-API JPEG decoder
vaapi: vaapimpeg2dec: VA-API MPEG2 decoder
vaapi: vaapih264dec: VA-API H264 decoder
vaapi: vaapivc1dec: VA-API VC1 decoder
vaapi: vaapivp8dec: VA-API VP8 decoder
vaapi: vaapivp9dec: VA-API VP9 decoder
vaapi: vaapih265dec: VA-API H265 decoder
vaapi: vaapipostproc: VA-API video postprocessing
vaapi: vaapidecodebin: VA-API Decode Bin
vaapi: vaapisink: VA-API sink
vaapi: vaapimpeg2enc: VA-API MPEG-2 encoder
vaapi: vaapih265enc: VA-API H265 encoder
vaapi: vaapivp8enc: VA-API VP8 encoder
vaapi: vaapivp9enc: VA-API VP9 encoder
vaapi: vaapijpegenc: VA-API JPEG encoder
vaapi: vaapih264enc: VA-API H264 encoder[/CODE]

Now Totem plays smoothly local video files with H.264/AVC+AAC or H.265/HEVC+AAC up to Ultra HD resolution (3840x2160@60fps).

Test video files are available under:
http://bbb3d.renderfarming.net/download.html

An update for SLED15 SP1:

To play HTML5 videos in format H.264/AVC+AAC from websites in web browser Firefox ESR 68 you have to rebuild the rpm packages libavcodec57 and libavformat57.

Firefox ESR 68 use the libraries libavcodec57 and libavformat57 for video codec and audio codec decoding. Both libraries are part of ffmpeg.
https://en.wikipedia.org/wiki/FFmpeg

Libavcodec57 has in the source code tar ball (ffmpeg-3.4.2.tar.xz) from upstream a H.264/AVC decoder and an AAC decoder “on board”.

SUSE don’t want to pay license fees for a H.264/AVC decoder to MPEG LA (https://www.mpegla.com/).
SUSE don’t want to pay license fees for an AAC decoder to VIA Licensing (https://www.via-corp.com/).

For this reason SUSE disabled the H.264/AVC decoder and the AAC decoder in rpm package libavcodec57.

Libavcodec57 is available in repository SLE-Module-Desktop-Applications15-SP1-Updates.
Libavformat57 is available in repository SLE-Product-WE15-SP1-Updates.

This article describe the steps to rebuild rpm package libavcodec57 and libavformat57 with enabled H.264/AVC decoder and AAC decoder:

[SIZE=5]Warning: For a H.264/AVC decoder and an AAC decoder in binary form (=> RPM package) license fees may apply![/SIZE]

You should prepare your SLED15 installation for rebuilding a rpm package:

[CODE]# su

zypper install rpm-build[/CODE]

rpm-build is available in repository SLE-Module-DevTools15-SP1-Pool. If nessecary, activate this repository with the command:
https://forums.suse.com/showthread.php?14323-cannot-find-rpm-build-for-SLES-15-SP1

[CODE]# su

SUSEConnect --list-extensions

SUSEConnect -p sle-module-development-tools/15.1/x86_64[/CODE]

Now you can download the source rpm package (*.src.rpm). An easy way is by:

[CODE]# su

zypper install libavcodec57

zypper install libavformat57

zypper source-download --no-delete --directory /tmp

=> Cancel download with key combination - when ffmpeg source rpm package is fully downloaded[/CODE]

=> see chaptre “6.1.3.5 - Installing or Downloading Source Packages” in SUSE Linux Enterprise Desktop 15 SP1 - Administration Guide" for more information (https://documentation.suse.com/).

Extract /tmp/ffmpeg-3.4.2-4.27.1.src.rpm (with file-roller) and copy all source files to /usr/src/packages/SOURCES

[CODE]ls -alh /usr/src/packages/SOURCES
-rw------- 1 root root 122 26. Aug 2016 baselibs.conf
-rw------- 1 root root 1.6K 4. Jan 16:41 enable_decoders
-rw------- 1 root root 723 7. Sep 2017 enable_encoders

-rw------- 1 root root 8.1M 15. Feb 2018 ffmpeg-3.4.2.tar.xz
-rw------- 1 root root 473 15. Feb 2018 ffmpeg-3.4.2.tar.xz.asc
-rw------- 1 root root 503 20. Feb 2017 ffmpeg-arm6l.diff
-rw------- 1 root root 2.3K 31. Mai 2017 ffmpeg-codec-choice.diff
-rw------- 1 root root 724 15. Okt 2018 ffmpeg-CVE-2017-17555.diff
-rw------- 1 root root 411 23. Okt 2018 ffmpeg-CVE-2018-12458.patch
-rw------- 1 root root 697 15. Okt 2018 ffmpeg-CVE-2018-13300.patch
-rw------- 1 root root 59K 8. Jul 04:09 ffmpeg-CVE-2018-13301.patch
-rw------- 1 root root 607 16. Jul 2018 ffmpeg-CVE-2018-13302.patch
-rw------- 1 root root 770 23. Okt 2018 ffmpeg-CVE-2018-13305.patch
-rw------- 1 root root 562 16. Nov 2018 ffmpeg-CVE-2018-14394.patch
-rw------- 1 root root 554 15. Nov 2018 ffmpeg-CVE-2018-14395.patch
-rw------- 1 root root 660 15. Okt 2018 ffmpeg-CVE-2018-15822.patch
-rw------- 1 root root 3.8K 27. Jul 2018 ffmpeg-CVE-2018-1999010.patch
-rw------- 1 root root 1.2K 27. Jul 2018 ffmpeg-CVE-2018-1999011.patch
-rw------- 1 root root 1.1K 27. Jul 2018 ffmpeg-CVE-2018-1999012.patch
-rw------- 1 root root 1.1K 27. Jul 2018 ffmpeg-CVE-2018-1999013.patch
-rw------- 1 root root 1.6K 10. Jun 2019 ffmpeg-CVE-2019-12730.patch
-rw------- 1 root root 573 19. Nov 12:08 ffmpeg-CVE-2019-17542.patch
-rw------- 1 root root 2.0K 12. Jun 2019 ffmpeg-CVE-2019-9718.patch
-rw------- 1 root root 976 2. Nov 2017 ffmpeg-libcdio_cdda-pkgconfig.patch
-rw------- 1 root root 3.1K 2. Nov 2017 ffmpeg-new-coder-errors.diff
-rw------- 1 root root 219 12. Jan 2016 ffmpeg-rpmlintrc
-rw------- 1 root root 59K 4. Jan 17:11 ffmpeg.spec[/CODE]

Install all necessaries dependencies as rpm packages for rebuild ffmpeg:
alsa-devel fribidi-devel libbz2-devel libexpat-devel lib-devel enca-devel libgmpxx4 gmp-devel libnettle-devel libtasn1-devel p11-kit-devel tack xz-devel libgnutls-devel ncurses-devel readline-devel
libxml2-devel celt glu-devel libdc1394-devel libjack-devel libjacknet0 libjackserver0 libraw1394-devel libtheora0 libwebpdecoder2 libwebextras0 libbluray-devel libcelt-devel libjack-devel libtheora-devel
libwebp-devel libSDL2-devel libSDL2-2_0-0 libiso9660-10 libudf0 libswresample-devel freetype2-devel fontconfig-devel libcdio++0 libcdio-devel nasm libavresample3 libavresample-devel libavcodec-devel
libavformat-devel libcdio-paranoia-devel graphite2-devel libicu-devel libogg-devel libpulse-devel speexdsp-devel harfbuzz-devel libvorbis-devel speex-devel libtasn1-devel ncurses-devel readline-devel
libgnutls-devel glu-devel libgsm-devel libmp3lame-devel libopus-devel libraw1394-devel libtwolame-devel libvdpau-devel libwebp-devel openjpeg-devel libass-devel libbluray-devel libdc1394-devel
libcdio-devel libcdio-paranoia-devel libva-devel

Add two lines to /usr/src/packages/SOURCES/enable_decoders:

aac # enable AAC decoder - license fees may apply h264 # enable H.264/AVC decoder - license fees may apply

Modify /usr/src/packages/SOURCES/ffmpeg.spec:

1.) Replace all lines with:
Old:

This build of ffmpeg is limited in the number of codecs supported.

New:

Special version - with H.264/AVC decoder and AAC decoder - license fees may apply.

2.) Remove lines:

[CODE]BuildRequires: ladspa-devel
BuildRequires: pkgconfig(liboil-0.3) >= 0.3.15
BuildRequires: pkgconfig(zvbi-0.2)

–enable-ladspa \
–enable-libzvbi \[/CODE]

3.) Modify this lines:

Old:

--disable-decoder=mpeg4,h263,h264,hevc,vc1 \\

New:

--disable-decoder=mpeg4,h263,hevc,vc1 \\

Old:

for i in MPEG4 H263 H264 HEVC VC1; do

New:

for i in MPEG4 H263 HEVC VC1; do

You should not enable H.265/HEVC decoder because Firefox does not support HTML5 videos with H.265/HEVC. See for more information:
https://developer.mozilla.org/en-US/docs/Web/Media/Formats
=> Web video codec guide

Take a backup of the modified versions of ffmpeg.spec and enable_decoders.

Start the rebuild:

[CODE]# su

mkdir /usr/src/packages/tmp (if /var/tmp and /tmp are mounted with --noexec mount option)

export TMPDIR=/usr/src/packages/tmp (if /var/tmp and /tmp are mounted with --noexec mount option)

cd /usr/src/packages/SOURCES

rpmbuild -ba --clean ffmpeg.spec

=> wait some minutes[/CODE]

Prepare your SLED installation for RPM package signing with GPG key. Please read:

# man rpmsign

for more information about RPM package signing with GPG.

Install your GPG key for RPM package signing:

[CODE]# su

yast2 repositories

=> button “gpg key”
=> button “add”[/CODE]

Sign the brand new RPM packages with your own GPG key:

[CODE]# rpm --addsign /usr/src/packages/RPMS/x86_64/libavcodec57-3.4.2-4.27.1.x86_64.rpm

rpm --addsign /usr/src/packages/RPMS/x86_64/libavformat57-3.4.2-4.27.1.x86_64.rpm[/CODE]

Sign the brand new RPM source package with your own GPG key:

# rpm --addsign /usr/src/packages/SRPMS/ffmpeg-3.4.2-4.27.1.src.rpm

Check the RPM signatures:

[CODE]# rpm --checksig /usr/src/packages/RPMS/x86_64/libavcodec57-3.4.2-4.27.1.x86_64.rpm
=> libavcodec57-3.4.2-4.27.1.x86_64.rpm: digests signatures OK

rpm --checksig /usr/src/packages/RPMS/x86_64/libavformat57-3.4.2-4.27.1.x86_64.rpm

=> libavformat57-3.4.2-4.27.1.x86_64.rpm: digests signatures OK

rpm --checksig /usr/src/packages/SRPMS/ffmpeg-3.4.2-4.27.1.src.rpm

=> ffmpeg-3.4.2-4.27.1.src.rpm: digests signatures OK[/CODE]

Take a backup of this two new RPM packages and of the new RPM source package.

Install the brand new RPM packages and check the installation of them:

[CODE]# su

zypper install /usr/src/packages/RPMS/x86_64/libavcodec57-3.4.2-4.27.1.x86_64.rpm

zypper install /usr/src/packages/RPMS/x86_64/libavformat57-3.4.2-4.27.1.x86_64.rpm

rpm --verify libavcodec57

rpm --verify libavformat57

rpm --query --info libavcodec57

=> Special version - with H.264/AVC decoder and AAC decoder - license fees may apply.

rpm --query --info libavformat57

=> Special version - with H.264/AVC decoder and AAC decoder - license fees may apply.[/CODE]

Test the brand new RPM’s with some HTML5-Testvideos and HTML5-Audios:
https://tools.woolyss.com/html5-audio-video-tester/

http://camendesign.com/code/video_for_everybody/test.html

http://demo.nimius.net/video_test/

https://base-n.de/webm/VP9%20Sample.html

https://hpr.dogphilosophy.net/test/

Be aware of the still missing hardware video acceleration (by Intel GPU => VA-API) for HTML5-videos in web browser Firefox:
https://bugzilla.mozilla.org/show_bug.cgi?id=563206

thanks, great! :slight_smile: