4f57b3e921
This seems to not work currently with the Intel binary version of Media SDK. But the correct is to provide this path for ffmpeg to try the hardware accelerated encoders before falling back to software mode. Only software mode seems to be working currently, and then intel-media-sdk optdepend will still remain marked as experimental.
189 lines
5.9 KiB
Bash
189 lines
5.9 KiB
Bash
# Maintainer : Daniel Bermond < yahoo-com: danielbermond >
|
|
# Contributor: Iacopo Isimbaldi <isiachi@rhye.it>
|
|
|
|
pkgname=ffmpeg-full
|
|
_srcname=ffmpeg
|
|
pkgver=3.3.3
|
|
pkgrel=4
|
|
pkgdesc='Record, convert and stream audio and video (all possible features including nvenc, qsv and libfdk-aac)'
|
|
arch=('i686' 'x86_64')
|
|
url='http://www.ffmpeg.org/'
|
|
license=('custom: nonfree and unredistributable')
|
|
depends=(
|
|
# official repositories:
|
|
'glibc' 'alsa-lib' 'jack' 'libpng'
|
|
'bzip2' 'frei0r-plugins' 'libgcrypt' 'gmp' 'gnutls' 'ladspa' 'libass'
|
|
'libbluray' 'libcaca' 'celt' 'libcdio-paranoia' 'libdc1394' 'libavc1394'
|
|
'libfdk-aac' 'fontconfig' 'freetype2' 'fribidi' 'libgme' 'gsm' 'libiec61883'
|
|
'libmodplug' 'lame' 'opencore-amr' 'opencv' 'openjpeg2' 'opus' 'pulseaudio'
|
|
'rubberband' 'rtmpdump' 'schroedinger' 'smbclient' 'snappy' 'libsoxr' 'speex'
|
|
'libssh' 'tesseract' 'libtheora' 'twolame' 'v4l-utils' 'vid.stab' 'libvorbis'
|
|
'libvpx' 'wavpack' 'libwebp' 'libx264.so' 'x265' 'libxcb' 'xvidcore' 'zimg'
|
|
'zeromq' 'zvbi' 'xz' 'netcdf' 'openal' 'opencl-icd-loader' 'mesa' 'openssl'
|
|
'sdl2' 'libx11' 'zlib' 'libomxil-bellagio' 'libva' 'libdrm' 'libvdpau'
|
|
# AUR:
|
|
'chromaprint-fftw' 'libbs2b' 'flite1' 'libilbc' 'kvazaar' 'nut-multimedia-git'
|
|
'openh264' 'libopenmpt-svn' 'sndio' 'shine' 'vo-amrwbenc' 'xavs'
|
|
)
|
|
depends_x86_64=('cuda')
|
|
optdepends_x86_64=(
|
|
# AUR:
|
|
'intel-media-sdk: for Intel QSV support (experimental)'
|
|
)
|
|
makedepends=(
|
|
# official repositories:
|
|
'yasm' 'opencl-headers'
|
|
# AUR:
|
|
'blackmagic-decklink-sdk' 'libmfx'
|
|
)
|
|
provides=(
|
|
'ffmpeg' 'ffmpeg-full-nvenc' 'ffmpeg-nvenc' 'ffmpeg-libfdk_aac' 'ffmpeg-decklink'
|
|
'qt-faststart' 'libavutil.so' 'libavcodec.so' 'libavformat.so' 'libavdevice.so'
|
|
'libavfilter.so' 'libavresample.so' 'libswscale.so' 'libswresample.so'
|
|
'libpostproc.so'
|
|
)
|
|
conflicts=(
|
|
'ffmpeg' 'ffmpeg-full-nvenc' 'ffmpeg-nvenc' 'ffmpeg-libfdk_aac' 'ffmpeg-decklink'
|
|
'ffmpeg-git' 'ffmpeg-full-git' 'ffmpeg-semifull-git' 'ffmpeg-qsv-git'
|
|
)
|
|
source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz"
|
|
'ffmpeg-openjpeg2.2.patch'
|
|
'LICENSE')
|
|
sha256sums=('d2a9002cdc6b533b59728827186c044ad02ba64841f1b7cd6c21779875453a1e'
|
|
'490598f78d7879af8ef5b8d7f92ada83d0ee64f9609f6c7b989eb331c2539f68'
|
|
'04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36')
|
|
|
|
prepare() {
|
|
cd "${_srcname}-${pkgver}"
|
|
patch -Np1 -i "${srcdir}/ffmpeg-openjpeg2.2.patch"
|
|
}
|
|
|
|
build() {
|
|
cd "${_srcname}-${pkgver}"
|
|
|
|
# set x86_64 specific options
|
|
if [ "$CARCH" = 'x86_64' ]
|
|
then
|
|
_cuda='--enable-cuda'
|
|
_cuvid='--enable-cuvid'
|
|
_libnpp='--enable-libnpp'
|
|
_cflags='--extra-cflags=-I/opt/cuda/include'
|
|
_ldflags='--extra-ldflags=-L/opt/cuda/lib64 -Wl,-rpath -Wl,/opt/intel/mediasdk/lib64:/opt/intel/mediasdk/plugins'
|
|
fi
|
|
|
|
msg2 'Running ffmpeg configure script. Please wait...'
|
|
|
|
./configure \
|
|
--prefix='/usr' \
|
|
$_cflags \
|
|
"$_ldflags" \
|
|
\
|
|
--enable-rpath \
|
|
--enable-gpl \
|
|
--enable-version3 \
|
|
--enable-nonfree \
|
|
--enable-shared \
|
|
--disable-static \
|
|
--enable-gray \
|
|
--enable-avresample \
|
|
\
|
|
--enable-avisynth \
|
|
--enable-bzlib \
|
|
--enable-chromaprint \
|
|
--enable-frei0r \
|
|
--enable-gcrypt \
|
|
--enable-gmp \
|
|
--enable-gnutls \
|
|
--enable-iconv \
|
|
--enable-ladspa \
|
|
--enable-libass \
|
|
--enable-libbluray \
|
|
--enable-libbs2b \
|
|
--enable-libcaca \
|
|
--enable-libcelt \
|
|
--enable-libcdio \
|
|
--enable-libdc1394 \
|
|
--enable-libfdk-aac \
|
|
--enable-libflite \
|
|
--enable-fontconfig \
|
|
--enable-libfreetype \
|
|
--enable-libfribidi \
|
|
--enable-libgme \
|
|
--enable-libgsm \
|
|
--enable-libiec61883 \
|
|
--enable-libilbc \
|
|
--enable-libkvazaar \
|
|
--enable-libmodplug \
|
|
--enable-libmp3lame \
|
|
--enable-libnut \
|
|
--enable-libopencore-amrnb \
|
|
--enable-libopencore-amrwb \
|
|
--enable-libopencv \
|
|
--enable-libopenh264 \
|
|
--enable-libopenjpeg \
|
|
--enable-libopenmpt \
|
|
--enable-libopus \
|
|
--enable-libpulse \
|
|
--enable-librubberband \
|
|
--enable-librtmp \
|
|
--enable-libschroedinger \
|
|
--enable-libshine \
|
|
--enable-libsmbclient \
|
|
--enable-libsnappy \
|
|
--enable-libsoxr \
|
|
--enable-libspeex \
|
|
--enable-libssh \
|
|
--enable-libtesseract \
|
|
--enable-libtheora \
|
|
--enable-libtwolame \
|
|
--enable-libv4l2 \
|
|
--enable-libvidstab \
|
|
--enable-libvo-amrwbenc \
|
|
--enable-libvorbis \
|
|
--enable-libvpx \
|
|
--enable-libwavpack \
|
|
--enable-libwebp \
|
|
--enable-libx264 \
|
|
--enable-libx265 \
|
|
--enable-libxavs \
|
|
--enable-libxcb \
|
|
--enable-libxcb-shm \
|
|
--enable-libxcb-xfixes \
|
|
--enable-libxcb-shape \
|
|
--enable-libxvid \
|
|
--enable-libzimg \
|
|
--enable-libzmq \
|
|
--enable-libzvbi \
|
|
--enable-lzma \
|
|
--enable-decklink \
|
|
--enable-netcdf \
|
|
--enable-openal \
|
|
--enable-opencl \
|
|
--enable-opengl \
|
|
--enable-openssl \
|
|
--enable-sdl2 \
|
|
--enable-xlib \
|
|
--enable-zlib \
|
|
\
|
|
$_cuda \
|
|
$_cuvid \
|
|
--enable-libmfx \
|
|
$_libnpp \
|
|
--enable-nvenc \
|
|
--enable-omx \
|
|
--enable-omx-rpi \
|
|
--enable-vaapi \
|
|
--enable-vdpau \
|
|
--enable-videotoolbox
|
|
make
|
|
make tools/qt-faststart
|
|
}
|
|
|
|
package() {
|
|
cd "${_srcname}-${pkgver}"
|
|
make DESTDIR="$pkgdir" install
|
|
|
|
install -D -m755 tools/qt-faststart "${pkgdir}/usr/bin/qt-faststart"
|
|
install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
|
}
|