-
Notifications
You must be signed in to change notification settings - Fork 54
Build FFmpeg
This article describes custom configuration and of FFmpeg for UltraGrid.
You can use latest version of FFMPEG to configure custom codecs or utilize most recent features of libavcodec. In this case:
git clone git://source.ffmpeg.org/ffmpeg.git
Recommended configuration options include these (all platforms, leads to GPL build):
./configure --enable-gpl --enable-libx264 --enable-libopus
Additionally, you may want to add support for HEVC:
./configure ... --enable-libx265
(you may want to download x265 from https://github.com/videolan/x265.git)
Clone this GIT: https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
Then install it:
make
make install
- Then enable support for NVENC in FFMPEG:
./configure ... --enable-nonfree --enable-nvenc
Note: Following setup is not tested yet. For installation and requirements, please refer here.
- Download Intel Media Server Studio (or Intel Media SDK for Windows).
- from the download archive, install SDK - supposing it gets installed to /opt/intel/mediasdk, remove distribution-sticked VA and DRM libs and install them from SDK.
- run:
sudo ln -s /opt/intel/mediasdk/lib/lin_x64/libmfx.a /usr/local/lib
sudo ln -s /opt/intel/mediasdk/include /usr/local/include/mfx
- create file /usr/local/lib/pkgconfig/libmfx.pc with following contents prefix=/opt/intel/mediasdk exec_prefix=({prefix} libdir=){exec_prefix}/lib includedir=({prefix}/include Name: libmfx Description: Intel Media SDK Version: 2015R6 Libs: -L){libdir} -lmfx -lstdc++ -lva-drm -lva -lva-x11 -lva Libs.private: Cflags: -I${includedir}
Configure FFMPEG with following flag:
./configure --enable-libmfx --extra-libs="-ldl"
If you have any technical or non-technical question or suggestion please feel free to contact us at