You are not logged in.

#1 2013-09-20 06:42:02

technolog
Member
From: Europe / Slovenia / Grosuplje
Registered: 2012-01-28
Posts: 117

ffmpeg requires mesa, libgl, wayland and bunch of X stuff. Why?

               mesa-libgl-9.2.0-1  opencore-amr-0.1.3-1  openjpeg-1.5.1-1
               opus-1.0.3-1  orc-0.4.17-1  recode-3.6-7  recordproto-1.14.2-1
               renderproto-0.11.1-2  rtmpdump-20121230-2  schroedinger-1.0.11-1
               sdl-1.2.15-3  speex-1.2rc1-3  v4l-utils-0.9.5-2  wayland-1.2.1-1
               x264-20130702-2  xcb-proto-1.8-2  xextproto-7.2.1-1
               xf86vidmodeproto-2.3.1-2  xproto-7.0.24-1  xvidcore-1.3.2-1

This is in general some of the requirements for ffmpeg on server.

I wouldn't like to have those, since they might be introducing additional vurneabilities. Is there any other way?

Offline

#2 2013-09-20 06:48:23

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: ffmpeg requires mesa, libgl, wayland and bunch of X stuff. Why?

You can edit the PKGBUILD (e.g. via ABS) and see if the package works w/o some of these dependencies. See e.g. https://aur.archlinux.org/packages/ffmpeg-git/

Offline

#3 2013-10-02 17:40:54

DrZaius
Member
Registered: 2008-01-02
Posts: 193

Re: ffmpeg requires mesa, libgl, wayland and bunch of X stuff. Why?

Also remove --enable-x11grab. You don't need this for server. sdl isn't needed either since you're not going to use ffplay.

Offline

#4 2013-10-18 20:08:04

technolog
Member
From: Europe / Slovenia / Grosuplje
Registered: 2012-01-28
Posts: 117

Re: ffmpeg requires mesa, libgl, wayland and bunch of X stuff. Why?

Right, but when I remove configure flag, how can I know which depends shall I remove?

depends=('alsa-lib' 'bzip2' 'freetype2' 'lame' 'libass' 'libfdk-aac-git' 'libtheora' 'libva' 'libvdpau' 'libvorbis' 'libvpx-git' 'opus' 'sdl' 'x264-git' 'zlib')

Offline

#5 2013-10-19 23:34:41

DrZaius
Member
Registered: 2008-01-02
Posts: 193

Re: ffmpeg requires mesa, libgl, wayland and bunch of X stuff. Why?

technolog wrote:

Right, but when I remove configure flag, how can I know which depends shall I remove?

That is not possible to answer without knowing what you intend to do with ffmpeg. Some flags are auto-detected (bzip2, zlib, vaapi, vdpau, etc) you can refer to "./configure --help" or look in the configure file.

  • alsa-lib - For the ALSA input and ALSA output devices

  • bzip2 - Used by the Matroska demuxer for certain (probably oddball) features

  • freetype2 - For the drawtext video filter

  • lame - Use if you need to encode to MP3

  • libass - For the ass and subtitles filters

  • libfdk-aac-git - An AAC encoder (ffmpeg supports others but this is the best one). Include this if you want to encode to AAC-HE and/or AAC-LC.

  • libtheora - For Theora video encoding

  • libva - VAAPI hardware acceleration support for playback of h263, h264, mpeg4, mpeg2, vc1, wmv3

  • libvdpau - Similar to libva

  • libvorbis - For Vorbis audio encoding

  • libvpx-git - For VP8 video encoding

  • opus - For Opus audio decoding and encoding

  • sdl - Used if you want ffplay

  • x264-git - For H.264 video encoding

  • zlib - Required by some encoders and decoders (such as PNG). Required by some demuxers (matroska and mov), or at least for some features

If you don't need any of this stuff then don't include any of these dependencies.

Last edited by DrZaius (2013-10-19 23:40:17)

Offline

#6 2013-11-27 05:17:52

sitquietly
Member
From: On the Wolf River
Registered: 2010-07-12
Posts: 219

Re: ffmpeg requires mesa, libgl, wayland and bunch of X stuff. Why?

technolog wrote:

Right, but when I remove configure flag, how can I know which depends shall I remove?

depends=('alsa-lib' 'bzip2' 'freetype2' 'lame' 'libass' 'libfdk-aac-git' 'libtheora' 'libva' 'libvdpau' 'libvorbis' 'libvpx-git' 'opus' 'sdl' 'x264-git' 'zlib')

Belated reply "just for the record":

A good way to answer dependency questions like this is to find the ebuild for the equivalent Gentoo package at packages.gentoo.org.  It will clearly (or not so clearly but at least it will) map features to configure options and dependencies.  ebuilds may be rather opaque in general but it's not too hard to discern the info you need for a PKGBUILD's configure line and depends array.

The dependency and configuration info in an ebuild is generally accurate because every one of the tens of thousands of Gentoo installations has a different combination of USE flags (different needed features) and builds every package from source so any errors in dependencies or configuration options are generally detected and corrected within a few hours.  The Gentoo package database is a great resource when modifying PKGBUILDs or when trying to write a new PKGBUILD for the AUR. 

Just remember that in Gentoo-speak DEPENDS is the same as makedepends and RDEPENDS is the same as depends (and generally PDEPENDS should become OPTDEPENDS).

Offline

#7 2022-07-03 17:37:17

xerus
Member
Registered: 2021-05-11
Posts: 34

Re: ffmpeg requires mesa, libgl, wayland and bunch of X stuff. Why?

This advice doesn't change the original question - why those weird dependencies?
Almost 10 years later and this is still the case, what the heck?

Offline

#8 2022-07-03 17:39:09

2ManyDogs
Forum Fellow
Registered: 2012-01-15
Posts: 4,645

Re: ffmpeg requires mesa, libgl, wayland and bunch of X stuff. Why?

Please do not necrobump.

Closing.

Offline

Board footer

Powered by FluxBB