summaryrefslogtreecommitdiffstats
path: root/multimedia/ffmpeg4/README
blob: 76b26f3a96e858492650f0d3477a522d1669d649 (plain)
ffmpeg4 (Software to record, convert and stream audio and video).

ffmpeg4 should be installable alongside ffmpeg 3.x without conflict.

FFmpeg is a complete solution to record, convert and stream audio
and video. It includes libavcodec, the leading audio/video codec
library.

By default it will not build the ffmpeg binaries or man-pages, in order
not to conflict with an ffmpeg 3.x package. You can change this by
using the following environment variable setting:

  BINS=yes

It can optionally link to a number of extra libraries that are available
on SBo by setting the relevant env vars, which all default to "no":

  CHROMAPRINT=yes    # requires chromaprint
  CUDA=yes           # requires cudatoolkit & nv-codec-headers
  DECKLINK=yes       # requires decklink-sdk
  FREI0R=yes         # requires frei0r
  LADSPA=yes         # requires ladspa_sdk
  LIBBLURAY=yes      # requires libbluray
  LIBBS2B=yes        # requires libbs2b
  LIBCELT=yes        # requires celt
  LIBDC1394=yes      # requires libdc1394
  LIBFDK_AAC=yes     # requires libfdk-aac (non-redistributable)
  LIBFLITE=yes       # requires flite
  LIBGME=yes         # requires libgme
  LIBGSM=yes         # requires gsm
  LIBIEC61883=yes    # requires libiec61883 and libavc1394
  LIBILBC=yes        # requires libilbc
  LIBMODPLUG=yes     # requires libmodplug
  LIBMP3LAME=yes     # requires lame
  LIBOPENCORE=yes    # requires opencore-amr
  LIBOPENCV=yes      # requires opencv
  LIBOPUS=yes        # requires opus
  LIBRTMP=yes        # requires rtmpdump
  LIBRUBBERBAND=yes  # requires rubberband
  LIBSNAPPY=yes      # requires snappy
  LIBSPEEX=yes       # requires speex
  LIBTESSERACT=yes   # requires tesseract
  LIBTWOLAME=yes     # requires twolame
  LIBVIDSTAB=yes     # requires vid.stab
  LIBXVID=yes        # requires xvidcore
  LIBZMQ=yes         # requires zeromq
  LIBZVBI=yes        # requires zvbi

By default, ffmpeg4 is built to link with openssl. This creates a non-
redistributable binary (just like linking with libfdk-aac does). If you
want a redistributable binary you can change from linking with openssl
to linking with gnutls instead by setting:

  OPENSSL=no
  GNUTLS=yes

Both of these libraries are available in Slackware itself.

There are a few other libraries available in Slackware that are also
linked to by default, and you can disable them by changing the default
of "yes" to "no" with the following settings:

  LIBAOM=no
  LIBCACA=no
  LIBCDIO=no
  LIBFONTCONFIG=no
  LIBFREETYPE=no
  LIBFRIBIDI=no
  LIBOPENJPEG=no
  LIBPULSE=no
  LIBSMBCLIENT=no
  LIBSSH=no
  LIBTHEORA=no
  LIBV4L2=no
  LIBVORBIS=no
  LIBVPX=no
  LIBWAVPACK=no
  LIBWEBP=no
  LIBX264=no
  LIBX265=no
  OPENGL=no

To link to this version of the ffmpeg libraries, you'll need to set
the PKG_CONFIG_PATH to "/usr/lib${LIBDIRSUFFIX}/ffmpeg4/pkgconfig"
where ${LIBDIRSUFFIX} is either 64 or an empty string, depending on
your architecture.